GNU.RU ждет своего разработчика.

Присылайте предложения на max@hobot.ru


Проект GNU: история, философия, современность

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

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

"За нашу и вашу свободу"

Проект GNU, пожалуй, выступил инициатором наиболее значимых социальных последствий информатизации общества. Отправной точкой проекта принято считать 1983-й год. В это время его автор, известный программист, создатель популярного текстового редактора EMACS Ричард Столлмен (Richard Stallman, которого в Сети знают еще как RMS) работал в Лаборатории искусственного интеллекта Массачусетского Технологического Института (MIT AI Lab). Основу машинного парка MIT составляли системы PDP-10, для которых было накоплено громадное количество программного обеспечения, основой которого была разработанная программистами MIT операционная система ITS. Это программное обеспечение могли использовать все желающие без каких-бы то ни было ограничений, и оно непрерывно совершенствовалось, благодаря свободному обмену идеями. Начало 80-х годов ознаменовалось закатом этой архитектуры, которая уступила натиску более современных систем, особенно VAX. Подробное изложение событий тех лет можно прочесть в истории Проекта GNU.

Естественное, казалось бы, течение технического прогресса имело неприятный побочный эффект. К этому времени производство компьютерных программ превратилось в серьезный бизнес, управляемый уже не столько техническими соображениями, сколько законами конкуренции. Разработчики программ начали пользоваться своими авторскими правами, как средством заставить пользователей придерживаться многочисленных правил. Перечислять здесь эти правила, видимо, нет необходимости, поскольку они широко известны. Когда в 1982-м году администрация AI Lab приняла решение использовать на очередном приобретенном компьютере программное обеспечение, разработанное фирмой-производителем, свобода пользования которым была ограничена лицензией, сотрудники, привыкшие к иным взаимоотношениям, восприняли это по-разному. Некоторые смирились, некоторые---нет.

К последним принадлежал и Ричард Столлмен. Он выбрал решение проблемы, простое и сложное одновременно. Простое---потому, что если вы не удовлетворены существующим программным обеспечением, можно его попросту написать самому. Сложное---потому, что для полного устранения зависимости от производителей программ потребуется переписать все программное обеспечение для данной машины, а это, понятно, сделать исключительно нелегко. Нелегко и даже невозможно, если только ... не обратиться за помощью к самим пользователям, которые с появлением такой системы вновь обретут утраченную свободу! И RMS обратился ко всем желающим, опубликовав Предварительный анонс Проекта GNU. В нем он сообщал, что начинает реализацию нового программного проекта под названием GNU, что значит "Gnu's Not Unix" (GNU, не Unix). Ключевая цель проекта подробно изложена в более поздней работе, Манифест GNU, где обоснованно показана выгода использования свободных программ.

Идея "освобождения" оказалась подхваченной множеством программистов, которые начали разрабатывать свободные программы для решения своих собственных задач. Неизбежно возник вопрос их взаимодействия друг с другом. Еще в своих первых статьях по проекту GNU Ричард Столлмен предложил использовать в качестве общего прототипа Unix, чтобы впоследствие обеспечить интеграцию свободных программ в единую систему, но проблемы совместимости все же имели место. Кроме того, поскольку все участники проекта работали над теми задачами, которые были интересны именно им, многие важные области были не охвачены вниманием. В общем, работа требовала явных усилий по координации. И Столлмен, последовательно продолжая курс, изложенный в Манифесте, организовал Фонд Свободного Программного Обеспечения (Free Software Foundation), который ставит своей задачей координацию усилий независимых разработчиков, а также занимается разработкой свободных программ---в штате Фонда имеются программисты, которые реализуют требуемые свободной ОС программы, которые по различным причинам не нашли себе добровольцев-разработчиков.

Проект сегодня

Фонд Свободного ПО занимается, помимо разработки программ и координации проекта, и его пропагандой среди пользователей компьютеров. Основным положением "философии" Проекта GNU является свобода программного обеспечения. Особое внимание уделяется вопросу защиты свободы программ от не слишком честных отдельных производителей ПО, которые могли бы "прихватизировать" свободную программу, и навязать свои ограничительные условия пользователям. С этой целью программы проекта GNU не объявляются объектами "общественной собственности" (public domain), а считаются объектом авторского права своих создателей. Но, в отличие от прочих разработчиков, авторы свободных программ применяют право контролировать использование своего произведения совершенно по-другому. Вместо навязывания пользователям ограничений и запретов, они устанавливают, что использование ПО должно подчиняться Универсальной Общественной Лицензии GNU (GNU General Public License, кратко GNU GPL), или другой свободной лицензии. Таким образом, авторское право на свободную программу играет роль, противоположную общепринятой, поскольку служит не ограничению пользователей, а наоборот, гарантирует их свободу. Принцип, что никто не вправе накладывать на программу дополнительные ограничения, получил шуточное название "авторское лево" (copyleft). (Не все свободные лицензии практикуют "авторское лево".)

На сайте проекта размещена подборка статей под общим названием "Философия проекта GNU" (Philosophy of the GNU Project, имеется русский перевод многих статей), в которой достаточно подробно излагаются социальные и экономические преимущества свободы ПО, так что желающие могут ознакомиться с этими документами самостоятельно. Автору же этой работы хотелось бы обратить внимание на некоторые проблемы, характерные именно для русской терминологии.

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

Свободно распространяемыми, или свободными, называют продукты, которые можно получить бесплатно, да к тому же с исходными кодами (в английском и свободные, и бесплатные продукты называют одним словом---free, что вызывает страшную путаницу).

Такое определение нельзя считать полностью корректным, поскольку не учитываются такие особенности:

  1. Свободное ПО можно распространять за деньги (пример --- RedHat & Co.)

  2. Бесплатно распространяется и ПО без исходных текстов (пример --- FAR на условиях exUSSR-лицензии).

  3. Не все, что распространяется с исходными текстами и бесплатно, можно назвать свободным:

    • некоторые программы распространяются бесплатно и в исходниках, но не позволяют модификаций (библиотека Qt версии 1.2.1.)

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

    • и т.д.

  4. Упоминая распространение на условиях GPL, очень неплохо было бы отметить, что это не просто "свободное ПО", а "ПО на условиях авторского лева" (разница в том, что никто не вправе ограничить дальнейшее свободное использование этого ПО, в то время как для продуктов, не подчиняющихся "авторскому леву" такое в принципе возможно.)

Как можно видеть, перечисленные выше варианты русских аналогов free software не полностью отражают особенности точного определения "свободного ПО".

Quo vadis?

История---вещь, как известно, темная, и многочисленные прогнозы опровергает с завидным постоянством. Но все же попробуем взглянуть и на перспективы Проекта GNU.

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

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

Наконец, в последние годы система GNU/Linux пользуется все возрастающим вниманием крупных компаний-производителей программ и "железа". Внимание это уже сейчас достаточно велико, чтобы надеяться на решение в скором будущем проблем с нехваткой некоторых разновидностей программ. (Правда, вопрос, насколько удачной будет такая интеграция крупного бизнеса с уже сформировавшимся свободным сообществом, остается открытым.)

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

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

Прежде всего, следует отметить наметившийся раскол свободного сообщества на две ветви, условно называемые "Движение за свободу ПО" (Free Software Movement) и "Инициатива открытых исходников" (Open Source Initiative). Причина раскола носит весьма глубокий идеологический характер, и ситуация имеет тенденцию к ухудшению. С подробностями можно познакомиться на сайте Проекта GNU.

Другая опасность связана с достижением GNU/Linux в своем развитии уровня, который придает системе заметный вес в глазах крупных компаний-разработчиков ПО. К сожалению, этот факт не только привлекает к системе инвесторов, но и вводит ее в мир "жесткой игры"---конкуренции, методы которой не всегда добросовестны.

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

Заключение

История Проекта GNU еще не завершилась. Она пишется на наших глазах, причем не всемогущими корпорациями-супергигантами, а яркими, неординарными личностями, такими, как Ричард Столлмен. Его жизнь---прекрасный пример того, как человек, у которого есть большая Цель, может изменить этот мир, несмотря на известную поговорку, что "один в поле не воин".

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


Эта статья была впервые опубликована в сетевом Русском Журнале. 
Данный вариант не является точной копией опубликованного. Распространяется с разрешения редакции Русского Журнала.
URL:  http://www.russ.ru/netcult/20000904_korop.html © 2000 Сергей Короп <svk@lib.ru>
Конструктивные комментарии и критика будут с благодарностью рассмотрены.
Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.