Все права на текст принадлежат автору: Ричард Столлман.
Это короткий фрагмент для ознакомления с книгой.
Ричард Столлман и революция свободного программного обеспеченияРичард Столлман

Ричард Столлман и революция свободного программного обеспечения

Сэм Вильямс Второе издание с правками от Ричарда Мэттью Столлмана

Это “Ричард Столлман и революция свободного программного обеспечения” – русский перевод книги Free as in Freedom 2.0: Richard Stallman and the Free Software Revolution, исправленной версии Free as in Freedom: Richard Stallman’s Crusade for Free Software.

© Сэм Вильямс, 2002, 2010
© Ричард М. Столлман, 2010
Разрешается копировать, раздавать и/или редактировать эту книгу в соответствии с условиями лицензии свободной документации GNU или GNU FDL версии 1.3 или более поздних версий, опубликованных фондом свободного ПО – без неизменяемых разделов и текста на обложке. Текст лицензии находится в приложении под названием “Лицензия GNU для свободно используемой документации”.

Опубликовано фондом свободного ПО
Франклин-стрит 51 , этаж 5
Бостон, Массачусетс 02110-1335
США
ISBN: 9780983159216

Автор фотографии PDP-10 в главе 7 – Родни Брукс. В образе святителя ИГНУциуса Ричарда Столлмана в главе 8 сфотографировал Стиан Эйкеланн.

Перевод на русский язык и вёрстку выполняли[1]

Mikhail Klementev, alexferman, Ilia1, Sergey Matveev, Timur Ismagilov, Viacheslav Chimishuk, Vyacheslav Boyko и alexander barakin (aka sash-kan).

Исходный код доступен в репозитории code.dumpstack.io/etc/free-as-in-freedom-v2-ru[2].

Если вы заметили опечатки либо неточности – отправляйте исправления по адресу patch@dumpstack.io[3]. Перед отправкой убедитесь, что используете последнюю версию книги.

Перевод версии

v0.99.7-ff8305b,

сборка от

2019-08-28.

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

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

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

Нужно было поправить многие отсылки к фактам. К тому же, Вильямс – не программист, и потому несколько затуманил важные технические и юридические тонкости, вроде разницы между редактированием кода уже созданной программы, и воплощением некоторых её идей в совершенно новой программе. Так, в первом издании говорилось, что программы Gosmacs и GNU Emacs – результат редактирования кода оригинального Emacs для PDP-10, что совсем не так. Или ещё хуже: Linux ошибочно назвали “версией Minix”. Позже компания SCO повторила эту нелепость в своём иске против IBM и Линуса Торвальдса, и её опровергал уже сам Эндрю Таненбаум, создатель Minix.

Также первое издание нагнетает слишком много эмоций вокруг некоторых событий. К примеру, там говорится, что я “категорически избегал” Линукса в 1992 году, а в 1993 я “резко передумал” и решил спонсировать Debian GNU/Linux. Тогда как мой интерес к Линуксу в 1993 году и его отсутствие в 1992 – не более чем прагматизм, имеющий одну цель: довести систему GNU до готовности. Начало работ над ядром GNU Hurd в 1990 году – такой же практичный шаг на пути к означенной цели.

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

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

Редакция Вильямса содержала много высказываний с критикой в мой адрес. Все эти высказывания я оставил, только добавил возражения на них, где это было к месту. Я почти ничего не удалял, если не считать , где я вычеркнул кое-что, не имеющее отношения к моей жизни или работе. Также я сохранил и местами прокомментировал личные суждения Вильямса с критикой в мой адрес, если только они не искажали факты или сведения о технологиях. А вот его утверждения касательно моей работы, моих мыслей и чувств я исправлял очень вольно. Там, где Вильямс делится своими впечатлениями, я ничего не менял. Все мои правки помечены буквами “РМС”.

В этом издании полноценная система, совмещающая GNU и Linux, всегда именуется “GNU/Linux”, а просто “Linux” всегда обозначает только ядро, созданное Торвальдсом. Исключение – цитаты, где отступление от этого правила явно обозначено пометкой “[sic]”. Загляните на сайт проекта GNU http://www.gnu.org/gnu/gnu-linux-faq.html[4], если хотите узнать, почему полноценную, завершённую систему неправильно называть просто “Linux”.

Хочу поблагодарить Джона Салливана за массу полезной критики и предложений.

Предисловие от Сэма Вильямса

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

Не стоит и говорить, что за эти 10 лет многое изменилось в этом мире.

Книгу эту я задумывал в эпоху триумфа Америки, и её суть была совсем не созвучна победному маршу технокапиталистической модели. Герой этой книги подобно Иеремии пытается обратить внимание разработчиков ПО не на экономический потенциал компьютерных программ, а на этические ценности и обязательства. Он старается донести до людей, что уход от интеллектуальной и культурной свободы к выгодному собственничеству дорого обойдётся в будущем.

Теперь же настроения в обществе прямо противоположны – умы захватили сомнения в Системе, и потому интересно посмотреть, какие идеи не потеряли актуальности за эти 10 лет.

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

В этом я убедился ещё несколько лет назад, когда случилось то, что можно назвать “iPod-эффектом”: музыкальная индустрия и простые слушатели стали сходить с ума по плееру Apple iPod и сервису iTunes, при их огромном количестве ограничений. Позже эта история повторилась с планшетом Apple iPad и электронной книгой Amazon Kindle. Мода на все эти гаджеты привела к тектоническим сдвигам в индустрии.

Ричарду Столлману, кстати, не понравилось, что я в предисловии как будто рекламирую несвободные устройства, так что для баланса я скажу вам про парочку интернет-сайтов, где подробно разбирают недостатки этих и других продуктов: DefectiveByDesign.org[5] и BadVista.org[6].

Не имеет значения, о каком именно бренде идёт речь. Люди привыкли ассоциировать бренды с неким качеством, и этот стереотип побороть очень трудно. Даже несмотря на многие неудачи и провалы корпораций, в том числе и экономические.

Десяток лет назад было обычным делом поучаствовать в конференции, где старожилы программирования вроде Ричарда Столлмана говорили об альтернативном будущем. И теперь я убедился, куда завела нас, тогдашних новичков в журналистике, гордость владения новейшими инструментами вроде Microsoft Word, PowerPoint, Internet Explorer. Все эти продукты были удобными, заманчивыми пристанищами для тех, кто работал на компьютере, и благодаря популярности они разрослись в огромный город программной экосистемы персональных компьютеров.

Город этот похож на антиутопическую диктатуру, где движение, развитие, жизнь строго регламентированы и возможны лишь в указанных сверху местах. Неудивительно, что хакеры не прекращают критически ворчать в адрес структурных недостатков Windows, диктаторского надзора Apple над их магазином приложений, постоянно меняющегося определения “зла” у Google. С каждым годом всё сильнее разрастается “цифровая реальность”, где пользователи служат гоббсовой корпократии. Наверное, потому что свободное ПО подкидывает изрядное количество проблем, которые заставляют пользователей скрежетать зубами.

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

Впрочем, десятки и сотни миллионов человек пользуются многими свободными программами, а какая-то их часть использует только свободное ПО. Однако понятия вроде “программное обеспечение” или “компьютер” уходят из потребительского лексикона. Нынешние мобильные телефоны сравнимы с ноутбуками десятилетней давности, но многие ли при покупке телефона думают о свободе комплектующих или операционной системы? Единственное, что интересует большинство – приложения, которые можно установить, надёжность работы сети, и самое важное – тарифные планы.

Заставить современного потребителя взглянуть на софт и оборудование не с точки зрения удобства и функциональности, а с точки зрения свободы – если не невозможно, то довольно сложно.

И вот на такой пессимистичной ноте можно задаться вопросом: зачем тогда вообще нужна эта книга и кого она может заинтересовать?

Я могу предложить целых две причины.

Первая причина – личная. В эпилоге книги рассказывается, что я и Ричард расстались на не совсем тёплой ноте незадолго до публикации. Виноват в этом, по большей части, я. Довольно плотно поработав с ним, чтобы быть уверенным, что моя книга не противоречит ценностям свободного ПО – с гордостью, кстати, сообщаю, что это одна из первых книг, что использует GNU Free Documentation License – я резко оборвал сотрудничество, когда настала пора редактирования и Ричард прислал длиннющий список исправлений.

Хоть я умею виртуозно прятаться за своими принципами вроде авторской независимости и журналистской объективности, я не стал ходить к издателю и умолять его о дополнительном времени. Ведь О’Рейли и так сделал мне огромную уступку – позволил выбрать GFDL в качестве лицензии. Наверное, он бы согласился и с огромным потоком исправлений перед самой публикацией, но я не стал испытывать удачу.

По прошествии нескольких лет у меня появилось ещё одно оправдание этому шагу: сама лицензия GFDL, которая позволяет любому читателю редактировать книгу и распространять свой вариант. Как однажды сказал Эрнест Хемингуэй: “первый набросок – всегда полная хрень”. Если Столлман и другие хакеры сообщества свободного ПО считали мою книгу первым наброском, то что ж – по крайней мере, я избавил их от этой неблагодарной работы.

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

Прежде чем перейти ко второй причине, хочу отметить, что работа над этой книгой имела приятный побочный эффект – возобновление нашего со Столлманом общения по электронной почте. Я снова могу получать удовольствие от его острого как бритва стиля изложения.

Те, кто когда-либо дискутировал со Столлманом в переписке, найдут показательным и забавным следующий случай. Рецензенты часто критиковали главу, где описывается, как мы едем через Кихеи на Мауи (“Краткое путешествие по аду хакера”) – мол, она выбивается из общей канвы и выглядит неуместной. Я сказал Ричарду, что он может вырезать эту главу, но заметил, что она даёт неплохое метафорическое описание его характера и вообще хакерского мышления.

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

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

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

“Сомневаюсь, что я назвал бы чью-то ошибку ‘долбаной’, – писал мне Ричард, – мне несвойственно так выражаться. Я бы скорее сказал: ‘долбанутая ошибка’. Поэтому я думаю, что слова искажены”.

Шах и мат.

Вторая причина существования этой книги и чьего-либо интереса к ней возвращает нас к началу предисловия – разница между началом века и его вторым десятилетием. Буду честен: мои взгляды сильно поменялись после 11 сентября 2001 года, так что скоро после выхода первой версии книги я почти совсем перестал следить за Столлманом и движением за свободное ПО. Хотя основные тенденции и проблемы индустрии ПО всё-таки достигали моего внимания, основная масса событий скрылась от меня, подобно подводной части айсберга.

[РМС: Атаки 11 сентября 2001 года почти не упоминаются в книге, но я думаю, что стоит дать краткий комментарий на эту тему. Хотя многие думают и заявляют, что эти теракты “изменили всё”, на самом деле, они не изменили ничего, в том плане, что во власти всё так же сидят негодяи, которые ненавидят наши свободы. Но теперь они могут ссылаться на “террористов” всякий раз, когда хотят ввести законы, отбирающие наши права. Подробнее об этом можно почитать в политических заметках на моём сайте stallman.org[7].]

Это весьма плачевно, потому что перед моими глазами тот самый XXI век, который я считал когда-то светлым будущим. Но сейчас его уместно назвать веком бега на месте. Я объясню, почему.

Мы находимся в необычной точке исторического развития, где возможность изменить мир, невзирая на весь цинизм и пессимизм, действительно доступна каждому. Но в этой доступности каждому и кроется подвох. Если в прошлом можно было добиться перемен, завоевав расположение нескольких влиятельных фигур, то теперь реформатор должен придать нужное направление целому полю всевозможных идей, настроений и интересов самых разных людей. То есть, эффективный реформатор должен обладать в наше время титанической волей и упорством, готовностью десятилетиями голосить в пустыне, а также массой знаний и творческими талантами, чтобы создать идеи, способные обыграть Систему в её же игре.

И Ричард Столлман подходит под все эти критерии.

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

И если вы один из тех, кто надеется, что XXI век будет намного более человечным, чем XX век, то – добро пожаловать в битву. Эпиграф к первой главе намекает на мою надежду, что эта книга станет эпосом интернет-эры, построенным вокруг странной героической фигуры.

Так что я хочу закончить это предисловие так же, как закончил эпилог – предложением присоединиться к улучшению книги. Текст лицензии GFDL расскажет вам о ваших правах отредактировать книгу или даже создать производную версию. Если хотите, можете выслать свои правки мне или Ричарду. Его контакты вы найдёте на сайте фонда свободного ПО.

А теперь – желаю удачи и удовольствия от чтения книги!

Сэм Вильямс
Статен-Айленд, США

Роковой принтер

Бойтесь данайцев, дары приносящих.
– Вергилий, “Энеида”

Опять новый принтер зажевал бумагу.

Часом ранее Ричард Столлман, программист Лаборатории Искусственного Интеллекта МТИ (Лаборатории ИИ), отправил 50-страничный документ печататься на офисном принтере, и погрузился в работу. А сейчас Ричард оторвался от дела, подошёл к принтеру и увидел пренеприятнейшее зрелище: вместо долгожданных 50 отпечатанных страниц в лотке лежали только 4 готовых листа. Да и те явно относились к какому-то чужому документу. Видимо, принтер получил на печать из офисной сети файлы от Ричарда и кого-то ещё, честно отработал на нескольких листах, а потом решил перекусить бумагой.

Ждать, пока машина выполнит возложенную на неё работу – обычное дело для программиста, и Столлману впору было отнестись к этой проблеме стоически. Но одно дело, когда вы даёте машине задачу и занимаетесь своими делами, и совсем другое — когда вам приходится стоять рядом с машиной и контролировать её. Далеко не в первый раз Ричарду приходилось стоять перед принтером и следить за тем, чтобы отпечатались все страницы от начала до конца. Как всякий хороший технарь, Столлман очень высоко ценил эффективность работы устройств и программ. Неудивительно, что этот очередной срыв рабочего процесса возбудил у Ричарда горячее желание залезть во внутренности принтера и навести там должный порядок.

Но увы – Столлман был программистом, а не инженером-механиком. Поэтому оставалось лишь следить за вылезающими страницами и раздумывать о других путях решения проблемы зажёвывания бумаги.

А ведь этот принтер сотрудники Лаборатории ИИ встречали с восторгом и воодушевлением! Его подарила компания Xerox, это была её прорывная разработка – модификация быстрого светокопира. Принтер не только делал копии, но и превращал виртуальные данные из файлов офисной сети в превосходно выглядящие документы. В этом аппарате чувствовался дерзкий инновационный дух знаменитой лаборатории Xerox в Пало-Альто, он был предвестником революции в настольной печати, что полностью перевернула всю индустрию к исходу десятилетия.

Сгорая от нетерпения, программисты Лаборатории тут же включили новый принтер в сложнейшую офисную сеть. Результаты превзошли самые смелые ожидания. Страницы вылетали со скоростью 1 штука в секунду, документы стали печататься в 10 раз быстрее. Кроме того, машина была предельно педантична в своей работе: круги выглядели кругами, а не овалами, а прямые линии перестали напоминать низкоамплитудные синусоиды.

Во всех смыслах, подарок Xerox был предложением, от которого невозможно отказаться.

Однако со временем восторги пошли на убыль. Как только принтер стали нагружать по максимуму, обнаружились проблемы. Сильнее всего раздражало то, что аппарат чересчур охотно зажёвывал бумагу. Инженерное мышление программистов быстро выявило корень проблемы. Дело в том, что светокопиры традиционно требуют постоянного присутствия человека рядом. В том числе и для того, чтобы поправлять бумагу в случае надобности. И когда Xerox взялся за превращение светокопира в принтер, инженеры компании не обратили внимания на этот момент и сосредоточились на решении других, более насущных для принтера проблем. Говоря инженерным языком, у нового принтера Xerox постоянное участие человека оказалось изначально встроено в механизм.

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

Вряд ли Столлман был единственным в Лаборатории ИИ, кто заметил проблему, но он ещё и размышлял над её решением. За несколько лет до этого Ричарду довелось решить похожую проблему с прежним принтером. Для этого он на персональном рабочем компьютере PDP-11 отредактировал программу, которая работала на мейнфрейме PDP-10 и управляла принтером. Саму проблему зажёвывания бумаги Столлману решить не удалось, вместо этого он вставил код, который заставлял PDP-11 время от времени проверять состояние принтера. Если аппарат зажёвывал бумагу, программа просто рассылала на рабочие PDP-11 оповещение вроде “принтер жуёт бумагу, требуется починка”. Решение оказалось эффективным – оповещение шло напрямую пользователям, которые активно пользовались принтером, так что его выходки с бумагой зачастую пресекались немедленно.

Конечно, это было решение ad-hoc – то, что программисты называют “костылём”, но костыль получился довольно изящный. Он не исправлял проблему в механизме принтера, но делал лучшее из того, что можно было сделать – налаживал информативную обратную связь пользователя и машины. Несколько дополнительных строчек кода экономили работникам Лаборатории ИИ по 10-15 минут рабочего времени еженедельно, избавив их от необходимости постоянно бегать проверять принтер. С точки зрения программиста, решение Столлмана держалось на коллективном разуме Лаборатории.

Вспоминая ту историю, Ричард говорил: “Получив такое сообщение, вы не должны были уповать на то, что принтер исправит кто-то ещё. Вам нужно было просто встать и пойти к принтеру. Спустя минуту или две после того, как принтер начинал жевать бумагу, к нему приходили двое-трое сотрудников. Хоть кто-то из них точно знал, что нужно делать”.

Подобные ловкие решения были визитной карточкой Лаборатории ИИ и её программистов. Вообще, лучшие программисты Лаборатории несколько презрительно относились к термину “программист”, предпочитая ему сленговое “хакер”. Это определение точнее отражало суть работы, которая включала самые разные занятия, от изощрённых интеллектуальных забав до кропотливых улучшений программ и компьютеров. Также в нём чувствовалось старомодное убеждение в американской изобретательности. Хакеру недостаточно просто написать работающую программу. Хакер пытается проявить мощь своего интеллекта перед собой и другими хакерами, возложив на себя куда более сложные и тяжёлые задачи – например, сделать программу одновременно максимально быстрой, компактной, мощной и красивой.[8]

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

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

Есть программы, которые называются “дизассемблеры”, они переводят единицы и нули в низкоуровневые машинные инструкции, но разобраться, что эти инструкции делают – очень долгий и трудный процесс, называемый “обратной разработкой”. На обратную разработку программы принтера легко могло уйти куда больше времени, чем на суммарное исправление зажёванной бумаги в течение ближайших 5 лет. Ричард был недостаточно отчаянным, чтобы решиться на такой шаг, и потому он просто отложил проблему в долгий ящик.

Недружелюбная политика Xerox резко противоречила обычной практике хакерских сообществ. Например, чтобы разработать для персонального компьютера PDP-11 программы для управления старым принтером и терминалами, Лаборатории ИИ нужен был кросс-ассемблер, который собирал бы программы для PDP-11 на мейнфрейме PDP-10. Хакеры Лаборатории могли написать кросс-ассемблер сами, но Столлман, будучи студентом Гарварда, нашёл похожую программу в компьютерной лаборатории университета. Она была написана для такого же мейнфрейма, PDP-10, но под другую операционную систему. Ричард понятия не имел, кто написал эту программу, поскольку в исходном коде об этом ничего не говорилось. Он просто принёс в Лабораторию копию исходного кода, отредактировал её, и запустил на PDP-10. Без лишних хлопот и забот Лаборатория получила программу, которая была необходима для работы офисной инфраструктуры. Столлман даже сделал программу мощнее, добавив в неё несколько функций, которых не было в оригинале. “Мы вовсю использовали эту программу несколько лет”, – не без гордости сообщает он.

В глазах программиста 70-х годов такая модель распространения программного кода ничем не отличалась от добрососедских отношений, когда один делится с другим чашкой сахара или даёт на время дрель. Но если вы, когда одалживаете дрель, лишаете хозяина возможности ею пользоваться, то в случае с копированием программ ничего подобного не происходит. Ни автор программы, ни её другие пользователи ничего не лишаются от копирования. Зато другие люди от этого приобретают, как в случае с хакерами Лаборатории, что получили программу с новыми функциями, которых раньше даже не было на свете. И эти новые функции можно так же сколько угодно копировать и распространять среди других людей. Столлман вспоминает об одном программисте из частной компании Bolt, Beranek & Newman, который тоже получил программу и отредактировал её для запуска под Twenex – ещё одной операционной системой для PDP-10. Также он добавил в программу ряд замечательных функций, и Столлман скопировал их в свою версию программы в Лаборатории. После этого они решили сообща развивать программу, которая уже ненароком выросла в мощный продукт, работающий на разных операционных системах.

Вспоминая программную инфраструктуру Лаборатории ИИ, Столлман говорит: “Программы развивались подобно городу. Какие-то части менялись понемногу, какие-то – сразу и полностью. Появлялись новые участки. И вы всегда могли взглянуть на код и сказать, мол, судя по стилю, эту часть написали в начале 60-х, а эту – в середине 70-х”.

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

Эту концепцию безвозмездного сотрудничества подорвало сочетание жадности и коммерческой тайны, породив причудливое сочетание секретности и кооперации. Хороший пример – начальный период жизни BSD. Это мощная операционная система, которую создали учёные и инженеры Калифорнийского Университета в Беркли на основе Unix, купленной в AT&T. Стоимость копирования BSD была равна стоимости плёнки, но с одним условием – плёнку с копией BSD школы могли получить только имея лицензию AT&T, которая стоила $50,000. Получалось, что хакеры Беркли делились программами только в той мере, в какой им позволяла это делать компания AT&T. И они не видели в этом ничего странного.

Столлман тоже не сердился на Xerox, хотя и был разочарован. Он никогда не думал о том, чтобы попросить у компании копию исходного кода. “Они и так подарили нам лазерный принтер, – говорил он, – я не мог сказать, что они нам ещё что-то должны. К тому же, исходники отсутствовали явно неслучайно, это было внутреннее решение компании, и просить изменить его было бесполезно”.

В конце концов, пришла хорошая новость: оказалось, что копия исходника программы для принтера Xerox есть у научного сотрудника Университета Карнеги-Меллон.

Общение с Карнеги-Меллон не сулило ничего хорошего. В 1979 году докторант Брайан Рид шокировал сообщество отказом поделиться своей программой для форматирования текста, прообразом Scribe. Она была первой программой такого типа, в которой использовались семантические команды вроде “выдели это слово” или “этот параграф – цитата” вместо низкоуровневых “напиши это слово курсивом” или “увеличь отступы для этого параграфа”. Рид продал Scribe расположенной в Питтсбурге компании Unilogic. По словам Рида, в конце докторантуры он просто искал команду разработчиков, на плечи которых можно было бы перевалить заботу о том, чтобы исходники программы не попали в общее пользование (до сих пор неясно, почему Рид считал это недопустимым). Чтобы подсластить пилюлю, Рид согласился добавить в код набор привязанных ко времени функций, так называемых “тайм-бомб” – они превращали бесплатную копию программы в нерабочую по истечении 90-дневного пробного периода. Чтобы заставить программу снова работать, пользователям нужно было заплатить компании и получить “отключалку” тайм-бомбы.

Для Столлмана это было чистейшим и откровенным предательством программистской этики. Вместо того, чтобы следовать принципу “делись и раздавай”, Рид встал на путь взимания платы с программистов за доступ к информации. Но он не особенно задумывался об этом, потому что нечасто использовал Scribe.

Unilogic дали Лаборатории ИИ бесплатную копию Scribe, но не удалили тайм-бомбу и даже не упомянули о ней. До поры до времени программа работала, но однажды всё-таки перестала. Системный хакер Говард Кэннон провёл многие часы за отладкой бинарного файла программы, пока, наконец, не обнаружил тайм-бомбу и не удалил её. Его по-настоящему взбесила эта история, и он не постеснялся рассказать о ней другим хакерам, и передать все свои мысли и эмоции насчёт преднамеренной “ошибки” Unilogic.

По причинам, связанным с работой в Лаборатории, Столлман отправился в кампус Карнеги-Меллон спустя пару месяцев. Он постарался найти человека, у которого, согласно услышанной новости, были исходники программы для принтера. К счастью, этот человек был у себя в кабинете.

Разговор получился откровенным и резким, в типичном для инженеров стиле. Представившись, Столлман попросил копию исходного кода программы для управления лазерным принтером Xerox. К его великому изумлению и огорчению, научный сотрудник отказал.

“Он сказал, что пообещал производителю не давать мне копию”, – говорит Ричард.

Память – забавная штука. Спустя 20 лет после этого инцидента память Столлмана полна белых пятен. Он забыл не только о причине, по которой приехал в Карнеги-Меллон, но и о том, кто был его визави в этом неприятном разговоре. По словам Рида, этим человеком, скорее всего, был Роберт Спролл, бывший сотрудник научно-исследовательского центра Xerox в Пало-Альто, который впоследствии стал директором исследовательского отделения Sun Microsystems. В 70-х годах Спролл был ведущим разработчиком программ для лазерных принтеров Xerox. Где-то в 1980 году Спролл получил должность научного сотрудника в Карнеги-Меллон, где продолжал работать в том числе и над лазерными принтерами.

Но когда Спроллу задают вопросы об этом разговоре, он лишь разводит руками. Вот что он отвечает по электронной почте: “Не могу сказать ничего определённого, я совершенно ничего не помню об этом случае”.

“Код, который Столлман хотел получить, был новаторской разработкой, настоящим воплощением искусства. Спролл написал его за год до того, как пришёл в Карнеги-Меллон, или около того”, – рассказывает Рид. Если это действительно так, то налицо недоразумение: Столлману нужна была программа, которую МТИ использовал уже долгое время, а не какая-та новая её версия. Но в том кратком разговоре ни слова не говорилось о каких-либо версиях.

Общаясь с аудиторией, Столлман регулярно вспоминает инцидент в Карнеги-Меллон и акцентирует внимание на том, что нежелание того человека делиться исходниками – всего лишь следствие соглашения о неразглашении, которое было предусмотрено контрактом между ним и компанией Xerox. Сейчас для компаний в порядке вещей требование соблюдать секретность в обмен на доступ к новейшим разработкам, но в ту пору NDA было чем-то новым. Оно отражало важность для Xerox как самих лазерных принтеров, так и той информации, что была нужна для их работы. “Xerox пытался превратить лазерные принтеры в коммерческий продукт, – вспоминает Рид, – для них безумием было бы раздавать исходный код всем подряд”.

Столлман же воспринимал NDA совершенно иначе. Для него это был отказ Карнеги-Меллон участвовать в творческой жизни общества, наперекор доселе поощряемому взгляду на программы как на общественные ресурсы. Как если бы крестьянин внезапно обнаружил, что многовековые ирригационные каналы пересохли, и в попытке найти причину проблемы он бы дошёл до сверкающей новизной гидроэлектростанции с логотипом Xerox.

Столлману потребовалось время, чтобы понять истинную причину отказа – новый, преисполненный секретности формат взаимодействия программиста и компании. Поначалу же он видел только личный отказ. “Меня это так разозлило, что я даже не нашёлся что сказать. Я просто развернулся и молча вышел, – вспоминает Ричард, – может, я даже хлопнул дверью, не знаю. Я помню только жгучее желание поскорее убраться оттуда. Ведь я шёл к ним, ожидая сотрудничества, и даже не думал, что буду делать, если мне откажут. И когда это произошло, я буквально потерял дар речи – настолько это ошеломило и расстроило меня”.

Даже 20 лет спустя он всё ещё чувствует отголосок того гнева и разочарования. Инцидент в Карнеги-Меллон стал поворотным пунктом в жизни Ричарда, столкнув его лицом к лицу с новой этической проблемой. В следующие месяцы вокруг Столлмана и прочих хакеров Лаборатории ИИ произойдёт масса событий, по сравнению с которыми те 30 секунд гнева и разочарования в Карнеги-Меллон покажутся сущими пустяками. Тем не менее, Столлман уделяет особое внимание этому инциденту. Он был первым и наиболее важным пунктом в той череде событий, что превратили Ричарда из одинокого хакера, интуитивного противника централизованной власти, в радикального евангелиста свободы, равенства и братства в программировании.

“Это было моё первое столкновение с соглашением о неразглашении, и я скоро понял, что люди становятся жертвами таких соглашений, – уверенно говорит Столлман, – Такими жертвами стали я и мои коллеги из Лаборатории”.

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

Хотя и в предыдущие годы случались проблемы, которые сердили Столлмана, по его словам, только после инцидента в Карнеги-Меллон он осознал, что культура программирования, которую он считал священной, начинает меняться. “Я уже был убеждён, что программы должны быть общедоступными для всех, но не мог это отчётливо сформулировать. Мои мысли на этот счёт были слишком смутными и хаотичными для того, чтобы выразить их всему миру. После инцидента я начал понимать, что проблема уже существует, и что её нужно решать прямо сейчас”.

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

Но появление нового принтера поставило под угрозу эту свободу. Аппарат работал хорошо, даром что периодически жевал бумагу, но не было никакой возможности изменить его поведение под нужды коллектива. С точки зрения индустрии программного обеспечения, закрытие программы принтера было необходимым шагом в бизнесе. Программы стали таким ценным активом, что компании больше не могли себе позволить публиковать исходные коды, особенно когда в программах воплощались некие прорывные технологии. Ведь тогда конкуренты могли бы практически бесплатно скопировать эти технологии для своих продуктов. Но с точки зрения Столлмана, принтер был Троянским Конём. После десятка лет неудачных попыток распространения “проприетарных” программ, для которых запрещена свободная раздача и модификация кода, именно такая программа внедрилась в обитель хакеров самым коварным способом – под личиной подарка.

То, что Xerox давал некоторым программистам доступ к коду в обмен на соблюдение секретности, раздражало не меньше, но Столлман с болью признавал, что в более молодом возрасте, скорее всего, согласился бы на предложение Xerox. Инцидент в Карнеги-Меллон укрепил его моральную позицию, не только зарядив его подозрительностью и гневом в отношении подобных предложений в будущем, но и поставив перед ним вопрос: что, если однажды заявится хакер с аналогичной просьбой, и теперь уже ему, Ричарду придётся отказывать в копировании исходников, следуя требованиям работодателя?

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

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

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

Вот в чём важность истории с лазерным принтером и инцидента в Карнеги-Меллон. Без всего этого, как признаёт Столлман, его судьба пошла бы по совсем другому пути, балансируя между материальным достатком коммерческого программиста и окончательным разочарованием в жизни, проведённой за написанием никому не видимого программного кода. Не было бы никакого смысла размышлять об этой проблеме, в которой остальные даже не видели проблему. И самое главное, не было бы той живительной порции гнева, что придала Ричарду энергию и уверенность для движения вперёд.

“В тот день я решил, что никогда и ни за что не соглашусь участвовать в этом”, – говорит Столлман, имея в виду NDA и вообще всю культуру, которая способствует обмену личной свободы на какие-то блага и преимущества.

“Я решил, что никогда не сделаю ни одного человека жертвой, которой стал однажды сам”.

2001: Хакерская одиссея

В двух кварталах к востоку от парка Вашингтон-Сквер стоит здание Уоррена Уивера – брутальное и внушительное, словно крепость. Здесь располагается факультет информатики Нью-Йоркского Университета. Вентиляционная система, выполненная в промышленном стиле, создаёт вокруг здания сплошную завесу горячего воздуха, равно обескураживая снующих дельцов и слоняющихся бездельников. Если посетителю всё-таки удаётся преодолеть эту линию обороны, его встречает следующий грозный рубеж – стойка регистрации прямо у единственного входа.

После стойки регистрации градус суровости атмосферы несколько спадает. Но и здесь посетитель то и дело встречает знаки, предупреждающие об опасности незапертых дверей и заблокированных пожарных выходов. Они словно напоминают, что безопасности и осторожности много не бывает даже в ту спокойную эпоху, что закончилась 11 сентября 2001 года.

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

Пройдя в аудиторию, посетитель видит того самого человека, который ненароком отправил в аут могучую систему безопасности здания. Это Ричард Мэтью Столлман, основатель проекта GNU, учредитель фонда свободного программного обеспечения, лауреат стипендии Мак-Артура за 1990 год, лауреат премии Грейс Мюррей Хоппер за тот же год, сополучатель премии Такеда в области улучшений экономической и социальной жизни, и просто хакер Лаборатории ИИ. Как гласило объявление, разосланное по множеству хакерских сайтов, включая и официальный http://www.gnu.org[9] портал проекта GNU, Столлман прибыл на Манхэттен, в свой родной край, чтобы произнести долгожданную речь в противовес кампании, развёрнутой Microsoft против лицензии GNU GPL.

Речь Столлмана посвящалась прошлому и будущему движения свободного ПО. Место было выбрано неслучайно. За месяц до этого старший вице-президент компании Microsoft Крейг Мунди отметился совсем рядом, в Школе бизнеса того же университета. Отметился речью, которая состояла из нападок и обвинений в адрес лицензии GNU GPL. Эту лицензию Ричард Столлман создал после истории с лазерным принтером Xerox 16 лет тому назад в качестве средства борьбы с лицензиями и договорами, которые окутали компьютерную индустрию непроницаемыми завесами секретности и собственничества. Суть GNU GPL в том, что она создаёт общественную форму собственности – то, что сейчас называется “цифровым достоянием общества” – используя юридическую силу авторского права, то есть именно того, против чего направлена. GPL сделала эту форму собственности безвозвратной и неотчуждаемой – однажды переданный обществу код невозможно отобрать и присвоить. Производные работы, если они используют GPL-код, должны наследовать эту лицензию. Из-за этой особенности критики GNU GPL называют её “вирусной”, как будто она распространяется на каждую программу, которой только касается. [10].

“Сравнение с вирусом это слишком жёстко, – говорит Столлман, – куда лучше сравнение с цветами: они распространяются, если вы активно их рассаживаете”.

Если вы хотите узнать больше о лицензии GPL, посетите сайт проекта GNU http://www.gnu.org/copyleft/gpl.html[11].

Для высокотехнологичной экономики, которая всё больше зависит от программного обеспечения и всё сильнее привязывается к программным стандартам, GPL стала настоящей “большой дубинкой”. Даже те компании, что поначалу потешались над ней, называя “социализмом для программ”, стали признавать преимущества этой лицензии. Ядро Linux, разработанное финским студентом Линусом Торвальдсом в 1991 году, лицензируется под GPL, равно как и большинство компонентов системы: GNU Emacs, GNU Debugger, GNU GCC, и так далее. Все вместе эти компоненты образуют свободную операционную систему GNU/Linux, которая разрабатывается и принадлежит мировому сообществу. Высокотехнологичные гиганты вроде IBM, Hewlett-Packard и Oracle вместо того, чтобы видеть в постоянно растущем свободном ПО угрозу, используют его как основу для своих коммерческих приложений и сервисов. [12].

Также свободное ПО стало их стратегическим инструментом в затяжной войне с корпорацией Microsoft, которая доминирует на рынке программ для персональных компьютеров с конца 80-х годов. Обладая самой популярной настольной операционной системой – Windows – Microsoft может понести наибольшие потери от распространения GPL в индустрии. Каждая программа в составе Windows защищена авторскими правами и лицензионными соглашениями типа EULA, в результате исполняемые файлы и исходные коды становятся собственническими, лишая пользователей возможности читать и изменять код. Если Microsoft захочет использовать GPL-код в своей системе, ей придётся перелицензировать всю систему под GPL. А это даст конкурентам Microsoft возможность копировать её продукты, улучшать и продавать их, тем самым подрывая саму основу бизнеса компании – привязку пользователей к её продукции.

Вот откуда растёт обеспокоенность Microsoft широким принятием GPL индустрией. Вот почему недавно Мунди в своей речи обрушился на GPL и открытый код. (Microsoft даже не признаёт термина “свободное программное обеспечение”, предпочитая использовать в своих нападках выражение “открытый код”, о котором говорится в . Делается это для того, чтобы сместить внимание общественности от движения за свободное ПО в сторону большей аполитичности). Именно поэтому Ричард Столлман решил сегодня в этом кампусе публично возразить этой речи.

Двадцать лет для индустрии ПО это большой срок. Только подумайте: в 1980 году, когда Ричард Столлман проклинал лазерный принтер Xerox в лаборатории ИИ, Microsoft не была мировым гигантом компьютерной индустрии, она была небольшим частным стартапом. IBM ещё даже не представил свой первый ПК и не взорвал рынок недорогих компьютеров. Не было и многих технологий, которые мы сегодня воспринимаем как должное – интернета, спутникового телевидения, 32-битных игровых приставок. То же касается и многих компаний, что сейчас “играют в высшей корпоративной лиге”, вроде Apple, Amazon, Dell – их либо не было в природе, либо они переживали не лучшие времена. Примеры можно приводить долго.

Среди тех, кто ценит развитие больше свободы, бурный прогресс за столь короткое время приводится в составе аргументов и за, и против GNU GPL. Сторонники GPL обращают внимание на недолгую актуальность компьютерного оборудования. Во избежание риска купить устаревший продукт, потребители стараются выбирать самые перспективные компании. В результате рынок становится ареной, где победитель получает всё. [13] Собственническая программная среда, по их словам, приводит к диктатуре монополий и стагнации рынка. Богатые и могущественные компании перекрывают кислород мелким конкурентам и новаторским стартапам.

Их оппоненты утверждают прямо противоположное. По их словам, продажа ПО – такое же рискованное занятие, как и его производство, если не больше того. Без юридических гарантий, которые обеспечивают собственнические лицензии, у компаний не будет мотивов заниматься разработкой. Особенно актуально это для “убийственных программ”, создающих совершенно новые рынки. [14] И снова на рынке воцаряется застой, инновации идут на убыль. Как сам Мунди заметил в своей речи, “вирусный” характер GPL “несёт угрозу” любой компании, которая использует уникальность своего программного продукта в качестве конкурентного преимущества.

Это также подрывает саму основу независимого сектора коммерческого ПО, потому что фактически делает невозможным распространение ПО по модели покупки продукции, а не только оплаты копирования.[15] ...


Все права на текст принадлежат автору: Ричард Столлман.
Это короткий фрагмент для ознакомления с книгой.
Ричард Столлман и революция свободного программного обеспеченияРичард Столлман