Биография Richard Stallman
[align=justify]Проект GNU
(The GNU Project)
Ричард Столлмен (Richard Stallman)
Сергей Короп (пер. с англ.)
впервые опубликовано в книге «Open Sources»
Первое общество «программной взаимопомощи»
Когда я начинал работать в MIT Artificial Intelligence Lab (Лаборатория искусственного интеллекта Массачусетского Технологического Института, далее AI Lab) в 1971, я стал членом общества «программной взаимопомощи» (software-sharing community), существовавшего уже много лет <…> Мы не называли наши программы «свободным ПО», поскольку этот термин еще не существовал, хотя они были таковыми. Если сотрудники других университетов или компаний желали перенести программу на свои машины и применять ее для своих целей, мы с радостью позволяли сделать это. Если вы видели, что кто-то использует необычную и интересную программу, всегда было возможно попросить ее исходные тексты, так что вы могли ознакомиться с программой, изменить ее либо использовать ее фрагменты в новой программе.
Гибель сообщества
<…> Сообщество хакеров1 AI lab распалось незадолго до <…> [80-х годов — прим.]. <…> Современные компьютеры тех лет, такие, как VAX или 68020, имели собственные операционные системы, но ни одна из них не была свободной: вы обязаны были подписать обязательство нераспространения даже чтобы получить исполнимый код.
Это значило, что первым шагом в использовании компьютера стало обещание не помогать окружающим. Сотрудничество тем самым было запрещено. Собственники программ установили правило: «Если вы поделились программой с вашим соседом, вы пират. Если вам требуются модификации, умоляйте нас реализовать их».
Идея, что общество, основанное на принципах собственнического ПО — общество, которое запрещает вам делиться либо изменять программы — антисоциально, неэтично и попросту неправильно, может удивить некоторых читателей. Но что еще мы можем сказать о системе, основанной на разобщении людей и оставляющей пользователей беспомощными? Те читатели, которые удивлены нашей идеей, возможно, воспринимают социальную систему собственнического ПО как данность, либо судят о ней в терминах, принятых в программном бизнесе. Производители программного обеспечения на славу потрудились, чтобы убедить общество в существовании единственной точки зрения на проблему, <…> что мы никогда не имели бы полезных программ (либо программы для некоторой конкретной задачи), если бы не вручили компании власть над пользователями.
Это предположение могло казаться состоятельным, пока движение за свободное ПО не продемонстрировало, что мы можем создать множество полезных программ, не заковывая их в цепи. Если мы <…> оценим ситуацию, основываясь на общепринятых моральных нормах, наделяя преимуществом пользователей, мы придем к совершенно иным выводам. Оказывается, что пользователям следует иметь право модифицировать программы, чтобы удовлетворить свои нужды, и право распространять программы, поскольку помогать друг другу является основой общества <…>
Проблема морального выбора
Когда наше сообщество распалось, жить по-прежнему стало невозможным. Вместо этого я очутился перед моральной дилеммой.
Легким путем было бы присоединиться к миру собственнического ПО, подписать соглашение о нераспространении и пообещать не помогать моим приятелям. Вероятнее всего, мне бы далее также пришлось разрабатывать программы, распространяемые на тех же условиях, и этим усилить давление на других людей, вынуждая их тоже предать своих друзей.
Я мог бы зарабатывать деньги этим путем, и возможно, даже наслаждался бы, создавая программы. Но я знал, что в конце своей карьеры оглянусь назад, на годы, потраченные на возведение стен между людьми, и пойму, что истратил свою жизнь, делая наш мир хуже.
Мне уже довелось увидеть, как подписка о неразглашении выполняет свои функции, когда мне и MIT AI lab было отказано в исходных текстах программы, управляющей нашим принтером. (Нехватка некоторых возможностей в этой программе делала использование принтера исключительно неудобным.) После этого я уже не мог сказать себе, что подписка о неразглашении бывает безвредной. Меня очень рассердило то, что с нами отказались поделиться; я не мог в свою очередь поступить так же с кем-то еще.
Другим выбором, прямолинейным и неприятным, было бросить заниматься компьютерами. В этом случае мои способности не были бы использованы во вред, но пропали бы зря. Я не был бы виновен в разобщении и ограничении пользователей компьютеров, но это все равно случилось бы.
Поэтому я начал искать способ, с помощью которого программист будет в состоянии улучшить ситуацию. Я спросил себя, могу ли я написать какую-либо программу или программы, чтобы оживить наше сообщество?
Ответ был ясен: первым делом нам требовалась операционная система. Это ПО критически важно для использования компьютера. Используя ОС, можно делать множество вещей, а без нее вы вообще не запустите компьютер. Располагая свободной ОС, мы смогли бы возродить общество сотрудничающих хакеров, и пригласить в него всех желающих. Каждый смог бы работать, не скрывая ничего и не теряя своих друзей <…>
Было решено сделать систему совместимой с Unix и переносимой, так что пользователи Unix могут легко перейти к ней. Название GNU было выбрано согласно хакерским традициям, как рекурсивный акроним «GNU’s Not Unix» (GNU, не Unix) <…>
Позднее я услышал такие слова, автором которых считается Гиллель2:
Если не я за себя, то кто за меня?
Если я только за себя, то зачем я?
Если не сейчас, то когда же?
Решение начать разработку проекта GNU основано на похожих принципах.
«Свободный» — не значит «даром»
Термин «свободное ПО» часто понимают неправильно — он не имеет общего с ценой. Речь ведется о свободе. Таким образом, вот определение свободного ПО: программа является свободной для вас, конкретного пользователя, если:
Вы вольны запускать программу с любыми целями.
Вы можете модифицировать программу под свои нужды. (Чтобы сделать эту свободу практически эффективной, вы должны иметь доступ к исходным текстам, поскольку изменять программу без них очень сложно.)
Вы имеете право распространять копии, как бесплатно, так и за деньги.
Вы свободны распространять свои модификации, чтобы общество могло извлечь из них пользу.
Поскольку «свободный» подразумевает свободу, а не цену, нет противоречий между продажей копий и свободным ПО. Фактически, свобода продажи копий является существенной: продажа коллекций свободного ПО на CD-ROM важна для общества и является хорошим способом получить средства на разработку свободного ПО. Следовательно, программы, которые невозможно включить в такие коллекции, не являются свободными.
Вследствие неоднозначности слова «free» (которое в английском языке употребляется как в значении «свободный», так и «бесплатный», — прим. перев.) многие пытались найти ему замену, но пока что это никому не удалось. Английский язык содержит множество различных способов отображения самых тонких нюансов, но в нем нет простого, однозначного слова, которое подразумевало бы «free», как свободу; ближе всего по смыслу к этому приближается «unfettered» («лишенное оков», «нестесненное»). Такие альтернативы, как «liberated» (освобожденный), «freedom» (свобода) и «open» (открытость) имеют либо неверное значение, либо иные недостатки.
Программы GNU и система GNU
<…> Система GNU включает программы, которые не созданы в рамках проекта GNU, а были разработаны иными людьми в своих собственных целях, но которые мы можем использовать, поскольку они свободны.
Зарождение проекта
В январе 1984 г. я завершил свою работу в MIT и начал писать программы для проекта GNU. Покинуть MIT было необходимо, чтобы MIT ничем не был связан с распространением GNU, как свободного ПО. Если бы я оставался в штате, в MIT могли бы претендовать на право собственности и навязать свои собственные условия распространения, либо даже превратить программы в собственнические. Я не хотел проделать большую работу, лишь чтобы увидеть, как она становится бесполезной для своей цели: создания нового сообщества, в котором возможно делиться программами друг с другом <…>
GNU Emacs
<…> Общество начало проявлять интерес к GNU Emacs, что подняло вопрос, как его распространять. Конечно, я поместил его на ftp-сервер с анонимным доступом на одном из доступных мне компьютеров MIT <…> Но в то время многие заинтересованные люди не имели доступа в Интернет и не могли скачать себе копию. Спрашивается, что я мог предложить им?
Я мог бы им сказать: «Найдите того, кто имеет доступ в Сеть и может скачать его для вас». Еще я мог поступить, как это было с оригинальной версией Emacs для PDP-10 и заявить: «Вышлите мне ленту и я верну ее вам с Emacs». Но я не имел работы и разыскивал способы зарабатывать на свободном ПО. Поэтому я объявил, что вышлю всем желающим ленту за $150. Тем самым было положено начало бизнесу, связанному с распространением свободных программ, предшественник фирм, которые сегодня распространяют завершенные системы GNU/Linux.
Свободен ли каждый пользователь программы?
Если программа свободна, когда покидает руки своего автора, это не всегда означает, что она будет свободной для всех пользователей, располагающих копией. Например, программы «общественной собственности» (public domain software, т.е. ПО, не имеющее владельца авторских прав) свободны, но каждый в состоянии выпустить собственническую слегка модифицированную версию. Аналогично, многие свободные программы имеют владельца авторских прав, но распространяются с простыми либеральными лицензиями, которые позволяют выпуск собственнических модификаций.
Классическим примером этой проблемы служит X Window System. Разработанная в MIT и выпущенная как свободное ПО с либеральной лицензией, она вскоре была взята на вооружение множеством компаний. Они включали X в свои собственнические Unix-системы исключительно в виде исполнимых файлов и помещали под ту же самую подписку о неразглашении. Эти копии X были свободны не более, чем Unix.
Разработчики X Window System не считали это проблемой — такого развития событий они ожидали. Их целью была не свобода, а лишь «успех», определяемый как «наличие многих пользователей». Никого не интересовало, будут ли пользователи свободными, а лишь их многочисленность. <…>
Принцип «авторского лева» и GNU GPL
Целью GNU было дать пользователям свободу, а не только завоевать популярность. Следовательно, нам были нужны условия распространения, которые защитят программы GNU от превращения в собственнические. Используемая методика получила название «авторское лево» (в противоположность «праву»), или «copyleft»3.
«Авторское лево» использует систему авторского права, но в целях, противоположных ее обычному использованию: из способа прихватизации программ она превращается в средство защиты их свободы.
Центральная идея «авторского лева» в том, что мы даем каждому разрешение запускать, копировать, изменять программу и распространять измененные версии — но не разрешение добавлять ограничения <…> Эффективность «авторского лева» возможна, лишь если модифицированные версии также свободны. Этим обеспечивается, что производные продукты, в случае их публикации, будут доступны нашему обществу. Когда программисты добровольно участвуют в улучшении программ GNU, «авторское лево» защищает их от нанимателей, которые могут сказать: «Вы не можете свободно распространять свои модификации, поскольку мы собираемся сделать их нашей собственнической версией программы».
Требование, чтобы модификации также были свободны, необходимо, если мы хотим гарантировать свободу каждого пользователя программы. Компании, которые прихватизировали X Window System, обычно вносят в нее некоторые изменения, чтобы приспособить к своей системе и аппаратуре. Эти модификации невелики по сравнению с общим объемом системы X, но они были нетривиальны. Если внесение модификаций может служить оправданием лишению пользователей свободы, найдется много желающих воспользоваться подобным обоснованием <…> Важным требованием «авторского лева» является устранение этой угрозы: все, что добавляется или комбинируется с программой, подчиняющейся «авторскому леву», должно быть таким, что результат должен также быть свободным на условиях «авторского лева» <…>
Поддержка свободного ПО
Философия свободного ПО отвергает методы, общепринятые в бизнесе, но мы не отвергаем идею бизнеса вообще. Когда предприниматель уважает свободу пользователей, мы желаем ему успеха.
Продажа копий Emacs демонстрирует одну разновидность бизнеса на свободном ПО <…> Мне довелось искать другие способы зарабатывать на жизнь. Я нашел их в продаже сервиса, касающегося свободного ПО, которое было разработано мной <…>
Однако, будьте осторожны — многие из тех, кто заявляет о следовании идее «открытых исходных текстов» в действительности основой своего бизнеса делают несвободные программы, которые работают совместно со свободными. Эти компании далеки от свободного ПО, это разработчики собственнических программ, которые искушают пользователей позабыть свободу. Они называют это «добавлением стоимости» (value added), отражая этим ценности, которые хотят навязать нам: удобства превыше свободы. Если мы предпочитаем свободу, нам следует называть подобные программы «с уменьшением свободы» (freedom subtracted).
Технические цели
Принципиальная цель GNU — быть свободным ПО. Даже если система GNU не имела бы технического превосходства над Unix, она обладала бы социальным преимуществом, позволяя пользователям сотрудничать, и этическим, уважая их свободу. <…>
Пожертвование компьютеров
С ростом репутации проекта GNU нам стали жертвовать машины с системой Unix. Это было очено полезно, поскольку простейшим способом разработать компоненты системы GNU было сделать это на Unix-системе и заменить ее компоненты одну за одной. Но при этом возникло этическое противоречие: можем ли мы использовать для этой работы Unix?
Система Unix была (и есть) собственнической, а философия проекта GNU гласит, что мы не должны пользоваться собственническим ПО. Но, применив те же доводы, которыет приводят к заключению, что насилие в целях самозащиты правомочно, я решил, что использование собственнического пакета оправдано, если это необходимо для разработки свободного аналога, который поможет другим прекратить применение собственнического.
Но, хоть это и было оправданным злом, оно все-таки оставалось злом. Сегодня мы более не имеем ни одной копии Unix, поскольку заменили их свободными операционными системами <…>
Список задач проекта GNU
По мере развития проекта GNU и роста количества системных компонент, которые мы разыскивали либо разрабатывали, стало желательным сделать список остающихся прорех. Мы использовали его для привлечения желающих написать недостающие компоненты. Этот список стал известным как «список задач проекта GNU» (GNU project task list). В дополнение к отсутствующим компонентам Unix мы включили в него другие полезные проекты разработки программ и документации, которые, по нашему мнению, должна иметь действительно завершенная система.
Сегодня немногие компоненты Unix остались в списке задач проекта GNU — они все уже сделаны, за исключением нескольких не очень важных <…>
Профессиональный зуд?
Эрик Реймонд (Eric Raymond) сказал, что: «Работа над каждой хорошей программой начинается автором для удовлетворения своего профессионального зуда» (scratching a developer’s personal itch). Возможно, так иногда и бывает, но многие важные составляющие GNU были разработаны с целью создать полноценную свободную ОС. Они появились на свет благодаря нашему видению проблемы и плану действий, а не вследствие импульсивного решения <…>
Некоторые программы GNU разрабатывались, чтобы устранить конкретную угрозу нашей свободе. Так, мы написали gzip взамен программы сompress, которая была потеряна обществом из-за патентованного алгоритма LZW. Мы разыскали желающих реализовать LessTif, а позднее начали проекты GNOME и Harmony, чтобы решить проблемы, созданные некоторыми собственническими библиотеками (см. далее). Нами разрабатывается GNU Privacy Guard для замены популярного несвободного криптографического ПО, поскольку пользователи не должны выбирать между конфиденциальностью и свободой.
Конечно, программы создаются благодаря личной заинтересованности авторов, а многие их возможности добавляются различными людьми для удовлетворения собственных нужд. Но это не единственная причина существования программ <…>
Linux и GNU/Linux
GNU Hurd [ОС, разрабатываемая Ричардом Столлманом, большинство компонентов которой к 1991 году были готовы, но возникли сложности с отладкой — прим.] еще не готов для реального использования. К счастью, доступно другое ядро. В 1991 г. Линус Торвальдс (Linus Torvalds) разработал Unix-совместимое ядро, которое назвал Linux. В течение 1992 г. ядро Linux было объединено с незавершенной системой GNU в полноценную ОС. (Конечно, такое объединение само по себе было сложной работой.) Именно благодаря Linux мы можем работать с версией системы GNU уже сегодня.
Мы назваем такую версию GNU/Linux, выражая тем самым, что она скомбинирована из системы GNU и Linux в качестве ядра <…>
Засекречивание оборудования
Производители аппаратного обеспечения все активнее пытаются сохранить в тайне его спецификации. Это затрудняет разработку свободных драйверов, чтобы Linux и XFree86 могли работать с новым «железом». Сегодня мы располагаем полноценной свободной системой, но не будем иметь ее завтра, если не сможем поддерживать компьютеры, которые у нас будут.
Есть два пути решить эту проблему. Программисты могут делать реконструкцию (reverse engineering) устройств, чтобы понять, как с ними работать. Все остальные в состоянии выбирать только те устройства, которые поддерживаются свободным ПО. С ростом нашего сообщества засекречивание спецификаций обернется против его инициаторов <…>
Программные патенты
Серьезнейшей угрозой для нас являются патенты, которые лишают разработчиков свободного ПО права использовать алгоритмы и возможности на срок до 20 лет <…> Существуют способы бороться с патентами: можно разыскать доказательства. что патент недействителен, а можно сделать работу другим путем. Но оба эти метода работают не всегда: когда оба они терпят неудачу, патент может лишить свободное ПО некоторых возможностей, которые требуются пользователям. Как они поступят в этом случае?
Те из нас, кто ценит в свободном ПО его свободу, останется с нами в любом случае. Мы сделаем нашу работу, не используя патентованных возможностей. Но те, кто ценит свободное ПО за его техническое превосходство, вероятно, сочтут катастрофой ситуацию, когда патент лишит нас возможности конкурировать на равных. Поэтому недостаточно говорить о практической эффективности «соборной» («cathedral») модели разработки программ, о надежности и богатых возможностях конкретных свободных программ. Мы также должны говорить о свободах и принципах <…>
«Открытые исходные тексты»
<…> Термины «свободное ПО» и «ПО с открытыми исходными текстами» описывают, более или менее, одну и ту же категорию ПО, но различаются в том, что именно говорится о программах и о моральных ценностях. Проект GNU продолжает использование понятия «свободное ПО», выражая тем самым, что важна идея свободы, а не просто технологии.
Пытайтесь!
<…> С облегчением и радостью вижу я полки хакеров, закрепляющиеся на рубеже обороны, и чувствую, что угроза миновала — сегодня. Но опасность растет с каждым годом, и сегодня Micro$oft явно выбрала мишенью наше сообщество. Мы не вправе полагать будущее свободы как данность. Не воспринимайте ее как данность! Если вы хотите сохранить свою свободу, будьте готовы защитить ее.
Примечания автора
1) Слово «хакер» неверно используется в значении «компьютерный взломщик» некоторыми журналистами. Мы, хакеры, отказываемся принять такое его толкование и продолжаем подразумевать под ним смысл «кто-то, кто любит программировать и получает удовольствие от этого».
2) Как атеист, я не подчиняюсь ни одному религиозному лидеру, но иногда меня восхищают их высказывания.
3) В 1984 или 1985 Дон Хопкинс (Don Hopkins) (обладатель очень богатого воображения) прислал мне письмо. На конверте он написал несколько забавных фраз, включая такое: «Copyleft — all rights reversed». Я использовал слово «copyleft», чтобы назвать концепцию распространения программ, котрую разрабатывал в это время.[/align]
http://www.gnu.org/gnu/thegnuproject.ru.html
Тексты песен Richard Stallman
Title | |
---|---|
1 | Free Software Song |
Оставить комментарий
Что вы думаете об исполнителе Richard Stallman? Напишите ваш комментарий.
Альбомы Richard Stallman
Title | Release | ||
---|---|---|---|
1 | GNU |