В оглавление

<<<>>>

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

Как можно улучшить или отремонтировать вещь, если у вас нет доступа к информации об ее устройстве? По мнению хакеров, для развития творческих способностей должен быть реализован свободный обмен информацией, а в особенности компьютерными программами. Если вспомнить историю с TX-0, которая поступила в МТИ без всякого программного обеспечения, то для того, чтобы сделать процесс программирования более легким, все самоотверженно писали системный софт. Эти "программы для изготовления других программ", лежали в ящике стола и любой, кому нужно было поработать на машине, мог взять их и пользоваться. Это позволяло избегать повторного изобретения велосипеда, что в противном случае отнимало бы массу времени и сил. Вместо того чтобы писать каждый раз свою собственную версию программы, все имели доступ к наилучшей получившейся версии, и любой, у которого было время и желание, мог покопаться в исходниках и улучшить их. Мир, наводненный полновесными программами, «бамнутными» до своего минимума и отлаженными до совершенства – такова была хакерская мечта.

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

Не доверяйте полномочиям, продвигайте децентрализацию.

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

Миниатюрная модель бюрократического мира существовала в очень большой компании под названием IBM. Причина, по которой она изготовляла свои Неуклюжие Гиганты, работающие в пакетном режиме, была только частично связана с использованной технологией электронных ламп. Истинная причина заключалась в том, что IBM была неуклюжей и неповоротливой компанией, которая не воспринимала хакерские идеи. Если бы IBM имела возможность влиять на мир (по крайней мере, так думали хакеры), то весь мир бы работал в пакетном режиме, пробитый на этих маленьких пакостных перфокартах, и в реальности только самым привилегированным из Жрецов можно было бы приближаться к компьютеру.

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

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

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

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

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

Хорошим примером этому явилось быстрое вхождение двенадцатилетнего Питера Дейча в сообщество хакеров TX-0 (и это притом, что аспиранты-нехакеры не воспринимали его всерьез). И сколько бы впечатляющих рекомендаций не было у человека, он не заслуживал уважения, пока он не доказывал свои способности за консолью компьютера. Эта черта характера – судить о человеке исключительно по его делам, совсем не означала наличие добродетели, укоренившейся в великодушных хакерских сердцах. Обычно, хакеры обращали гораздо меньше внимания на поверхностные характеристики конкретного человека. Их гораздо больше интересовал его практический потенциал в продвижении общего хакерского дела, создании новых программ, которыми можно было бы вместе восхищаться, и его способность поддерживать разговор о новых свойствах системы.

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

Музыкальная программа Самсона была тому примером. Но для хакеров, искусство программирования не сводилось к умению извлекать приятные звуки из спикера. Программный код сам по себе был красив и совершенен.

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

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

Иногда программный бамминг принимал состязательный характер – своеобразное соревнование мачо, призванное доказать, в первую очередь, самому себе, что ты можешь управлять системой так, что эти элегантные приемы, с помощью которых можно удалить одну или две инструкции из программы, будут непременно оценены по заслугам. Или, что еще лучше, можно было пересмотреть проблему с нуля и разработать новый алгоритм, который бы сократил программу на целый блок команд. (Алгоритм – это специальная процедура, готовый порядок действий, который можно применить к решению сложной компьютерной проблемы; своего рода математическая болванка). Как правило, это можно было сделать, только рассмотрев проблему с такого угла зрения, с которого никто никогда не делал этого раньше, и только детально изучив настоящее и прошлое этой проблемы можно было уловить некоторый общий смысл. Это был своего рода удар, вдохновение, которое испытывает артист. Эта технология, словно позаимствованная у древней марсианской цивилизации, в сочетании с качеством, присущим черным магам и колдунам, позволяла хакерам отбросить традиционные взгляды лучших умов на земле и принести в мир абсолютно новый и неожиданный алгоритм.

Так произошло и с программой печати десятичных чисел. Эта была подпрограмма (т.е. программа внутри программы), иногда использовавшаяся в других программах, и которая позволяла транслировать двоичные числа, которыми оперировал компьютер в обычные десятичные цифры. По словам Сандерса эта проблема являлась «своего рода павлиньим хвостом в программировании, и, если вы могли написать рабочую программу печати десятичных чисел, то вы знали о компьютере достаточно, чтобы расправить хвост и называть себя, в некотором роде, программистом. А если вы были в состоянии написать действительно хорошую процедуру, то вы могли бы попробовать называть себя хакером». Проблема превратилась в больше чем просто состязание, окончательный бамминг процедуры печати десятичных чисел превратился для хакеров в своеобразные поиски Святого Грааля.

В течение нескольких месяцев было изготовлено множество версий процедуры печати десятичных чисел. Если программист был непроходимо глуп, или был полным идиотом и совершенным «лозером», то подпрограмма конверсии отняла бы у него около сотни команд. Но любой хакер, стоивший своего имени, мог уместить ее в меньший объем. В конечном счете, попеременно убирая инструкции то в одном, то в другом месте, процедура была уменьшена до, примерно, пятидесяти инструкций.

<<<>>>