Хотя я уверен, что не каждый читатель испытывает к Столлману одинаковую степень симпатии — действительно, после прочтения этой книги у кого-то она может оказаться нулевой, — я уверен, что большинство согласится. Лишь немногие люди представляют собой столь уникальный человеческий портрет, как Ричард М. Столлман. Я искренне надеюсь, что после завершения этого первоначального портрета и с помощью GFDL у других появится аналогичное желание внести в него свою собственную перспективу.
Приложение А: Терминология
По большей части я решил использовать термин GNU/Linux применительно к операционной системе свободного программного обеспечения и Linux при ссылке непосредственно на ядро, управляющее этой операционной системой. Наиболее заметное исключение из этого правила встречается в главе 9. В финальной части этой главы я описываю раннюю эволюцию Linux как ответвления Minix. Можно с уверенностью сказать, что в течение первых двух лет разработки проекта операционная система, над которой работали Торвальдс и его коллеги, имела мало общего с системой GNU, задуманной Столлманом, даже несмотря на то, что она постепенно начала разделять ключевые компоненты, такие как компилятор GNU C и отладчик GNU.
Это решение дополнительно подкрепляется тем фактом, что до 1993 года Столлман видел мало необходимости настаивать на указании авторства.
Кто-то может счесть решение использовать GNU/Linux для более поздних версий той же операционной системы произвольным. Хотел бы отметить, что оно никоим образом не было предварительным условием для получения содействия Столлмана в создании этой книги. Я пришел к нему по собственной воле, отчасти из-за модульной природы операционной системы и окружающего ее сообщества, а отчасти из-за аполитичного характера названия Linux. Учитывая, что это биография Ричарда Столлмана, определять операционную систему в аполитичных терминах казалось неуместным.
На завершающих этапах работы над книгой, когда стало ясно, что издателем книги будет O'Reilly & Associates, Столлман действительно поставил условие: использовать «GNU/Linux» вместо Linux, если O'Reilly рассчитывает на то, что он окажет промоутерскую поддержку книге после ее выхода. Узнав об этом, я передал свое ранее принятое решение и оставил на усмотрение Столлмана оценку того, отвечает ли получившаяся книга этому условию. На момент написания этих строк я понятия не имею, каким будет решение Столлмана.
Аналогичная ситуация складывается вокруг терминов «свободное программное обеспечение» и «открытый исходный код». И здесь я предпочел более политизированный термин «свободное программное обеспечение», описывая программные продукты, поставляющиеся с исходным кодом, который можно свободно копировать и модифицировать. Хотя термин «открытый исходный код» более популярен, я решил использовать его только при упоминании групп и предприятий, которые отстаивали его применение. За редким исключением эти термины полностью взаимозаменяемы, и, принимая такое решение, я последовал совету Кристин Питерсон — человека, которому обычно приписывают создание этого термина. «Термин „свободное программное обеспечение“ по-прежнему следует использовать в тех обстоятельствах, где он работает лучше, — пишет Питерсон. — [„Открытый исходный код“] прижился главным образом потому, что возникла острая необходимость в новом термине, а не потому, что он идеален».
Приложение Б: Хак, хакеры и хакерство
Чтобы понять полное значение слова «хакер», полезно проследить этимологию этого слова с течением лет.
«Новый словарь хакера», онлайн-компендиум жаргона программистов, официально перечисляет девять различных коннотаций слова «хак» и примерно столько же для слова «хакер». Впрочем, то же издание содержит и сопутствующую статью, в которой цитируется Фил Агре, хакер из Массачусетского технологического института, предостерегающий читателей от заблуждений относительно кажущейся гибкости этого слова. «У хака есть только одно значение, — утверждает Агре. — Чрезвычайно тонкое и глубокое, которое не поддается формулировке».
Независимо от широты или узости определения, большинство современных хакеров возводят происхождение слова к Массачусетскому технологическому институту, где этот термин зародился как популярный элемент студенческого жаргона в начале 1950-х годов. В 1990 году Музей Массачусетского технологического института выпустил журнал, документирующий феномен хакерства. Согласно журналу, студенты, учившиеся в институте в пятидесятые годы, использовали слово «хак» так, как современный студент мог бы использовать слово «валять дурака» или «тусоваться». Подвесить старую колымагу за окном общежития считалось «хаком», но все жесткое или злонамеренное — например, закидывать яйцами окна враждебного общежития или портить статую на кампусе — выходило за рамки дозволенного. В основе определения «хака» лежал дух безобидного, творческого веселья.
Этот дух вдохновил появление у слова формы герундия: «хакерство» (hacking). Студент 1950-х годов, проведший большую часть второй половины дня за разговорами по телефону или разборкой радиоприемника, мог описать это занятие как «хакерство». И снова современный говорящий заменил бы его глагольной формой «бездельничать» или «валять дурака», описывая ту же деятельность.
По мере развития 1950-х годов слово «хак» приобрело более резкий, бунтарский оттенок. Массачусетский технологический институт 1950-х годов был чрезмерно конкурентным, и хакерство возникло одновременно как реакция на эту конкурентную культуру и как ее продолжение. Розыгрыши и шутки внезапно стали способом выпустить пар, показать фигу университетской администрации и дать волю творческому мышлению и поведению, подавляемым строгой учебной програмпой института. Обладая мириадами коридоров и подземных паропроводных туннелей, институт предлагал массу возможностей для исследований студенту, которого не пугали запертые двери и таблички «Проход запрещен». Студенты начали называть свои запретные вылазки «туннельным хакерством». На поверхности телефонная система кампуса предоставляла схожие возможности. Путем случайных экспериментов и усердия студенты научились проделывать забавные трюки. Черпая вдохновение в более традиционном занятии туннельным хакерством, студенты быстро окрестили это новое занятие «телефонным хакерством».
Совмещенный акцент на творческой игре и исследовании без ограничений послужит основой для будущих мутаций термина «хакерство». Первые самопровозглашенные компьютерные хакеры кампуса Массачусетского технологического института 1960-х годов происходили из студенческой группы конца 1950-х годов под названием Клуб любителей моделей железных дорог (Tech Model Railroad Club). Тесной кликой внутри клуба был Комитет сигналов и питания (S&P) — группа, отвечавшая за систему электрических цепей клуба. Эта система представляла собой сложный набор реле и переключателей, похожий на тот, что управлял местной телефонной системой кампуса. Для управления ею член группы просто набирал команды с помощью подключенного телефона и наблюдал, как поезда выполняют его указания.
Зарождающиеся инженеры-электрики, отвечавшие за создание и обслуживание этой системы, считали свою деятельность схожей по духу с телефонным хакерством. Унаследовав термин «хакерство», они стали совершенствовать его еще больше. С точки зрения хакера из комитета S&P, использование на одно реле меньше для управления определенным участком пути означало наличие еще одного реле для будущих экспериментов. Хакерство незаметно сместилось от синонима праздной игры к синониму праздной игры, которая одновременно повышала общую производительность или эффективность железнодорожной системы клуба. Вскоре члены комитета S&P с гордостью называли всю деятельность по улучшению и переделке скрытых в основе путей схем «хакерством», а людей, которые это делали, — «хакерами».
Учитывая их страсть к сложной электронике — не говоря уже о традиционном для студентов Массачусетского технологического института пренебрежении к закрытым дверям и табличкам «Проход запрещен», — хакерам потребовалось совсем немного времени, чтобы пронюхать о новой машине в кампусе. Названная TX-0, эта машина была одним из первых коммерчески продаваемых компьютеров. К концу 1950-х годов вся клика S&P в полном составе перекочевала в аппаратную TX-0, принеся с собой дух творческой игры. Обширная свободная область компьютерного программирования стимулировала еще одну мутацию в этимологии. «Хакать» больше не означало паять необычно выглядящие схемы, это означало собирать воедино программные продукты без особого внимания к «официальным» методам или процедурам написания программ. Это также означало повышение эффективности и скорости уже существующих программ, склонных пожирать машинные ресурсы. Верное корням слова, это также означало написание программ, которые не служили никакой иной цели, кроме как развлекать.
Классическим примером этого расширенного определения хакерства является игра Spacewar, первая интерактивная видеоигра. Разработанная хакерами Массачусетского технологического института в начале 1960-х годов, Spacewar обладала всеми традиционными хакерскими признаками: она была дурацкой и случайной, не имея никакой практической пользы, кроме ежедневного развлечения для дюжины или около того хакеров, которые с удовольствием в нее играли. Однако с точки зрения программного обеспечения это был монументальный памятник инновациям и навыкам программирования. Она также была абсолютно бесплатной. Поскольку хакеры создали ее ради забавы, они не видели причин оберегать свое творение, широко делясь им с другими программистами. К концу 1960-х годов Spacewar стала излюбленным развлечением мейнфрейм-программистов по всему миру.
Эта идея коллективных инноваций и общинного владения программным обеспечением отделила акт компьютерного хакерства 1960-х годов от туннельного и телефонного хакерства 1950-х годов. Последние виды деятельности, как правило, были индивидуальными или мелкогрупповыми. Хакеры, промышлявшие туннелями и телефонами, сильно полагались на фольклор кампуса, но запретный характер их деятельности препятствовал свободному распространению новых открытий. Компьютерные хакеры, с другой стороны, вели свою работу в условиях научной сферы, ориентированной на сотрудничество и поощрение инноваций. Хакеры и «официальные» компьютерные ученые не всегда были лучшими союзниками, но в ходе бурной эволюции этой области эти две разновидности компьютерных программистов выработали кооперативные — некоторые могли бы сказать симбиотические — отношения.
Свидетельством выдающегося мастерства первоначальных компьютерных хакеров является то, что более поздние программисты, включая Ричарда М. Столлмана, стремились носить то же хакерское звание. К середине — концу 1970-х годов термин «хакер» приобрел элитные коннотации. В общем смысле компьютерным хакером являлся любой человек, писавший программный код ради написания программного кода. Однако в узком смысле это было свидетельством мастерства программирования. Подобно термину «художник», это значение несло в себе племенные оттенки. Назвать коллегу-программиста хакером было знаком уважения. Назвать хакером самого себя было признаком огромной личной уверенности. Так или иначе, первоначальная расплывчатость наименования компьютерного хакера уменьшалась по мере того, как компьютеры становились все более распространенными.
По мере сужения определения «компьютерное» хакерство приобрело дополнительные смысловые оттенки. Чтобы быть хакером, человеку нужно было не просто писать интересное программное обеспечение; человеку требовалось принадлежать к хакерской «культуре» и чтить ее традиции точно так же, как средневековый винодел мог присягать на верность гильдии виноделов. Социальная структура не была столь четко очерчена, как у гильдии, но хакеры в элитных институтах вроде Массачусетского технологического института, Стэнфорда и Университета Карнеги — Меллона начали открыто говорить о «хакерской этике»: еще не написанных правилах, регулирующих повседневное поведение хакера. В книге 1984 года Hackers автор Стивен Леви после долгих исследований и консультаций кодифицировал хакерскую этику в виде пяти основных принципов.
Во многом основные принципы, перечисленные Леви, продолжают определять культуру компьютерного хакерства. Тем не менее, образ хакерского сообщества, напоминающий гильдию, был подорван подавляюще популистским уклоном индустрии программного обеспечения. К началу 1980-х годов компьютеры появлялись повсюду, и программисты, которым раньше пришлось бы ехать в ведущие институты или на предприятия только для того, получили доступ к машине, внезапно обрели возможность общаться с крупными хакерами через ARPAnet. Чем больше эти программисты общались, тем больше они начинали заимствовать анархические философии хакерской культуры в таких местах, как Массачусетсский технологический институт. Однако в процессе культурного переноса затерялось присущее Массачусетскому технологическому институту культурное табу на злонамеренное поведение. По мере того как молодые программисты начали использовать свои компьютерные навыки в вредоносных целях — создавая и распространяя компьютерные вирусы, взламывая военные компьютерные системы, намеренно вызывая сбои в работе таких машин, как MIT Oz, популярный шлюз ARPAnet, — термин «хакер» приобрел панк-нигилистический оттенок. Когда полиция и бизнес начали вычислять компьютерные преступления, приводящие к нескольким отщепенцам-программистам, которые ссылались на удобные фрагменты хакерской этики в оправдание своих действий, слово «хакер» стало появляться в газетах и журналах в негативном свете. Хотя такие книги, как Hackers, проделали большую работу по документированию первоначального духа исследователей, породившего хакерскую культуру, для большинства новостных репортеров «компьютерный хакер» стал синонимом «электронного взломщика».
Хотя хакеры возмущались этим предполагаемым неправильным использованием на протяжении почти двух десятилетий, бунтарские коннотации термина, уходящие корнями в 1950-е годы, затрудняют отделение 15-летнего подростка, пишущего программы, которые обходят современные алгоритмы шифрования, от студента колледжа 1960-х годов, взламывающего замки и выбивающего двери ради доступа к единственному офисному компьютерному терминалу. В конце концов, для одного творческая подрывная деятельность против авторитетов — это головная боль специалиста по безопасности. Тем не менее, центральное табу на злонамеренное или заведомо вредоносное поведение остается столь сильным, что большинство хакеров предпочитают использовать термин «крэкер» (т. е. человек, который намеренно взламывает систему компьютерной безопасности с целью кражи или вандализма данных) для описания той подгруппы хакеров, которые используют свои вычислительные навыки в злонамеренных целях.
Это центральное табу на злонамеренность остается главной культурной связью между представлением о хакерстве в начале XXI века и хакерством в 1950-х годах. Важно отметить, что по мере эволюции идеи компьютерного хакерства за последние четыре десятилетия первоначальное понятие хакерства — то есть розыгрыши или исследование подземных туннелей — остается в силе. Осенью 2000 года Музей Массачусетского технологического института отдал дань уважения многовековой хакерской традиции института специальной экспозицией «Зал хаков» (Hall of Hacks). Экспозиция включает в себя ряд фотографий, датируемых 1920-ми годами, в том числе снимок с бутафорской полицейской машиной. В 1993 году студенты отдали дань уважения первоначальному понятию хакерства в Массачусетском технологическом институте, водрузив ту же полицейскую машину с мигалками на главный купол института. На именном номерном знаке крейсера значилось IHTFP — популярная аббревиатура MIT с множеством значений. Самая примечательная версия, восходящая к наполненной стрессами атмосфере студенческой жизни Массачусетского технологического института 1950-х годов, звучит как «Я ненавижу это сраное место» (I hate this fucking place). Однако в 1990 году музей использовал эту аббревиатуру в качестве основы для журнала по истории хаков. Журнал под названием The Institute for Hacks Tomfoolery and Pranks предлагает удачную сводку хакерства.
«В культуре хакерства элегантное и простое творение ценится столь же высоко, сколь и в чистой науке, — пишет репортер Boston Globe Рэндолф Райан в статье 1993 года, приложенной к экспозиции с полицейской машиной. — Хак отличается от обычной студенческой шутки тем, что мероприятие обычно требует тщательного планирования, инженерии и изящества, а также обладает скрытым остроумием и изобретательностью, — пишет Райан. — Неписаное правило гласит, что хак должен быть добродушным, неразрушительным и безопасным. На самом деле хакеры иногда помогают демонтировать собственные творения».
Стремление ограничить культуру компьютерного хакерства теми же этическими рамками благие намерено, но невозможно. Хотя большинство программных хаков стремятся к тому же духу элегантности и простоты, программная среда оставляет меньше возможностей для обратимости. Разобрать полицейскую машину проще, чем разобрать идею, особенно идею, время которой пришло. Отсюда растущее различие между «черными шляпами» и «белыми шляпами» — то есть хакерами, обращающими новые идеи во вредоносные, злонамеренные цели, в противовес хакерам, направляющим новые идеи в позитивное или, по крайней мере, познавательное русло.
Будучи некогда смутным элементом малопонятного студенческого жаргона, слово «хакер» превратилось в лингвистический бильярдный шар, подверженный политическим спекуляциям и этическим нюансам. Возможно, именно поэтому так много хакеров и журналистов любят его использовать. Однако куда этот шар отскочит дальше, остается только догадываться.
Приложение В: Стандартная общественная лицензия GNU на свободную документацию (GFDL)
Стандартная общественная лицензия GNU Версия 1.1, март 2000 г. Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Разрешается копировать и распространять неизмененные копии этого документа лицензии, но вносить изменения в него не разрешается. ПРЕАМБУЛА Цель этой Лицензии — сделать руководство, учебник или другой письменный документ «свободным» в смысле свободы: обеспечить каждому реальную свободу копировать и распространять его, с изменениями или без них, как в коммерческих, так и в некоммерческих целях. Второстепенно эта Лицензия сохраняет для автора и издателя способ получить признание за свою работу, не считаясь при этом ответственными за модификации, внесенные другими.