Хакеры, герои компьютерной революции
Шрифт:
Также, хакеры привыкли использовать маленькие излишества, являющиеся следствием полного контроля над PDP-6, такие, например, как возможность отслеживать программу по миганию огней (которые показывали какие регистры у машины используются в конкретный момент времени). При разделении времени этими приятными мелочами пользоваться было бы нельзя.
По существу, проблема с разделением времени была скорее вопросом эстетики. Основная идея заключалась в том, что нарушалось общее управление компьютером. Даже если система с разделением времени позволяла бы отвечать машине в точности также как если бы это было в однопользовательском режиме, вы все равно знали что целиком она вам не принадлежит. Это было примерно тоже самое как заниматься
Упрямство хакеров в этом вопросе показывало их преданность качеству вычислений: они не были готовы идти на уступки, используя систему низкого качества, которая могла бы обслуживать больше людей и возможно нести в народ идею хакерства. С их точки зрения, использование наилучшей системы было более правильной идеей служения хакерству. Система с разделением времени сюда не укладывалась.
Фредкину пришлось ввязаться в сложную политическую борьбу. Его стратегией было обработать самых яростных противников разделения времени из лагеря Гринблатта. С самим Гринблаттом у него были весьма дружеские отношения, он был единственным на девятом этаже, который называл Гринблатта - Рики. Поэтому он ему всячески льстил и обхаживал его. Он рассказывал Гринблатту как можно будет увеличить мощность PDP-6, установив в нее дополнительную память, так что у нее будет памяти больше у любого другого компьютера в мире. Он обещал, что система с разделением времени будет лучше любая виденная ранее, и хакеры будут иметь над ней полный контроль. Он обрабатывал Гринблатта в течение многих недель, и, в конце концов, Рики Гринблатт согласился с тем, что на PDP-6 следует реализовать разделение времени.
Спустя некоторое время, Фредкин сидел в своем кабинете, когда открылась дверь и внутрь зашел Билл Госпер во главе группы из нескольких хакеров. Они встали в линию перед столом Фредкина и дружно вперились в него ледяным взглядом.
"Что случилось?", - спросил Фредкин.
Некоторое время они продолжали на него смотреть. В конце концов, они начали говорить.
"Мы хотели бы знать, что ты сделал с Гринблаттом", - сказали они, - "У нас есть причины полагать, что ты его загипнотизировал".
Госпер особенно тяжело воспринимал идею совместного управления PDP-6. Его поведение напоминало Фредкину о архитекторе по имени Рурк из книги Эйна Рэнда "The Fountainhead", который сделал проект прекрасного здания, а когда начальники Рурка вмешались в проект и испортили его прекрасный замысел, Рурк в итоге взорвал здание.
Фредкин позднее вспоминал, что Госпер говорил ему, что если на PDP-6 будет сделано разделение времени, то он уничтожит машину. "Так же как Рурк", - говорил Фредкин, - "Он чувствовал, что если эта ужасная вещь все-таки случиться, то вам следует все это взорвать и разломать. Я понимал его чувства, а поэтому придумал компромисс".
Компромисс заключался в том, что ночью машина могла работать в однопользовательском режиме, так что хакеры могли продолжать запускать на ней гигантские дисплейные программы и полностью управлять PDP-6.
Полностью эксперимент в разделении времени завершился не так уж и плохо. Причиной этому было создание новой системы с разделением времени, системы, душой которой была Хакерская Этика.
* * *
Ядро системы было написано Гринблаттом и Нельсоном за несколько недель упорного хакинга. После того как некоторая часть программного обеспечения была написана, Том Найт и остальные сделали необходимую для него настройку оборудования, а также добавили память - состоявшую из большого шкафа, шириной в обхвате как две стиральных машины Landromat, которая немедленно получила прозвище Moby Memory.
Администрация одобряла работу хакеров над системой, поэтому Гринблатт и остальные пользовались полной властью в отношении того как ее следует делать. Признаком того что эта система отличается
Название было ироничным, в плане дружественности остальных систем и программ, ITS была куда как более совместима, чем CTSS. В соответствии с Хакерской Этикой, ITS могла быть легко связана с другими вещами, таким образом, что она могла бесконечно расширяться, а пользователи могли пробовать этот мир более эффективным способом.
Как и в любой системе расширения времени, на ITS несколько пользователей могли запускать несколько программ одновременно. Но в этой системе один пользователь мог одновременно запускать несколько программ. В ITS делался сильный акцент на использование преимуществ дисплеев, в частности была реализована весьма продвинутая система редактирования, которая работала в полноэкранном режиме ("за несколько лет до того как этим начался пользоваться весь остальной мир", - позднее хвастался Гринблатт). Так как хакеры хотели, чтобы машина работала максимально быстро (так же как и в однопользовательском режиме), Гринблатт и Нельсон написали код на машинном языке, который позволял осуществлять беспрецендентный контроль над системой разделения времени.
Внутри ITS было еще более сильное олицетворение Хакерской Этики. В отличие от остальных систем с разделением времени ITS не использовала паролей. Она была сделана так, что позволяла хакерам иметь доступ к любому пользовательскому файлу. Старая практика держать ленты в ящике, в коллективной программной библиотеке, которая позволяла остальным пользоваться ими и совершенствовать их, была реализована и в ITS. Каждый пользователь мог иметь набор персональных файлов, которые хранились на диске. Открытая архитектура ITS подталкивала пользователей просматривать эти файлы, смотреть какими интересными хаками занимаются остальные, искать ошибки в программах и устранять их. Если, к примеру, вам нужна была функция, которая рассчитывает косинус, вы могли полазить по файлам Госпера и найти его хак, который считал синус при помощи десяти команд. Вы могли бы посмотреть программы признанных хакеров, посмотреть идеи, в них содержащиеся, и восхититься тем, что они сделали. Идея была в том, что программы принадлежали не конкретным людям, а всему миру пользователей.
В ITS также сохранялось чувство сообщества, которое было у хакеров, когда на машине работал только один пользователь, а все остальные грудились вокруг и смотрели что он кодирует. Посредством хитрой координатной коммутационной системы, пользователь не только мог определить, кто еще работал в системе, просто набрав команду, но и переключиться на монитор пользователя. Можно было работать одновременно с другим пользователем. Например, Найт мог войти в систему, обнаружить что Госпер сидит на другом порту, вызвать его программу, а затем писать свой код в программу, которую хачил Госпер.
Данное свойство использовалось всеми возможными способами. Позже, когда Найт делал сложные графические терминалы, могло быть так, что пользователь сидел в тяжких раздумьях над своей программой, и вдруг, внезапно на экране появлялся шестиногий? жук. Он начинал ползать по экрану, начинал поедать ваш код, роняя повсюду маленькие светящиеся крошки. В это время за другим терминалом бился в истерическом смехе хакер, который таким непонятным способом, сообщал вам, что в вашей программе находится ошибка. И хотя любой подключившийся к системе пользователь мог заниматься не только вещами такого рода, но и забраться в ваши каталоги и удалить файлы (как они говорили "репать"), которые в них находились, ваши программы, которые вы долго и упорно хачили и другую ценную информацию, такого никогда не делалось. При работе на ITS, хакеры всегда следовали правилам чести.