Для первых хакеров из МТИ эта идея была столь же важна в их этической системе, как и отношение к работе, но в наши дни, говорит «Файл жаргона», идею открытости разделяют «многие, но не все» хакеры[110]. И хотя данная книга посвящена главным образом этическим аспектам хакерства, у этого рода деятельности есть и прагматическая сторона, весьма интригующая и важная. Подобно тому как этические доводы в пользу страстной и свободной работы дополняются прагматическим доводом (информация лучше всего создается в индивидуальном ритме и непринужденной обстановке), так и открытая модель не только морально оправданна, но и весьма полезна на практике (согласно «Файлу хакерского жаргона», она приносит огромную пользу). Стоит взглянуть поближе на хакерскую идею открытости с этой точки зрения. Развитие Сети – хороший пример, но пример ОС Linux, которая на данный момент полнее всего воплотила идеал открытости, – еще лучше. Когда мы увидим, как открытая модель сделала возможным появление Сети и Linux, мы сможем подумать о ее применении за пределами программирования.
Торвальдс приступил к работе над Linux в 1991 году, когда учился в Университете Хельсинки[111]. Заинтересовавшись проблемами операционных систем, Торвальдс портировал на свой домашний компьютер UNIX-подобную ОС Minix, написанную голландским профессором информатики Эндрю Таненбаумом. Minix стал учебным пособием и прототипом для собственной ОС Линуса[112]. Важной особенностью работы Торвальдса стало участие в ней с самого начала других людей. 25 августа 1991 года он разместил в Сети сообщение, озаглавленное «Чего вам больше всего не хватает в Minix?», в котором объявил о начале работы над «бесплатной операционной системой»[113]. В ответ ему прислали несколько идей и даже пообещали помочь с тестированием программы. Первая версия новой ОС появилась в Сети в виде общедоступного исходного кода в сентябре того же года[114]. Следующая, улучшенная, версия вышла уже в начале октября.
После этого Торвальдс прямо предложил всем желающим присоединиться к нему в разработке новой системы[115]. В сообщении в Сети он попросил поделиться источниками информации. Их прислали, и дело пошло. В течение месяца в проект пришли новые программисты. С тех пор сетевое сообщество Linux набрало потрясающий творческий темп. Тысячи программистов приняли участие в разработке ОС, и их число постоянно растет – как и число пользователей Linux, уже достигшее миллионов. Любой желающий может принять участие в разработке системы, и каждый может бесплатно ею пользоваться[116].
Для координации процесса разработки Linux хакеры используют весь инструментарий Сети: электронную почту, списки рассылки, новостные группы, файловые серверы и веб-страницы[117]. Разработка поделена на отдельные модули, и группы хакеров создают конкурирующие версии этих модулей. Затем группа, куда входят Торвальдс и несколько главных разработчиков, решает, какая из версий войдет в улучшенную версию Linux (разумеется, структура модулей также постепенно развивается). У группы Торвальдса нет никакой формальной власти, она принимает решения только до тех пор, пока ее выбор совпадает с мнением хакерского сообщества. Если выбор группы покажется сообществу предвзятым, оно поведет проект в собственном направлении, в обход вчерашних лидеров.
Чтобы упорядочить продолжающееся развитие Linux, его версии обозначают согласно определенному стандарту. Номера версий имеют стандарт номера x. y.z, и в стабильных версиях, которые уже можно доверить среднему пользователю, y всегда либо 0, либо четное число (например, версия 1.0.0). А в разрабатываемых версиях, которые выпускаются для программистов, к значению y предыдущей стабильной версии прибавляют единицу (улучшенная, но еще не полностью протестированная версия 1.0.0 получит обозначение 1.1.0). Х увеличивается только при внесении фундаментальных изменений (на момент написания книги последняя доступная версия имела номер 2.4.0[118]).
Этот простой стандарт на удивление хорошо работает при управлении разработкой Linux. В широко известном эссе The Cathedral and the Bazaar («Собор и базар»), впервые опубликованном в Сети, Эрик Рэймонд описывает разницу между открытой моделью Linux и предпочитаемой большинством других компаний закрытой моделью, сравнивая их с базаром и собором соответственно. Будучи техническим специалистом, Рэймонд признает тем не менее, что главная инновация Linux имеет не технический, а социальный характер: это новая, полностью открытая процедура разработки. Говоря словами Рэймонда, произошел сдвиг от собора к базару.