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