English [en]   العربية [ar]   español [es]   français [fr]   hrvatski [hr]   italiano [it]   日本語 [ja]   한국어 [ko]   polski [pl]   română [ro]   русский [ru]   українська [uk]  

Тридцать лет Фонд свободного программного обеспечения был светочем движения за свободные программы, сражаясь за свободу пользователей.

Помогите поддержать наш яркий огонь пожертвованием, которое продвинет нас к цели собрать 450 000$ к 31 января.

450к
314 к собрано

Это перевод страницы, написанной на английском языке.

Кого на самом деле обслуживает сервер?

Ричард Столмен

(Первая версия была опубликована в Бостон ревью)

В Интернете вы можете потерять свободу не только с помощью несвободных программ. “Услуги вместо программ” — еще один способ передать другим власть над вашими вычислениями.

Услуга вместо программы означает услугу, реализованную кем-то другим как замену выполнения вами своей копии программы. Это наше выражение; в статьях и в рекламе оно не употребляется, и там не говорится, что это услуги вместо программ. Вместо этого они применяют расплывчатое и отвлекающее слово “облачный”, которое сваливает услуги вместо программ в одну кучу с другими методами, некоторые из которых предосудительны, а некоторые — нет. Следуя объяснениям и примерам, данным на этой странице, вы можете определить, является ли услуга услугой вместо программы.

Обзор: как несвободные программы отнимают у вас свободу

Цифровая техника может дать вам свободу; она также может вашу свободу отнять. Сперва вашему контролю над своими вычислениями угрожали несвободные программы: программы, которые пользователи не могут контролировать, потому что их контролирует владелец (такая компания, как Apple или Microsoft). Владелец часто пользуется этой несправедливой властью, вставляя такие вредоносные особенности, как черные ходы, слежка и цифровое управление ограничениями (которое их пропаганда называет “управлением цифровыми правами”).

Наше решение этой проблемы — разработка свободных и отказ от несвободных программ. Свобода программы означает, что у вас как пользователя есть четыре важных свободы: (0) выполнять программу, как вам угодно; (1) изучать и править исходный текст программы, чтобы она делала, что вам угодно; (2) распространять точные копии; и (3) распространять измененные вами версии (см. определение свободной программы).

Свободные программы позволяют нам, пользователям, снова получить контроль над своими вычислениями. Несвободные программы по-прежнему существуют, но мы можем исключить их из своей жизни, и многие из нас сделали это. Однако сейчас нам предлагают новый заманчивый способ отказаться от контроля над своими вычислениями: услугами вместо программ. Ради своей свободы мы должны отказаться и от них.

Как услуги вместо программ отнимают вашу свободу

“Услуга вместо программы” означает пользование услугой как заменой выполнения вами своей копии программы. Конкретно это значит, что кто-то устанавливает в сети сервер, который решает определенные вычислительные задачи, например, изменяет фотографии, переводит текст с одного языка на другой и т. д. — а затем приглашает пользователей выполнять вычисления с помощью этого сервера. Пользователь сервера посылает свои данные на сервер, который проводит собственные вычисления этого пользователя по предоставленным таким образом данным, а затем высылает назад пользователю результаты или непосредственно производит действия от имени пользователя.

Это собственные вычисления пользователя постольку, поскольку пользователь мог бы в принципе провести их, выполняя программу на своем собственном компьютере (независимо от того, доступна для пользователя в настоящий момент эта программа или нет). В случаях, когда это предположение не выполняется, это не услуга вместо программы.

Эти серверы вырывают контроль из рук пользователей еще более неумолимо, чем несвободные программы. В случае несвободной программы у пользователя обычно есть исполняемый файл, но нет исходного текста. Это сильно затрудняет изучение программы, которая выполняется, так что трудно определить, чем в действительности занята программа, и трудно изменить ее.

В случае услуги вместо программы у пользователя нет даже исполняемого файла программы, которая проводит его вычисления: он находится на чужом сервере, где пользователи его не видят и не осязают. Таким образом, для них невозможно проверить, чем в действительности занята программа, и невозможно изменить ее.

Более того, услуга вместо программы автоматически приводит к последствиям, которые эквивалентны вредоносным особенностям определенных несвободных программ.

Например, некоторые несвободные программы “шпионят”: программа высылает данные о вычислительной деятельности пользователя. Microsoft Windows посылает сведения о деятельности пользователей в Microsoft. Windows Media Player докладывает, что смотрит и слушает каждый пользователь. Amazon Kindle докладывает, в какие страницы каких книг заглядывает пользователь и когда он это делает. Angry Birds докладывает об истории перемещения пользователя по земному шару.

В отличие от несвободных программ, услугам вместо программ не требуется потайных подпрограмм, чтобы получать данные пользователя. Вместо этого пользователи должны посылать данные на сервер, чтобы пользоваться им. Это приводит к тем же результатам, что программы-шпионы: оператор сервера получает данные — без дополнительных усилий, в силу самой природы услуги. Эми Уэбб, не собиравшаяся никогда размещать в сети фотографии своей дочери, совершила ошибку, пользуясь услугой вместо программы (Instagramm), чтобы редактировать ее фотографии. В конце концов оттуда произошла утечка фотографий.

Теоретически, гомоморфное шифрование могло бы когда-нибудь достинуть высот, на которых будущие услуги-замены программ можно было бы проектировать так, чтобы было невозможно расшифровывать какие-то из присылаемых пользователями данных. Такие службы можно было бы организовать так, чтобы они не подглядывали за пользователями; но это не значит, что они не будут подглядывать.

В некоторых несвободных операционных системах есть универсальный черный ход, позволяющий кое-кому удаленно устанавливать измененные программы. Например, в Windows есть универсальный черный ход, через который Microsoft может принудительно изменять любые программы на машине. Они есть и почти во всех мобильных телефонах. У некоторых несвободных приложений также есть универсальный черный ход; например, клиент Steam для GNU/Linux позволяет разработчику удаленно устанавливать измененные версии.

В случае услуг вместо программ оператор сервера может изменять используемые программы на сервере. Он должен быть в состоянии делать это, поскольку это его компьютер; но результат оказывается таким же, как при пользовании несвободной прикладной программой с универсальным черным ходом: кое у кого есть власть молча навязывать изменения в том, как проводятся вычисления пользователя.

Таким образом, услуга вместо программы означает выполнение несвободной программы со слежкой и универсальным черным ходом. Она дает оператору сервера несправедливую власть над пользователем, и установлению этой власти мы должны сопротивляться.

Услуги вместо программ и программы-услуги

Первоначально мы ссылались на эту проблематичную практику как на “программы-услуги” (SaaS). Это общеупотребительное выражение, означающее установку программы на сервере вместо того, чтобы предлагать ее копии пользователям, и мы думали, что оно описывает именно те случаи, в которых возникает проблема.

Впоследствии мы узнали, что выражение “программа-услуга” иногда употребляется для обозначения услуг связи — деятельности, для которой эта проблема не стоит. Кроме того, выражение “программа-услуга” не объясняет, чем плоха эта практика. Так что мы выработали выражение “услуга вместо программы”, которое более ясно определяет порочную практику и поясняет, чем она плоха.

Разделение проблем услуг вместо программ и несвободных программ

Услуги вместо программ и несвободные программы ведут к сходным вредным последствиям, но механизмы этого различны. В случае несвободных программ у вас установлена и применяется копия, изменять которую трудно и незаконно. В случае услуг вместо программ у вас нет копии программы, которая проводит ваши вычисления.

Эти две проблемы часто смешивают, и это не случайно. Разработчики программ для Интернета пользуются туманным термином “интернет-приложение”, чтобы свалить в одну кучу программы сервера и программы, которые выполняются на вашей машине в браузере. Некоторые сайты устанавливают вам в браузер нетривиальные и даже крупные программы на языке JavaScript, не говоря вам об этом. Когда эти программы несвободны, они ведут к несправедливости того же рода, что и любые другие несвободные программы. Однако здесь мы рассматриваем проблему использования самой услуги.

Многие сторонники свободных программ полагают, что разработка свободных программ для серверов решит проблему услуг вместо программ. Для оператора сервера лучше, когда программы на сервере свободны; если они несвободные, у их владельцев (разработчиков) есть власть над сервером. Это несправедливо по отношению к оператору сервера и ничем не помогает пользователям сервера. Но если программы на сервере свободны, это не защищает пользователей сервера от действия услуг вместо программ. Они дают свободу оператору сервера, но не его пользователям.

Публикация исходных текстов программ сервера для общества полезна: она позволяет достаточно компетентным пользователям организовать подобные серверы, возможно, с измененными программами. Мы рекомендуем применять GNU Affero GPL в качестве лицензии программ, часто используемых на серверах.

Но ни один из этих серверов не даст вам контроля над вычислениями, которые вы на нем проводите, если это не ваш сервер (корпус программ которого вы контролируете, независимо от того, является ли машина вашей собственностью). Может быть допустимо доверять некоторые работы серверу своего приятеля, точно так же, как вы могли бы позволить своему приятелю администрировать программы на вашем компьютере. Все прочее является для вас услугой вместо программы. Услуга вместо программы всегда подчиняет вас власти оператора сервера, и единственное средство от этого — не пользуйтесь услугами вместо программ! Не пользуйтесь каким бы то ни было чужим сервером для своей собственной обработки данных, предоставленных вами.

Эта проблема показывает, как глубока разница между “открытым” и “свободным”. Исходный текст, который открыт, почти всегда свободен. Однако мысль об “открытых программных” услугах, то есть услугах, в которых программы сервера являются свободными или программами с открытым исходным текстом, не решает проблемы услуг вместо программ.

Службы принципиально отличаются от программ, и этические проблемы, поднимаемые службами, принципиально отличаются от проблем, поднимаемых программами. Чтобы избежать путаницы, мы избегаем описывать службы как “свободные” или “несвободные”.

Различие между услугами вместо программ и другими сетевыми услугами

Какие сетевые службы представляют собой услуги вместо программ? Самый яркий пример — служба перевода, которая переводит (например) английский текст на испанский. Перевод текста для вас является чисто вашим вычислением. Вы могли бы делать это, выполняя программу на своем собственном компьютере, если только у вас была бы подходящая программа (чтобы быть этичной, эта программа должна быть свободной). Служба перевода заменяет эту программу, так что это услуга вместо программы. Поскольку она отказывает вам в контроле над вашими вычислениями, она поступает с вами дурно.

Другой яркий пример — применение такой службы, как Flickr или Instagram, для изменения фотографии. Изменение фотографии — деятельность, которую люди проводили на своих компьютерах десятилетиями; проведение этой обработки на сервере, который вы не контролируете, а не на вашем собственном компьютере, является услугой вместо программы.

Отказ от программ-замен услуг не означает отказ от пользования любыми сетевыми серверами, которые контролируете не вы. Для большинства серверов проблема программ вместо услуг не стоит, потому что задачи, которые они решают, представляют того или иного рода связь, а не собственные вычисления пользователя.

Изначально идея серверов Интернета состояла не в том, чтобы производить для вас вычисления, а в том, чтобы предоставлять вам доступ к информации. Даже сегодня именно этим занимается большинство сайтов, а это не приводит к проблеме услуг вместо программ, потому что доступ к чьим-либо опубликованным сведениям не является вашим собственным вычислением. Ни пользование сайтом блогов для публикации собственных произведений или пользование такой службой микроблогов, как Twitter или StatusNet (эти службы могут представлять, а могут не представлять проблемы, в зависимости от деталей). То же самое касается другой связи, которую не подразумевается хранить в тайне, такой, как форумы.

По сути своей социальные сети представляют собой разновидность связи и публикаций, а не услуги вместо программ. Однако у службы, главная функция которой состоит в поддержании социальной сети, могут быть возможности или расширения, которые являются услугами вместо программ.

То, что служба не является услугой вместо программы, не значит, что в ней нет ничего дурного. У служб есть и другие этические проблемы. Например, Facebook распространяет видео в формате Flash, это принуждает пользователей к применению несвободных программ; он требует выполнения несвободной программы на JavaScript; кроме того, сайт создает у пользователей ложное ощущение конфиденциальности, соблазняя в то же время их обнажать свою жизнь перед Facebook. Это тоже важные вопросы, но эта статья посвящена проблеме услуг вместо программ.

Такие службы, как поисковые серверы, собирают данные по всему Интернету и позволяют вам исследовать их. Просмотр собранных ими данных — не ваши собственные вычисления в обычном смысле (вы не предоставляете этих собранных данных), так что когда такой службой пользуются для поиска в Интернете, это не услуга вместо программы. Однако если вы пользуетесь чужим сервером, чтобы реализовать средство поиска на собственном сайте, то это является услугой вместо программы.

Покупки по сети — не услуга вместо программы, потому что эти вычисления не ваша собственная деятельность; они проводятся совместно с вами для вас и магазина. В действительности проблема покупок по сети состоит в том, доверяете ли вы другой стороне свои деньги и другие сведения о своей личности (начиная с вашего имени).

Такие сайты-хранилища, как Savannah и SourceForge, не обязательно являются услугами вместо программ, потому что их работа заключается в публикации передаваемых в них данных.

Пользование совместными серверами проекта — не услуга вместо программы, потому что вычисления, которые вы таким образом проводите, не являются вашими собственными. Например, если вы правите страницы Википедии, вы не проводите своих собственных вычислений: вы принимаете участие в вычислениях Википедии. Википедия контролирует свои собственные серверы, но как организации, так и частные лица сталкиваются с проблемой услуг вместо программ, если они проводят свои вычисления на чужом сервере.

Некоторые сайты предлагают несколько услуг, и если одна из них не является услугой вместо программы, то другая может ею быть. Например, главная услуга сайта Facebook — социальная сеть, и это не услуга вместо программы; однако он поддерживает приложения третьих сторон, некоторые из которых являются услугами вместо программ. Главная услуга сайта Flickr — распространение фотографий, и это не услуга вместо программы, но у него есть также возможности редактирования фотографий, а это — услуга вместо программы. Точно так же применение сайта Instagram для публикации фотографии не является услугой вместо программы, но применение его для преобразования фотографии ею является.

Пример Google Docs показывает, как сложно может быть оценить одну-единственную службу. Они приглашают людей редактировать документы, выполняя крупную несвободную программу на JavaScript, что уже плохо. Однако они предлагают протокол для загрузки и извлечения документов в стандартных форматах. Свободная программа — редактор может делать это по этому протоколу. Эта схема пользования не является услугой вместо программы, потому что в этом случае Google Docs применяется просто как хранилище. Показывать все свои данные компании плохо, но это проблема конфиденциальности, а не услуг вместо программ; зависимость доступа к вашим данным от службы — это плохо, но это проблема риска, а не услуг вместо программ. С другой стороны, применение службы для преобразования формата документов является услугой вместо программы, потому что это нечто, что вы могли бы сделать, выполнив соответствующую программу (свободную, мы надеемся) на своем собственном компьютере.

Конечно, с помощью свободного редактора службой Google Docs пользуются редко. Чаще всего ею пользуются с помощью несвободной программы на JavaScript, которая так же плоха, как любая несвободная программа. В эту схему могла бы входить и услуга вместо программы; это зависит от того, какая часть редактирования проводится в программе на JavaScript, а какая — на сервере. Мы этого не знаем, но поскольку услуги вместо программ и несвободные программы сходным образом несправедливы к пользователю, знать это не так важно.

При публикации с помощью чужого хранилища вопросы конфиденциальности не возникают, но при публикации с помощью Google Docs возникает особая проблема: невозможно даже просмотреть текст документа Google Docs в браузере без несвободной программы на JavaScript. Таким образом, вам не следует пользоваться Google Docs для публикации чего бы то ни было — но причина этого не связана с проблемой услуг вместо программ.

Информационная промышленность поощряет пользователей не проводить этих различий. Именно для этого употребляется звучное выражение “облачные вычисления”. Этот термин настолько расплывчат, что он может относиться почти к любому применению Интернета. Он включает услуги вместо программ, а также много других схем применения сети. В любом данном контексте автор, который пишет “облачные” (если это технический специалист), вероятно, держит в уме что-то конкретное, но обычно не объясняет, что в других статьях это выражение принимает другие конкретные значения. Выражение вынуждает людей делать обобщения о методах, которые они должны рассматривать по отдельности.

Если “облачные вычисления” что-то и означают, то это не метод вычислений, а образ мыслей о вычислениях, наплевательский подход: “Не задавай вопросов. Не беспокойся о том, кто контролирует твои вычисления и кто держит твои данные. Не проверяй, не спрятан ли в услуге крючок, пока его не заглотишь. Доверяй компаниям без колебаний”. Другими словами, “будь простофилей”. Облако в уме может помешать мыслить ясно. Для ясности мышления о вычислительной техники давайте избегать слова “облачные”.

Аренда сервера, отличная от услуг вместо программ

Если вы арендуете сервер (настоящий или виртуальный), корпус программ которого вы контролируете, это не услуга вместо программ. В случае услуги вместо программ кто-то другой решает, какие программы работают на сервере, и тем самым контролирует вычисления, которые сервер для вас проводит. В случае когда вы устанавливаете программы на сервере вы контролируете, какие вычисления он для вас проводит. Итак, арендованный сервер по сути является вашим компьютером. В контексте этой проблемы его можно считать вашим.

Данные на арендованном сервере защищены хуже, чем если бы он был у вас дома, но эта проблема не связана с услугами вместо программ.

Решение проблемы услуг вместо программ

Только небольшая доля сайтов Интернета предлагает услуги вместо программ; большинства из них эта проблема не касается. Но что делать с теми, которых это касается?

В простейшем случае, когда вы проводите собственные вычисления над своими данными, решение просто: пользуйтесь своей собственной копией свободной программы. Редактируйте свой текст в своей копии свободного текстового редактора, такого, как GNU Emacs или свободный текстовый процессор. Редактируйте свои фотографии в своей копии свободной программы, такой, как GIMP. А если нет никакой свободной программы? Несвободная программа или услуга вместо программы отняла бы у вас свободу, так что вам не следует ими пользоваться. Вы можете вложить свое время или деньги в разработку свободной замены.

А как сотрудничать с другими людьми в группе? В настоящее время это может быть трудно без использования сервера, а в вашей группе могут не знать, как организовать собственный сервер. Если вы используете чужой сервер, не полагайтесь хотя бы на сервер, администрируемый компанией. Просто заключив соглашение как клиент, вы не защищены, пока вы не в состоянии обнаружить нарушение и по-настоящему подать в суд, а компания, вероятно, составляет контракты так, чтобы злоупотребления допускались в широких пределах. Государство может затребовать ваши данные от компании, вместе с данными всех других людей, как это сделал Обама с телефонными компаниями, если только компания не предоставит их добровольно, как телефонные компании США, которые нелегально передавали разговоры своих клиентов Бушу. Если вам необходим сервер, пользуйтесь сервером операторов, которым вы можете доверять не только на основании коммерческих отношений.

Однако в долгосрочной перспективе мы можем создать альтернативы серверам. Например, мы можем создать децентрализованную программу, с помощью которой сотрудники смогут обмениваться зашифрованными данными. Сообществу свободного программного обеспечения следует разработать распределенные одноранговые замены важнейших “интернет-приложений”. Возможно, было бы мудро выпускать их под GNU Affero GPL, поскольку это подходящие кандидатуры для обращения их кем-нибудь в программы, которые базируются на сервере. Проект GNU ищет добровольцев для работы над такими заменами. Мы также призываем другие проекты по разработке свободных программ учитывать эту проблему в своей работе.

А пока, если компания приглашает вас пользоваться ее сервером для ваших собственных вычислительных задач, не уступайте ей; не пользуйтесь услугами вместо программ. Не покупайте и не устанавливайте “тонкие клиенты”, которые представляют собой не что иное, как компьютеры, настолько слабые, что вы вынуждены делать всю настоящую работу на сервере, если только вы не собираетесь использовать их со своим сервером. Пользуйтесь настоящим компьютером и храните свои данные на нем. Выполняйте свои собственные вычисления с помощью своей копии свободной программы — ради вашей собственной свободы.

См. также:

Ошибка, в которой никому не позволено разобраться

[Эмблема ФСПО]“Наша задача — сохранение, защита и поддержка свободы использования, изучения, модификации, копирования и распространения компьютерных программ, а также защита прав пользователей свободных программ”.

Фонд свободного программного обеспечения — ведущая организация, ответственная за разработку операционной системы GNU. Поддержите GNU и ФСПО покупкой руководств и других товаров, присоединением к ФСПО в качестве члена-партнера или пожертвованиями, прямо в фонд или по Flattr.

к началу