“Когда пароли начали появляться на компьютерах Лаборатории ИИ, я решил следовать своему убеждению, что паролей быть не должно, – говорил позже Столлман, – а поскольку я считал, что компьютерам не нужны системы безопасности, я не должен был поддерживать эти меры по их внедрению”.[75]
Отказ Столлмана преклонить колени перед великой и ужасной машиной Оз показывал, что между хакерами и начальством Лаборатории росла напряжённость. Но напряжённость эта была лишь бледной тенью того конфликта, что бушевала в самом хакерском коллективе, который разделился на 2 лагеря: LMI (Lisp Machines Incorporated) и Symbolics.
Symbolics получила немало вложений извне, чем привлекла многих хакеров Лаборатории. Они работали над системой Lisp-машины и в МТИ, и за его пределами. К концу 1980 года компания наняла 14 сотрудников Лаборатории в качестве консультантов для разработки собственной версии Lisp-машины. Остальные хакеры, не считая Столлмана, работали на LMI. [76] Ричард решил не занимать ничью сторону, и по привычке был сам по себе.
Первое время хакеры, нанятые Symbolics, продолжали работать и в МТИ, совершенствуя систему Lisp-машины. Они, как и хакеры от LMI, использовали для своего кода лицензию MIT. Она требовала возвращать изменения в МТИ, но не требовала от МТИ распространять эти изменения. Тем не менее, в течение 1981 года хакеры придерживались джентльменского соглашения, по которому все их улучшения вносились в Lisp-машину от МТИ и распространялись среди всех пользователей этих машин. Такое положение вещей ещё сохраняло какую-то стабильность хакерского коллектива.
Но 16 марта 1982 года – Столлман хорошо помнит этот день, потому что это был его день рождения – джентльменскому соглашению пришёл конец. Это произошло по воле руководства Symbolics, оно таким образом хотело придушить своего конкурента – компанию LMI, на которую работало намного меньше хакеров. Руководители Symbolics рассудили так: если у LMI в разы меньше сотрудников, то получается, что общая работа над Lisp-машиной выгодна именно ей, и если прекратить этот обмен наработками, то LMI будет уничтожена. С этой целью они решили злоупотребить буквой лицензии. Вместо того, чтобы вносить изменения в МТИ-версию системы, которой могла воспользоваться LMI, они начали поставлять в МТИ Symbolics-версию системы, которую они могли править как угодно. Выходило, что любое тестирование и редактирование кода Lisp-машины в МТИ шло только в пользу Symbolics.
Как человек, ответственный за сопровождение лабораторной Lisp-машины (первые несколько месяцев – при помощи Гринблатта), Столлман пришёл в ярость. Хакеры Symbolics предоставили код с сотнями изменений, которые вызывали ошибки. Расценив это как ультиматум, Столлман отключил линию связи Лаборатории с Symbolics, поклялся больше никогда не работать на машинах этой компании, и объявил о присоединении к работе над Lisp-машиной МТИ для поддержки LMI. “В моих глазах Лаборатория была нейтральной страной, как Бельгия во Вторую Мировую войну, – рассказывает Столлман, – и если Германия вторгается в Бельгию, та объявляет Германии войну и присоединяется к Британии и Франции”.
Когда руководители Symbolics заметили, что их последние новшества всё так же появляются и на МТИ-версии Lisp-машины, они разозлились и стали обвинять хакеров Лаборатории в воровстве кода. Но Столлман нисколько не нарушал закона об авторском праве. Он изучил код, предоставленный Symbolics, и сделал логичные предположения о будущих исправлениях и усовершенствованиях, которые и стал реализовывать с нуля для Lisp-машины МТИ. Руководители Symbolics не верили этому. Они установили шпионскую программу на терминал Столлмана, которая записывала всё, что Ричард делал. Так они надеялись собрать улики воровства кода и показать их администрации МТИ, но даже к началу 1983 года показывать было почти нечего. Всё, что у них было, это какая-то дюжина мест, где код двух систем выглядел немного схоже.
Когда администраторы Лаборатории показали доказательства Symbolics Столлману, он опроверг их, сказав, что код был именно похожим, но не одинаковым. И обратил логику руководства Symbolics против него самого: если эти крупицы похожего кода – всё, что на него смогли накопать, то это лишь доказывает, что Столлман на самом деле не воровал код. Этого было достаточно, чтобы управляющие Лабораторией одобрили работу Столлмана, и он продолжал её до конца 1983 года. [77].
Но свой подход Столлман изменил. Чтобы максимально обезопасить себя и проект от претензий Symbolics, он совсем перестал смотреть в их исходные коды. Он стал писать код исключительно по документации. Самые большие новшества Ричард не ждал от Symbolics, а реализовывал сам, потом лишь добавлял интерфейсы для совместимости с реализацией Symbolics, опираясь на их документацию. Также он читал список изменений в коде Symbolics, чтобы понять, какие ошибки они исправляли, и исправлял эти ошибки самостоятельно, другими способами.