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

Но проблема несовместимости скоро снова дала о себе знать уже в других местах. Главной причиной её возвращения были тихие модификации кода отдельных экземпляров Emacs, о которых авторы не рассказывали остальным хакерам. В результате поведение этих экземпляров шло вразрез с поведением общей версии Emacs. Тогда Столлман решил внести в код специальную функцию, реализующую один из основных постулатов хакерской этики: пользователь получал право изменять код только в том случае, если он обязывался возвращать свои изменения в общую версию Emacs. Столлман назвал это “вступлением в коммуну Emacs”. Так же, как и TECO ранее, Emacs стал чем-то большим, чем просто компьютерной программой. Для Столлмана это был общественный договор. В документации 1981 года Ричард изложил его условия: “Emacs распространяется как общественный продукт, это значит, что все свои улучшения вы должны выслать мне для их внедрения и распространения в основной версии Emacs”.[61]

Оригинальный Emacs работал только на PDP-10, но скоро пользователи захотели работать в нём на других компьютерах. Снова произошёл взрывной рост, только теперь уже не макросов, а версий редактора, похожих на Emacs, с очень разным уровнем совместимости. Правила коммуны Emacs на них не распространялись, потому что те редакторы были написаны с нуля. Некоторые из них в названии иронично обыгрывали название оригинала: Sine (“Sine is not Emacs” или “Sine это не Emacs”), Eine (“Eine is not Emacs”), и даже Zwei (“Zwei was Eine initially” или “Zwei поначалу был Eine”). Оригинальный Emacs был полностью программируемым, но некоторые клоны предоставляли лишь ограниченный набор команд без возможности расширения, такие версии назывались “эрзац-Emacs”. Таким был Mince (“Mince is Not Complete Emacs” или “Mince это не совсем Emacs”).

В то время как Ричард разрабатывал Emacs в Лаборатории, хакерское сообщество потрясали тревожные известия. В 1979 году Брайан Рид встроил “тайм-бомбы” в Scribe, чтобы воспрепятствовать свободной раздаче редактора, и это ужаснуло Столлмана. “Он называл это самым фашистским поступком, который он только видел в своей жизни”, – вспоминает сам Рид. Даже после того, как благодаря усилиям Рида появилась иерархия alt в Usenet, поступок 1979 года продолжал омрачать его репутацию, по крайней мере, в глазах Столлмана. “Он говорил, что все программы должны быть бесплатными, и что взимание денег за ПО это преступление против человечества”.[62]

Столлман был не в силах помешать действиям Рида, но он мог бороться с другими формами поведения, которые противоречили хакерской этике. Будучи главным сопровождающим разработки Emacs, Ричард начал вовсю пользоваться своим положением для продвижения своих идей. На последнем этапе долгого конфликта хакеров с управляющими Лаборатории, когда дело дошло до реального внедрения систем безопасности с паролями, Столлман забастовал, отказываясь раздать этим сотрудникам последнюю версию Emacs, пока они не откажутся от своих намерений. [63] Это был скорее жест, чем реальное ограничение, потому что этим сотрудникам ничего не мешало самим скопировать и установить последнюю версию Emacs. Но посыл Ричарда был очевиден всем.

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

Со временем Emacs стал платформой для продвижения хакерской этики. Уровень гибкости, заданный Столлманом, не только поощрял сотрудничество, но даже требовал его. Пользователи, которые отстранялись от сообщества Emacs, не получали важных изменений – новых возможностей и исправлений ошибок. При этом история развития Emacs впечатляет. За 20 лет GNU Emacs научился быть электронной таблицей, базой данных, веб-браузером, личным психиатром, и даже простым текстовым редактором, и разработчики даже не думают удалять какие-то функции, заботливо перенося их в код новых версий. “Это наше видение идеального текстового редактора, – говорит Столлман, – его возможности восхищают и ужасают одновременно”.

Другие работники Лаборатории отзываются о редакторе куда милосерднее. Хэл Абельсон, аспирант МТИ, который работал с Сассменом в 70-х, и позже стал участником фонда свободного ПО, называет Emacs “совершенно гениальным творением”. Дав свободу программистам конструировать какие угодно функции, не нарушая работу системы, Столлман проложил путь к сложным программным проектам, над которыми работали огромные коллективы. “Структура редактора оказалась достаточно устойчивой, чтобы тысячи людей со всего мира развивали его согласно своим вкусам, – сказал Абельсон, – даже не знаю, бывало ли такое раньше.”[65]

Перейти на страницу:

Похожие книги