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

Столлман выслушал местные предания о том, как хакеры творчески преодолевали всякие бюрократические препятствия, в частности – всеми способами “высвобождали” заблокированные профессорами терминалы. Нет, здесь не процветало собственническое отношение к компьютерам, как в Гарварде. Здесь кто-нибудь мог заблокировать доступ просто по рассеянности, уходя домой вечером. Тогда хакеры спешили исправить положение и на следующий день высказать виновнику протест против такого неконструктивного поведения. Иногда приходилось “хакать замки” или проникать в запертый кабинет через фальшпотолок. Был случай, когда он обвалился вместе с незадачливым “хакером”. Столлман рассказывает, что однажды ему показали тележку с увесистым металлическим брусом, которой таранили дверь одного профессора.[32]

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

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

Ярче всего эта задорная мотивация отражалась в операционной системе для мейнфрейма PDP-10, которую разработали тут же, в Лаборатории на замену CTSS – системе, оставшейся от проекта MAC. Аббревиатура CTSS расшифровывалась как “совместимая система разделения времени”, а система, написанная хакерами, получила название ITS – “несовместимая система разделения времени”. CTSS не нравилась хакерам из-за своей архитектуры – возможности модификации и расширения были сильно ограничены. ITS была, по сути, молчаливым протестом против таких ограничений. Местные хакерские предания говорили и о политических мотивах создания ITS. Дело в том, что ITS разработали конкретно под PDP-6, тогда как CTSS предназначалась для IBM 7094. Начальство Лаборатории осознанно позволило хакерам создать систему для PDP-6, да ещё и такую систему, которой нормально пользоваться могли лишь сами хакеры. Это был неплохой ход конём – PDP-6 Лаборатория ИИ делила с другими отделами, но после создания ITS они пользовались этой машиной всё реже и реже, пока и фактически, и формально PDP-6 не перешёл в полное распоряжение Лаборатории. Благодаря ITS и PDP-6 в единоличном владении, Лаборатория перестала зависеть от проекта MAC ещё до прибытия Столлмана.[33]

К 1971 году ITS перевели на новую машину – PDP-10. Она была совместима с PDP-6, которую оставили для специальных и личных нужд. В этой PDP-10 было очень много памяти по тем временам – больше 1 мегабайта, и в конце 70-х годов её объём удвоили. В рамках проекта MAC купили ещё 2 PDP-10, их установили также на 9 этаже здания, и на обоих компьютерах вскоре воцарилась ITS. Хакеры, которые занимались оборудованием, разработали и встроили в эти машины механизм страничной организации виртуальной памяти, которого не было в стандартном PDP-10. [34].

Будучи учеником хакеров и впитывая их идеалы, Столлман буквально влюбился в ITS. Эта система имела ряд недоступных для не-хакеров возможностей, которых не было ни в одной коммерческой системе тех лет: многозадачность, отладка любой программы в режиме реального времени, редактирование в полноэкранном режиме.

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

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

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

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