...

Вся информация должна быть свободной.

Если у вас нет доступа к информации, необходимой для улучшения ситуации, как вы можете что-то исправить? Свободный обмен информацией, особенно если она представлена в виде компьютерной программы, обеспечивал бо`льшую творческую активность в целом. Работая на машине типа TX‐0, практически не имевшей программного обеспечения, вы сталкивались с необходимостью писать системные программы, облегчающие программирование. Приходилось придумывать инструменты для создания инструментов. Их хранили в ящике панели управления, и доступ к ним имели все, кто работал за компьютером. Благодаря свободному доступу к системным программам не приходилось всякий раз изобретать велосипед. Не было необходимости каждому писать собственные системные программы — лучшая версия была доступна каждому, и каждый мог свободно копаться в ее коде, совершенствуя его. В мире должны царить полнофункциональные программы, чей код сокращен и отлажен до совершенства.

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

...

Недоверие к власти — продвижение децентрализации.

Лучший способ продвигать свободный обмен информацией — открытая система, не имеющая границ между хакером, информацией или оборудованием, необходимым ему в процессе его познания, совершенствования и просто в течение рабочего времени. Хуже всего, если на пути встает бюрократия. Бюрократия — корпоративная, правительственная или университетская — показывает ущербность системы, неспособной адаптироваться к вновь возникшему исследовательскому стремлению истинных хакеров. Бюрократы прячутся за выдуманными правилами (в отличие от логических алгоритмов, на основе которых работают машины и компьютерные программы). Они используют их для консолидации власти, а конструктивный импульс хакеров воспринимают как угрозу.

Олицетворением всего бюрократического мира была огромная корпорация IBM. Причина, по которой она порождала своих монстров, лишь частично была связана с использованием устаревших радиоламп. Главная же причина крылась в том, что этот неуклюжий бизнес-гигант не успевал реагировать на новые идеи, импульсы хакеров. Если бы компания IBM стала лидером (как думали хакеры TMRC), мир был бы раздавлен титанами с радиолампами и перфокартами, и только привилегированные «жрецы» получали бы доступ к компьютерам.

Чтобы убедиться в этом, достаточно было взглянуть на сотрудника корпорации IBM. Белая, застегнутая до последней пуговки рубашка, аккуратно завязанный черный галстук, тщательно зачесанные волосы и пачка перфокарт в руках. Если прогуляться по вычислительному центру, где сменяли друг друга компьютерные гиганты 704, 709, а затем и 7090 — лучшее достижение компании IBM, то нельзя не обратить внимание на педантичный порядок. Были даже огороженные участки, недоступные к посещению без специального разрешения. По сравнению с этим свободная атмосфера лаборатории с TX‐0, безусловно, выигрывала. Здесь неряшливость была нормой, и любой страждущий мог войти в комнату с компьютером.

IBM сделала и продолжает делать многое для развития вычислительной техники. Благодаря своим ресурсам и мощному влиянию она сделала компьютеры неотъемлемой частью жизни в Америке. Для многих слова IBM и «компьютер» стали синонимами. Машины IBM были надежными рабочими лошадками, достойными доверия бизнесменов и ученых. Отчасти это связывалось с консервативным подходом IBM: компания делает ставку не на технологические новшества, а на проверенные временем принципы и агрессивный маркетинг. Заняв лидирующие позиции на компьютерном рынке, IBM превратилась в скрытную и самодовольную империю.

Что действительно сводило хакеров с ума, так это отношение «жрецов» и «послушников» из компании IBM, считавших, что только их компания производит настоящие компьютеры. Все остальное — мусор. С этими ксенофобами, убежденными в собственном превосходстве, невозможно было говорить. Их мозг перенял у компьютера принцип пакетной обработки данных. Это проявлялось не только в их выборе машин, но и в проведении вычислений, в их представлениях о том, как устроен мир. Они не могли понять очевидного превосходства децентрализованной системы, в которой никто не отдает приказов и в которой все занимаются тем, что им интересно. И если у них на пути возникает препятствие, то оно будет удалено хирургически без оформления кучи бессмысленной макулатуры. Они просто будут действовать.

Эти антибюрократические наклонности отражали характер хакеров, с детства привыкших заниматься научной работой, выходя за рамки привычного, в то время как остальные дети осваивались в социуме, сталкиваясь лбами на спортплощадках. Эти юноши, когда-то чувствовавшие себя изгоями, открыли для себя фантастический мир компьютеров, переживая то, что описал Питер Самсон: «Перед вами будто открылась дверь, пройдя через которую вы попали в совершенно другую вселенную…» Хакеры ощутили власть, сев за панель управления компьютера стоимостью в миллион долларов. И любое ограничение этой власти вызывало их возмущение и недоверие.

...

Хакеров нужно оценивать по фактическим навыкам, а не по фальшивым критериям, таким как образование, возраст, раса или положение в обществе.

Подтверждением и ярким примером этого принципа служит принятие двенадцатилетнего Питера Дойча в хакерское сообщество (хотя остальные студенты не принимали его всерьез). С другой стороны, какие бы документальные рекомендации ни предъявлял новичок, к нему начинали относиться всерьез, только когда он показывал, на что способен за панелью управления компьютером. Соблюдение принципа меритократии вовсе не означало врожденную доброту хакерских сердец. Просто им важнее не внешний вид человека, а его способности творить во благо хакерства, создавать новые восхитительные программы, а также то, можно ли с ним обсудить новые свойства системы.

...

С помощью компьютера можно создавать искусство и красоту.

Музыкальная программа Самсона была тому примером. Но для хакеров искусство программирования не сводилось к умению извлечь приятные звуки из компьютера. Красота заключена в самом программном коде. Хотя Самсон отказывался комментировать свой исходный код для более легкого понимания. Одна из его удачных программ, получившая большую популярность, содержала сотни команд на языке ассемблера. И во всем массиве кода затесался лишь один комментарий в строке номер 1750 — RIPJSB. Пользователи сломали себе головы, пытаясь разгадать загадку этого комментария, пока кто-то не догадался, что в 1750 году умер Бах и RIPJSB означает «Покойся с миром, Иоганн Себастьян Бах» (Rest In Peace Johann Sebastian Bach).

Возникла определенная эстетика стиля программирования. Из-за ограниченного объема памяти TX‐0 (недостаток, свойственный всем компьютерам той эпохи) хакеры высоко ценили инновационные приемы, позволявшие программам выполнять сложные задачи при помощи небольшого количества команд. Чем короче код, тем больше места остается для других программ и тем быстрее она выполняется. Если вы не сильно обращали внимание на скорость выполнения программы и ее размер, а также не гнались за красотой и искусством, то можно было бы хакнуть неудачную программу методом грубой силы. «Ну, мы можем сделать это, добавив двадцать команд, — сказал бы сам себе Самсон. — Ведь гораздо проще написать их, чем придумывать цикл в начале и конце кода, чтобы достичь того же результата с помощью семи или восьми команд». Но только второй вариант вызвал бы восторг друзей-хакеров. Некоторые программы Самсон так искусно втискивал всего лишь в несколько команд, что при взгляде на его код хакеры таяли от восхищения.

Иногда втискивание программ превращалось в некое соревнование, состязание мачо, призванное доказать, и прежде всего самому себе, что он виртуозно владеет системой и может элегантно удалить одну-две команды или, еще лучше, переработать весь алгоритм и создать новый, укороченный на целый блок команд. Алгоритм — специфическая процедура, применяемая для решения сложной компьютерной задачи, своего рода математическая отмычка. Для этого надо взглянуть на проблему с необычного ракурса, так, как никто до вас не смотрел на нее. Только тогда можно осознать общий смысл проблемы. Подобная гениальная марсианская техника позволяла пережить озарение, ощутить присутствие музы, позволявшую хакеру отбросить все ранее придуманное другими умами и создать совершенно новый алгоритм. Так произошло с программой вывода десятичных чисел. Она использовалась для интеграции во множество других программ и перевода двоичных чисел, которыми оперирует компьютер, в привычные десятичные числа. Сондерс назвал задачку «программированием с павлиньим хвостом»: если вы можете написать простенькую рабочую программу перевода в десятичные числа, значит, ваши знания о компьютере вполне достаточны, чтобы расправить хвост и называть себя программистом. А вот если вы можете написать отличный алгоритм перевода в десятичные числа, то у вас есть право именовать себя хакером. Решение задачи перешло из ранга простого соревнования в своеобразный поиск хакерами чаши Грааля.