Согласно основам денежной этики хакера, господствующий в новой экономике подход «разумного и систематического поиска прибыли» (так Вебер описывает дух старого капитализма, и это описание отнюдь не устарело) сменяется открытой моделью, в которой хакер безвозмездно делится плодами своего труда с другими для использования, тестирования и доработки.
Для первых хакеров из МТИ эта идея была столь же важна в их этической системе, как и отношение к работе, но в наши дни, говорит «Файл жаргона», идею открытости разделяют «многие, но не все» хакеры. И хотя данная книга посвящена главным образом этическим аспектам хакерства, у этого рода деятельности есть и прагматическая сторона, весьма интригующая и важная. Подобно тому как этические доводы в пользу страстной и свободной работы дополняются прагматическим доводом (информация лучше всего создается в индивидуальном ритме и непринужденной обстановке), так и открытая модель не только морально оправданна, но и весьма полезна на практике (согласно «Файлу хакерского жаргона», она приносит огромную пользу). Стоит взглянуть поближе на хакерскую идею открытости с этой точки зрения. Развитие Сети – хороший пример, но пример ОС Linux, которая на данный момент полнее всего воплотила идеал открытости, – еще лучше. Когда мы увидим, как открытая модель сделала возможным появление Сети и Linux, мы сможем подумать о ее применении за пределами программирования.
Торвальдс приступил к работе над Linux в 1991 году, когда учился в Университете Хельсинки. Заинтересовавшись проблемами операционных систем, Торвальдс портировал на свой домашний компьютер UNIX-подобную ОС Minix, написанную голландским профессором информатики Эндрю Таненбаумом. Minix стал учебным пособием и прототипом для собственной ОС Линуса. Важной особенностью работы Торвальдса стало участие в ней с самого начала других людей. 25 августа 1991 года он разместил в Сети сообщение, озаглавленное «Чего вам больше всего не хватает в Minix?», в котором объявил о начале работы над «бесплатной операционной системой». В ответ ему прислали несколько идей и даже пообещали помочь с тестированием программы. Первая версия новой ОС появилась в Сети в виде общедоступного исходного кода в сентябре того же года. Следующая, улучшенная, версия вышла уже в начале октября.
После этого Торвальдс прямо предложил всем желающим присоединиться к нему в разработке новой системы. В сообщении в Сети он попросил поделиться источниками информации. Их прислали, и дело пошло. В течение месяца в проект пришли новые программисты. С тех пор сетевое сообщество Linux набрало потрясающий творческий темп. Тысячи программистов приняли участие в разработке ОС, и их число постоянно растет – как и число пользователей Linux, уже достигшее миллионов. Любой желающий может принять участие в разработке системы, и каждый может бесплатно ею пользоваться.
Для координации процесса разработки Linux хакеры используют весь инструментарий Сети: электронную почту, списки рассылки, новостные группы, файловые серверы и веб-страницы. Разработка поделена на отдельные модули, и группы хакеров создают конкурирующие версии этих модулей. Затем группа, куда входят Торвальдс и несколько главных разработчиков, решает, какая из версий войдет в улучшенную версию Linux (разумеется, структура модулей также постепенно развивается). У группы Торвальдса нет никакой формальной власти, она принимает решения только до тех пор, пока ее выбор совпадает с мнением хакерского сообщества. Если выбор группы покажется сообществу предвзятым, оно поведет проект в собственном направлении, в обход вчерашних лидеров.
Чтобы упорядочить продолжающееся развитие Linux, его версии обозначают согласно определенному стандарту. Номера версий имеют стандарт номера x. y.z, и в стабильных версиях, которые уже можно доверить среднему пользователю, y всегда либо 0, либо четное число (например, версия 1.0.0). А в разрабатываемых версиях, которые выпускаются для программистов, к значению y предыдущей стабильной версии прибавляют единицу (улучшенная, но еще не полностью протестированная версия 1.0.0 получит обозначение 1.1.0). Х увеличивается только при внесении фундаментальных изменений (на момент написания книги последняя доступная версия имела номер 2.4.0).
Этот простой стандарт на удивление хорошо работает при управлении разработкой Linux. В широко известном эссе The Cathedral and the Bazaar («Собор и базар»), впервые опубликованном в Сети, Эрик Рэймонд описывает разницу между открытой моделью Linux и предпочитаемой большинством других компаний закрытой моделью, сравнивая их с базаром и собором соответственно. Будучи техническим специалистом, Рэймонд признает тем не менее, что главная инновация Linux имеет не технический, а социальный характер: это новая, полностью открытая процедура разработки. Говоря словами Рэймонда, произошел сдвиг от собора к базару.
По Рэймонду, соборная модель – это когда один человек или очень небольшая группа заранее составляет план и реализует его под собственным контролем. Разработка ведется за закрытыми дверями, общественность видит лишь готовый результат. Базарная же модель позволяет каждому выдвигать идеи, которые тут же проверяются на прочность другими участниками. Очень важно, чтобы в обсуждении идеи приняло участие большое количество людей: тогда она сможет вобрать конструктивные замечания и дополнения на раннем этапе, в то время как после открытия построенного собора исправить недостатки его фундамента невозможно. На базаре пробуют разные подходы, и, если кого-то осеняет удачная мысль, ее перенимают и берут за основу другие.
В общем, модель с открытым исходным кодом можно описать так: все начинается с проблемы или цели, важной для кого-то лично. Этот кто-то может просто описать проблему или поставить цель, но, как правило, у него (или нее) уже есть Решение – версии 0.1.1, если следовать системе нумерации Linux. Адресаты сообщения имеют право свободно использовать, тестировать и дорабатывать Решение, что возможно, только если вся использовавшаяся при разработке Решения информация (исходный код) передана вместе с ним. В открытой модели передача указанных прав влечет два условия: во-первых, при дальнейшем распространении Решения или его улучшенной версии (0.1.2) должны передаваться те же права, а во-вторых, независимо от передаваемой версии, обязательно надо указывать предыдущих разработчиков. В рамках такого совместного процесса разработчики постепенно (а иногда и стремительно, скажем от 0.y.z сразу к 1.y.z) переходят к улучшенным версиям. Конечно, в действительности эта идеальная модель соблюдается лишь до известной степени.
Модель с открытым кодом также можно сравнить опять-таки с системой академической науки, которую она напоминает даже больше, чем базар. Ученые также предоставляют свои работы другим для использования, тестирования и доработки. Исследования строятся на принципах открытости и саморегулирования. Идею саморегулирования особенно подчеркивал Роберт Мертон, называя ее, наряду с открытостью, краеугольным камнем научной этики. Мертон назвал такой подход организованным скептицизмом – понятие, ставшее историческим преемником платоновской синузии, также включавшей идею приближения к истине посредством критического диалога.
На основе научной этики строится модель, при которой теории разрабатываются совместно, а их недостатки распознаются и постепенно устраняются с помощью критики со стороны всего научного сообщества в целом. Конечно, и ученые отдали предпочтение такой модели не только по этическим соображениям, но и потому, что она оказалась наиболее эффективной в деле выработки научного знания. Все, что мы знаем о природе, построено на научной модели. Причина эффективности модели с открытым кодом, которую использовали первые хакеры, состоит в том, что эта модель в значительной степени повторяет научную, а последняя, как показала история, лучше всего подходит для создания информации. К тому же хакеры работали со страстным увлечением, и их подстегивала жажда получить признание со стороны сообщества – точь-в-точь как это происходит и в науке.
Можно сказать, что в академической среде отправной точкой исследований также является проблема или цель, лично интересная каким-либо исследователям; затем они предлагают собственное Решение (хотя во многих случаях одна только формулировка задачи или намерение написать определенную программу интересны сами по себе). Согласно требованиям научной этики, каждый может использовать, критиковать и развивать Решение. Информация, на которой основываются выводы или способы решения, важнее любого конечного результата (мало просто опубликовать формулу E=mc2 – надо еще и обосновать эту формулу теоретически и подтвердить эмпирически).
Тем не менее научная этика не только дает права, но и налагает две уже знакомые нам фундаментальные обязанности: необходимо всегда упоминать источники (плагиат этически недопустим), а новое Решение также должно быть опубликовано для блага всего научного сообщества. Выполнение этих обязанностей закреплено не законом, но внутренними моральными установками научного сообщества, имеющими большую силу. В соответствии с такой моделью обычные исследования, к примеру в области физики, постоянно добавляют новые данные («версия для разработчиков») к уже известным, и после их проверки научное сообщество вносит эти данные в статьи и учебники («стабильные версии»). Очень редко происходит «смена парадигм» – это термин, введенный философом науки Томасом Куном в книге «Структура научных революций». В самом обобщенном виде, в физике было только три долгоживущих парадигмы: Аристотеля – Птолемея, «классическая» физика Ньютона и физика Эйнштейна – Гейзенберга, основанная на теории относительности и квантовой механике. Так что нынешнюю версию физики можно обозначить номером 3.y.z. (многие физики уже окрестили четвертую парадигму своей науки, появление которой считают неизбежным, «теорией всего». Компьютерные хакеры не столь оптимистичны относительно версии 4.0.0.).
Модель, противоположная академическому и хакерскому подходам, – это закрытая модель, в рамках которой не только закрывается доступ к информации, но и навязывается авторитарное управление. В предприятиях, построенных по монастырскому принципу, руководитель определяет задачу и подбирает закрытую группу сотрудников, которые должны решить ее. После того как группа выполнила свою работу, остальным сотрудникам остается только принять результат как есть. Другие пользователи являются «неавторизованными». Монастырь служит весьма подходящей метафорой такого стиля, сформулированного в монастырском уставе св. Василия Великого (IV в.):
никому не входить в любопытные исследования о действиях настоятеля и не любопытствовать о том, что делается.
Закрытая модель не оставляет места инициативе и критике, которые могли бы исправить недостатки и добавить новые идеи. Как мы уже упоминали, хакеры не принимают иерархии по этическим соображениям, ибо иерархия легко перерастает в культуру ежедневного унижения, но, кроме того, хакеры считают, что неиерархическая модель наиболее эффективна. С точки зрения традиционного бизнеса в этом нет особенного смысла. Как это вообще может работать? Не пора ли загнать разработчиков Сети и Linux в организованную иерархическую структуру?
Интересно, что ровно то же самое можно сказать и о науке. Как вообще мог Эйнштейн прийти к формуле E=mc2 в условиях хаотически самоорганизующихся групп исследователей? Может, ввести четкую научную иерархию и назначить генерального директора науки, с ответственным заместителем по каждой научной дисциплине?
И ученые, и хакеры знают по опыту, что их модель настолько эффективна в том числе и из-за отсутствия жестких структур. Хакеры и ученые приступают к тому, что им интересно, а потом объединяют усилия с единомышленниками. Этот дух явно отличается от порядков, царящих не только в бизнесе, но и в государственных учреждениях. В последних идея автократии пронизывает все стороны деятельности в еще большей степени, чем в частных компаниях. Для хакеров обычная манера чиновников предварять любое дело сбором бесконечных совещаний, организацией бесчисленных комитетов, разработкой нудных планов стратегического развития и т. д. ничем не лучше проведения исследований рынка для экономического оправдания идеи, без которого нельзя приступать к творчеству (а еще как ученых, так и хакеров безмерно раздражает, когда университет превращается в бюрократическое болото или в монастырь).
Однако отсутствие жесткой структуры вовсе не означает отсутствия порядка. Несмотря на вечный хаос, хакерство подвержено анархии не в большей степени, чем научный мир. В хакерских и научных проектах есть ведущие фигуры, такие как Торвальдс, которые помогают правильно выбрать общее направление и поддерживают творческий подход других участников. К тому же и академическая, и хакерская модели предполагают определенную структуру публикаций. Исследования открыты для всех, но на практике материалы для публикации в серьезных научных источниках отбираются небольшой группой экспертов. Но все же модель выстроена таким образом, что на длинной дистанции лишь истина определяет, кто будет экспертом, а не наоборот. Как и в науке, у хакеров есть своя группа сетевых арбитров, сохраняющая влияние только до тех пор, пока они соответствуют ожиданиям сообщества. Если группа арбитров перестает оправдывать эти ожидания, сообщество создает новые каналы в обход экспертной группы. Это означает, что вход в группу лидеров открыт для каждого и зависит только от личных достижений – пожизненной почетной кафедры нет ни у кого. Никакие регалии не освобождают от критического внимания коллег к результатам вашей работы – и настойчивость этого внимания одинакова для всех.
Само собой разумеется, влияние науки было огромным задолго до появления компьютерных хакеров. К примеру, начиная с XIX столетия ни одна промышленная технология (электричество, телефон, телевидение и т. д.) не была бы возможной без лежавшей в ее основе научной теории. Уже промышленная революция обозначила переход к обществу, опирающемуся на научные достижения; хакеры напоминают, что в информационную эпоху открытая академическая модель еще важнее, чем отдельные научные достижения, которые и появились благодаря этой модели. И в этом сама суть. Это настолько важно, что вторая главная причина практического успеха хакерской модели состоит в том, что само обучение хакера построено по тем же принципам, что и разработка ПО (которая, в свою очередь, сама же и является передовым краем коллективного обучения хакеров). Иными словами, у модели обучения хакеров те же сильные стороны, что и у модели разработки.
Процесс обучения хакера, как правило, начинается с постановки интересной задачи, попыток ее решения с привлечением разных источников и передачи решения сообществу для всестороннего тестирования. Узнать как можно больше о задаче и способах ее решения – это быстро превращается в азарт, в страсть. Линус Торвальдс самостоятельно научился программированию на компьютере, который достался ему от дедушки. Он сам ставил себе задачи и понимал, каких именно знаний ему недостает для решения. Многие хакеры научились программировать таким же неформальным способом, в процессе решения интересной задачи. Способность десятилетних детей к решению сложных программистских задач красноречиво подтверждает огромную роль интереса в процессе обучения, особенно по сравнению с тем, как медленно продвигаются их сверстники в обычных школах.
В 1991 году Торвальдс начал изучать возможности процессора своего нового компьютера, и это в результате запустило работу над новой ОС. В чисто хакерской манере простые эксперименты с программой, демонстрировавшей особенности процессора выводом на экран литер А или В, постепенно выросли в план написания программы по чтению новостных групп в Сети, а затем и в амбициозную идею создания полноценной ОС. Но хотя Торвальдса и можно назвать программистом-самоучкой, так как он получил основы знаний, не посещая никаких курсов, он изучил без посторонней помощи далеко не всё. В частности, для знакомства с операционными системами Торвальдс прибегал к исходному коду ОС Таненбаума Minix, а также к другим источникам информации, предоставленным хакерским сообществом. С самого начала, будучи истинным хакером, он не затруднялся обращаться за помощью в тех областях, где у него еще не было достаточного опыта. Сила хакерской модели обучения в том, что, обучаясь, хакер учит других. Часто хакер, изучив исходный код программы, совершенствует его, и другие могут узнать что-то новое на его примере. Обмениваясь информацией на общедоступных ресурсах в Сети, хакеры исправляют и дополняют ее на основе собственного опыта. Вокруг актуальных проблем не смолкает критичная, развивающая дискуссия, наградой за участие в которой становится признание со стороны равных.
Открытая образовательная модель хакеров – это их «Сетевая академия». Это постоянно развивающаяся среда обучения, созданная самими учениками. Образовательная модель, принятая хакерами, имеет массу достоинств. В мире хакеров в роли учителей или проводников к источникам информации зачастую выступают те, кто сами только что чему-то научились. Такой подход оправдывает себя, так как находящийся в вихре процесса познания зачастую лучше объяснит предмет, чем эксперт с замыленным глазом, уже успевший забыть, как устроена голова у новичков. Для эксперта сопереживание новичку может означать недопустимое упрощение, совершенно неприемлемое интеллектуально. Кроме того, преподавание основ не всегда приносит эксперту удовлетворение, в то время как студент, как правило, еще не привыкший к роли инструктора, может получить от раскрытия своих преподавательских талантов огромную отдачу. Кроме того, когда вы учите кого-то, вы сами глубже погружаетесь в материал. Если я действительно хочу чему-то кого-то обучить, то я прежде всего должен сам понимать предмет предельно ясно. При подготовке материала следует внимательно проанализировать его на предмет возможных возражений и уточняющих вопросов. И тут опять наша хакерская модель напоминает платоновскую Академию, в которой ученики были не пассивными восприемниками знаний, но товарищами в познании истины (синетэис). С точки зрения Академии главной целью обучения было развить в учениках способность к постановке задач, поискам путей решения и обоснованной критике. Соответственно, преподаватель сравнивался с повивальной бабкой, свахой и распорядителем на пирах. Задачу свою учитель видел в том, чтобы не вдолбить в головы учеников заранее подготовленное знание, а помочь им развивать свои собственные задатки. В хакерском сообществе эксперты также видят себя всего лишь учениками, которые, в силу чуть более глубоких знаний, могут быть возмутителями спокойствия, повивальными бабками и симпосиархами – распорядителями пира для других.
Идеал изначальной академии и хакерской модели – отлично сформулированный Платоном в виде утверждения «Свободный человек никакой науке не должен учиться рабски» – полностью расходится с идеалами монастыря, дух которого изложен в уставе св. Бенедикта:
Говорить и учить принадлежит учителю, ученику же приличнее слушать и молчать.
Ирония здесь состоит в том, что современные научные учреждения копируют монастырскую образовательную модель «отправитель – получатель». Ирония только усиливается, когда научные учреждения принимаются за строительство «виртуальных университетов»: в результате получается монастырская школа с компьютерами. Научная революция XVII века должна была покончить со схоластикой и открыть дорогу науке, которая жадно искала новых знаний. Тем не менее в университетах сохранились учебная модель и иерархия средневековых школ, вплоть до терминов (к примеру, словом «декан» (dean) изначально назывался монастырский администратор). Научная революция произошла уже четыре века назад, но ее результаты не получили должного отражения в наших университетах в виде системы обучения, построенной на исследованиях. Странно, что мы ожидаем, будто схоластическими методами обучения можно воспитать современную личность, способную к независимому мышлению и созданию нового знания.
Хакерская образовательная модель важна и потому, что напоминает о мощном потенциале, таящемся в идее обучения по образцу научной разработки. Мы могли бы воплотить эту идею в создании универсальной Сетевой академии, в которой каждый сможет использовать, критиковать и дополнять все учебные материалы. Улучшая имеющиеся материалы во всех направлениях, Сеть беспрестанно обеспечивала бы наличие под рукой самых эффективных ресурсов по всем предметам. Члены сетевого сообщества вдохновлялись бы собственной увлеченностью и признанием со стороны коллег. Логично, что развитие и усовершенствование материала, так же как и его обсуждение и проверка, стали бы единственным критерием Сетевой академии на выделение средств, и, в полном соответствии с ее духом, самые большие средства должны выделяться на те достижения, которые представляют наибольшую ценность для сообщества в целом. Хакерское изучение материала, с постоянной нацеленностью на его критику и исправление – то есть на конкретное мотивирующее дело – также было бы куда полезнее для учебы, чем сегодняшняя тенденция просто читать то, что скажут.
Следуя хакерской модели, Сетевая академия генерировала бы постоянно усложняющийся массив знаний всех уровней – от компетентности начинающего студента до ведущего исследователя в области. Студенты с первых дней учились бы в процессе исследования, сначала в тесном контакте с более опытными исследователями, затем – самостоятельно изучая научные публикации по избранной теме.
В Сетевой академии ни одно научное или учебное достижение не пропадало бы втуне. Студент, один или в группе, добавлял бы свои результаты к общедоступным материалам. Не так, как в нашей нынешней модели – когда результаты выбрасываются на ветер, когда каждый следующий студент начинает с самого начала, сдает те же самые экзамены в полной изоляции от других, не имея возможности изучить достижения предшественников. Хуже того, после экзамена экзаменатор просто выбрасывает все наработки в корзину. Это столь же нелепо, как если бы каждое поколение ученых отправляло бы в конце концов все свои результаты на помойку («Так-так, говорите, E=mc2? Ну и что такого – в мусор!»), так чтобы следующее поколение начинало все сначала.
Нечего и говорить, что практическая реализация универсальной Сетевой академии – дело непростое. К примеру, как и в мире хакеров и ученых, понадобится направляющая структура для совместного создания учебного материала. Когда материалы постоянно меняются и дополняются, одновременно появляются отличающиеся версии одного и того же. Так всегда бывает в области исследований и хакерства. Хакеры решили возникающие на этой почве проблемы, разработав так называемые системы одновременных версий, в которых на лету отслеживаются различия между версиями. На более высоком уровне проблему можно решить с помощью арбитров. Применяя систему одновременных версий, самоорганизующаяся группа арбитров сможет выбрать из них наилучшую и дополнить ее, если нужно. После того как хакеры продемонстрировали полную мощь академической модели, было бы очень странно по-прежнему придерживаться нашей привычной практики давать учащимся только результат, без изучения самой академической модели, состоящей в коллективной постановке задач, их обсуждении и нахождении решения, – процесс, движимый интересом и жаждой признания. Сама суть науки – не чьи-то личные достижения, а метод, которым они были получены.
Конечно, разговор о возможном применении преимуществ хакерской модели не следует понимать в том смысле, что мы должны сидеть и ждать, пока правительства и корпорации наконец этим займутся. Главная идея хакерства состоит именно в том, что прямое сотрудничество отдельных людей в рамках открытой модели может принести потрясающие результаты. Мы ограничены лишь собственным воображением. К примеру, на основе хакерской открытой модели можно построить социальную модель – назовем ее моделью открытых ресурсов, – в которой кто-то постоянно будет объявлять: «У меня есть идея, сам я могу вложить в нее столько-то сил, присоединяйтесь!» И хотя такая модель предполагает и физическое взаимодействие на местном уровне, Сеть станет мощным средством мобилизации ресурсов и последующей совместной доработки и реализации идеи. К примеру, я размещаю в Сети объявление, где выражаю готовность время от времени помогать пожилым людям. Или сообщаю, что соседские дети могут поиграть у нас дома после школы. Или что я с удовольствием погуляю с соседской собакой по выходным.
Эффективность такой модели повысится, если получивший помощь будет в свою очередь готов помочь кому-то еще. Сеть станет средством организации местных ресурсов. Постепенно все больше людей втянутся в реализацию полезных идей и предложат новые идеи. В силу вступит самоподдерживающийся эффект, какой мы можем наблюдать в сообществах компьютерных хакеров. Как мы убедились, с помощью хакерской модели в киберпространстве можно многого добиться, без посредников в виде государств или корпораций. И нам еще предстоит увидеть, чего смогут добиться отдельные люди, напрямую сотрудничая в «физическом мире».