English [en]   العربية [ar]   español [es]   français [fr]   hrvatski [hr]   한국어 [ko]   polski [pl]   română [ro]   русский [ru]  

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

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

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

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

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

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

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

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

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

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

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

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

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

Более того, программы-услуги автоматически ведут к вредным последствиям, которые эквивалентны вредоносным особенностям определенных несвободных программ. Например, некоторые свободные программы “шпионят”: программа высылает данные о вычислительной деятельности пользователя. Microsoft Windows посылает сведения о деятельности пользователей в Microsoft. Windows Media Player и RealPlayer докладывают, что смотрит и слушает каждый пользователь.

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

Некоторые несвободные программы по команде из сети могут поступать вероломно по отношению к пользователю. Например, у Windows есть черный ход, по которому Microsoft может принудительно изменять любую программу на машине. У программы для чтения электронных книг Amazon Kindle (название Kindle (зажигать) говорит о том, что она предназначена для сжигания книг пользователей) есть оруэлловский черный ход, которым компания Amazon воспользовалась в 2009 году для дистанционного удаления копий книг Оруэлла “1984” и “Скотный двор”, приобретенных пользователями у Amazon.

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

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

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

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

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

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

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

Отличие программ-услуг от других сетевых услуг

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

Изначально назначением серверов Интернета было не производить для вас вычисления, а предоставлять вам доступ к информации. Даже сегодня именно этим занимается большинство сайтов, а это не приводит к проблеме программ-услуг, потому что доступ к чьим-либо опубликованным сведениям не имеет отношения к вашим собственным вычислениям. Точно так же, как публикация ваших собственных материалов на сайте блогов или такой службе микроблогов, как Twitter или identi.ca. То же самое касается сообщений, которые не подразумевается хранить в тайне, таких, как форумы. Социальные сети могут переходить в программы-услуги, однако в основе своей это только средства связи и публикации, а не программы-услуги. Если вы пользуетесь службой для небольших правок того, что вы собираетесь передать, это не имеет значения.

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

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

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

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

Групповые игры — это коллективная деятельность, проводимая на чьем-то чужом сервере, и это делает их программами-услугами. Но там, где данные — это только состояние игры и счет, оператор в худшем случае может дать кому-то фору. Этот риск вполне можно игнорировать, поскольку он маловероятен и вреда может нанести не много. С другой стороны, когда игра становится больше, чем просто игрой, это меняет дело.

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также:

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

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

к началу