Выбрать главу

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

Увольнение лишило его возможности обращаться к юридической поддержке МТИ. Но у него оставалось достаточно сторонников, чтобы дальше пользоваться оборудованием и помещениями Лаборатории. Также Ричард мог использовать сторонние юридические консультации для поддержки проекта GNU на ранних этапах. Впрочем, от института Столлман несколько отдалился, отвергнув все притязания МТИ на код, что он написал, будучи сотрудником Лаборатории. Человеку, который десяток лет назад нашёл в Лаборатории спасение от ужасной социальной изоляции, теперь приходилось строить правовые барьеры между нею и собой.

Первые месяцы Столлман работал и отдельно от Unix-сообщества. Его призыву в группе net.unix-wizards симпатизировали, но тех, кто решился поддержать начинание каким-то делом, можно было пересчитать по пальцам одной руки.

“Члены сообщества были почти единогласны в отзывах, – вспоминает Рич Морин, лидер группы пользователей Unix тех времён, – они говорили: ‘О, это классная идея. Покажи нам свой код. Покажи, что это вообще возможно’.”

Осознавая масштабность замысла, Столлман решил использовать все существующие свободные программы, какие только можно было достать. Он стал искать такие программы и утилиты, которые мог бы переделать для GNU. Одним из первых кандидатов стал компилятор FUCK, что переводил программы с языка программирования С в машинный код. Название FUCK было акронимом: Free University Compiler Kit, и слово “Free” в нём обнадёживало. Ричард спросил у автора программы, действительно ли она свободна. Тот ответил, что слова “Free University” обозначали Амстердамский свободный университет, а не саму программу. Столлман огорчился.

“Он насмешливо ответил, что университет свободен, а компилятор – нет”, – вспоминает Ричард. Автор не просто отказался помочь, он ещё и предложил Столлману бросить затею с проектом GNU и в обмен на долю прибыли написать несколько дополнений к FUCK, чтобы подстегнуть продажи компилятора. “Поэтому я решил, что первой программой проекта GNU станет мультиязычный и мультиплатформенный компилятор”.[82]

Махнув рукой на FUCK, Столлман снова принялся за поиски, и скоро нашёл компилятор Pastel (“не цветной Паскаль”), написанный программистами Ливерморской национальной лаборатории им. Лоуренса. Они дали копию компилятора Ричарду и сказали, что он волен делать с нею всё, что вздумается. К сожалению, компилятор был непригоден к использованию в GNU из-за непомерных аппетитов к оперативной памяти. Он анализировал в ней весь входной файл, и потом держал в ней все его данные до самого окончания компиляции. На мейнфреймах это не вызывало проблем, но на Unix-системах даже у 32-битных версий зачастую не было столько оперативной памяти. Столлман начал было работать над этим компилятором, создав интерфейс для языка С и опробовав её на большом компьютере VAX, но во время переноса программы на платформу 68010 начались падения из-за нехватки памяти, и Ричард понял, что остаётся только создать новый компилятор с нуля. Пройдёт время, и Столлман сделает это, создав GNU C Compiler или GCC. Но в 1984 году он ещё не совсем понимал, как взяться за это дело, так что временно переключился на другие задачи проекта GNU.

Самым очевидным шагом был выпуск GNU-версии редактора Emacs, этим Столлман и занялся в сентябре 1984 года. Сообщество Unix уже имело два родных для этой системы текстовых редактора: vi, написанный сооснователем Sun Microsystems Биллом Джоем, и ed, созданный учёным Bell Labs и одним из создателей Unix Кеном Томпсоном. Оба редактора были мощными и очень популярными, но до практически неограниченной мощи Emacs им было далеко.

Сейчас Ричард говорит, что не придавал этому решению стратегического значения. “Я просто хотел заниматься Emacs, и у меня был отличный повод им заняться”.

И тут Столлман смог воспользоваться уже существующим кодом, чтобы сэкономить время. Он скоро обнаружил версию Emacs, написанную на языке С аспирантом Карнеги-Меллона Джеймсом Гослингом. Она называлась Gosling Emacs или просто Gosmacs. Эта версия включала в себя интерпретатор упрощённого диалекта языка Lisp под названием Mocklisp. И хотя Гослинг защитил свою версию редактора авторским правом и потом продал его компании UniPress, Столлман получил карт-бланш от одного из разработчиков, который работал над Gosmacs на раннем этапе, и которому за это Гослинг дал полные права на ту раннюю версию редактора.

вернуться

82

Richard Stallman, “The GNU Operating System and the Free Software Movement,” Open Sources (O’Reilly & Associates, Inc., 1999): 65.