Хотя некоторые списывали попытку Столлмана добавить префикс «GNU» на запоздалое стремление к признанию, Мердок видел это иначе. Оглядываясь назад, Мердок рассматривал это как попытку противодействовать растущей напряженности между Проектом GNU и разработчиками ядра Linux. «Намечался раскол, — вспоминает Мердок. — Ричард был обеспокоен».
Самый глубокий раскол, по словам Мердока, произошел из-за glibc. Являясь сокращением от GNU C Library (Библиотека Си GNU), glibc представляет собой пакет, который позволяет программистам совершать «системные вызовы» к ядру. В течение 1993–1994 годов glibc превратилась в проблемное «бутылочное горлышко» в разработке Linux. Поскольку так много новых пользователей добавляли новые функции в ядро Linux, мейнтейнеры glibc из Проекта GNU вскоре были завалены предложениями об изменениях. Разочарованные задержками и растущей репутацией Проекта GNU как волокитчика, некоторые разработчики Linux предложили создать «форк» — то есть специфичную для Linux библиотеку Си, параллельную glibc.
В хакерском мире форки представляют собой интересное явление. Хотя хакерская этика разрешает программисту делать все, что ему угодно, с исходным кодом данной программы, большинство хакеров предпочитают вливать свои инновации в файл или «дерево» центрального исходного кода, чтобы обеспечить совместимость с программами других людей. Создание форка glibc на столь раннем этапе разработки Linux означало бы потерю потенциального вклада сотен и даже тысяч разработчиков Linux. Это также означало бы растущую несовместимость между Linux и системой GNU, которую Столлман и команда GNU все еще надеялись разработать.
Как лидер Проекта GNU, Столлман уже испытал на себе негативные последствия программного форка в 1991 году. У группы разработчиков Emacs, работавших в софтверной компании Lucid, произошел разлад из-за нежелания Столлмана возвращать изменения обратно в базу кода GNU Emacs. Форк породил параллельную версию, Lucid Emacs, и всеобщее затяжное недовольство. Джейми Завински, бывший программист Lucid, который впоследствии возглавил команду разработчиков Mozilla, имеет веб-сайт, посвященный форку Lucid/GNU Emacs, под названием «Раскол Lemacs/FSFmacs». http://www.jwz.org/doc/lemacs.html
Мердок говорит, что именно подготовка Debian к аналогичному форку исходного кода glibc побудила Столлмана настоять на добавлении префикса GNU, когда Debian выпускал свой дистрибутив программного обеспечения. «С тех пор форк сошелся обратно. Тем не менее, в то время существовало опасение, что если сообщество Linux начнет считать себя чем-то отличным от сообщества GNU, это может стать силой разобщения».
Столлман подтверждает воспоминания Мердока. Более того, он говорит, что зарождающиеся форки появлялись в отношении каждого крупного компонента GNU. Поначалу, по словам Столлмана, он считал эти форки следствием зависти. В отличие от быстрой и неформальной динамики команды ядра Linux, мейнтейнеры исходного кода GNU имели тенденцию действовать медленнее и осмотрительнее при внесении изменений, которые могли повлиять на долгосрочную жизнеспособность программы. Они также не боялись жестко критиковать чужой код. Со временем, однако, Столлман начал чувствовать, что при чтении писем разработчиков Linux ощущается глубинное отсутствие осведомленности о Проекте GNU и его целях.
«Мы обнаружили, что людям, считавшим себя пользователями Linux, было наплевать на Проект GNU, — говорит Столлман. — Они говорили: „Зачем мне утруждать себя этим? Мне плевать на Проект GNU. У меня все работает. Это работает для нас, пользователей Linux, и ничто другое для нас не имеет значения“. И это было весьма удивительно, учитывая, что люди по сути пользовались вариантом системы GNU, а заботились о ней так мало. О GNU они заботились меньше, чем кто-либо другой».
В то время как некоторые рассматривали описание Linux как «варианта» Проекта GNU как политический захват, Мердок, уже симпатизировавший движению за свободное программное обеспечение, счел просьбу Столлмана назвать версию Debian именем GNU/Linux вполне разумной. «Это было сделано скорее ради единства, чем ради признания», — говорит он.
Вскоре последовали запросы более технического характера. Хотя Мердок шел на уступки в политических вопросах, он занял более твердую позицию, когда дело касалось дизайна и модели разработки самого программного обеспечения. То, что начиналось как проявление солидарности, вскоре стало моделью для других проектов GNU.
«Могу сказать, что у меня было немало разногласий с ним, — со смехом говорит Мердок. — Честно говоря, с Ричардом бывает довольно трудно работать».
В 1996 году Мердок после окончания Университета Пердью решил передать бразды правления растущим проектом Debian. Он уже перекладывал управленческие обязанности на Брюса Перенса, хакера, наиболее известного своей работой над Electric Fence, утилитой Unix, выпущенной под лицензией GPL. Перенс, как и Мердок, был программистом Unix, который увлекся GNU/Linux, как только проявились Unix-подобные возможности программы. Как и Мердок, Перенс симпатизировал политической повестке дня Столлмана и Фонда свободного программного обеспечения, хотя и на расстоянии.
«Я помню, как после того, как Столлман уже выпустил Манифест GNU, GNU Emacs и GCC, я прочитал статью о том, что он работает консультантом в Intel», — говорит Перенс, вспоминая свое первое столкновение со Столлманом в конце 1980-х годов. — «Я написал ему, спрашивая, как он может с одной стороны выступать за свободное программное обеспечение, а с другой — работать на Intel. Он ответил мне: „Я работаю консультантом, чтобы создавать свободное программное обеспечение“. Он был абсолютно вежлив в этом вопросе, и я подумал, что его ответ имеет абсолютный смысл».
Однако как видный разработчик Debian Перенс с досадой смотрел на дизайнерские битвы Мердока со Столлманом. Заняв руководящую должность в команде разработчиков, Перенс, по его словам, принял волевое решение дистанцировать Debian от Фонда свободного программного обеспечения. «Я решил, что нам не нужен ричардовский стиль микроменеджмента», — говорит он.
По словам Перенса, решение застало Столлмана врасплох, но у него хватило мудрости с этим смириться. «Он дал этому делу немного остыть, а затем прислал сообщение о том, что нам действительно необходимы отношения. Он попросил называть систему GNU/Linux и на этом успокоился. Я решил, что это нормально. Я принял решение единолично. Все облегченно вздохнули».
Со временем Debian приобрел репутацию хакерской версии Linux наряду со Slackware, другим популярным дистрибутивом, основанным в тот же период 1993–1994 годов. Однако за пределами ориентированных на хакеров систем Linux набирал обороты на коммерческом рынке Unix. В Северной Каролине Unix-компания, называвшая себя Red Hat, перестраивала свой бизнес с упором на Linux. Главным исполнительным директором был Роберт Янг, бывший редактор Linux Journal, который в 1994 году задал Линусу Торвальдсу вопрос о том, не сожалеет ли он о том, что перевел ядро на лицензию GPL. Для Янга ответ Торвальдса оказал «глубокое» влияние на его собственные взгляды на Linux. Вместо того чтобы искать способы захватить рынок GNU/Linux с помощью традиционной софтверной тактики, Янг начал задумываться о том, что произойдет, если компания примет подход Debian — то есть создаст операционную систему полностью из компонентов свободного программного обеспечения. Cygnus Solutions, компания, основанная Майклом Тиманном и Джоном Гилмором в 1990 году, уже демонстрировала способность продавать свободное программное обеспечение на основе качества и возможности настройки. Что если Red Hat применит тот же подход к GNU/Linux?
«В западной научной традиции мы стоим на плечах гигантов, — говорит Янг, вторя как Торвальду, так и предшествовавшему ему сэру Исааку Ньютону. — В бизнесе это означает отсутствие необходимости изобретать велосипеды по ходу дела. Прелесть модели [GPL] в том, что вы передаете свой код в общественное достояние». Янг использует здесь термин «общественное достояние» некорректно. Общественное достояние означает отсутствие защиты авторским правом. Программы, защищенные GPL, по определению защищены авторским правом. «Если вы независимый поставщик программного обеспечения, пытаетесь создать какое-то приложение и вам нужен модемный номеронабиратель, ну зачем изобретать велосипед? Вы можете просто взять PPP из Red Hat Linux и использовать это в качестве ядра своего модемного инструмента. Если вам нужен набор графических инструментов, вам не нужно писать собственную графическую библиотеку. Просто скачайте GTK. Внезапно у вас появляется возможность повторно использовать лучшее из того, что было до вас. И внезапно ваш фокус как поставщика приложений смещается с управления программным обеспечением на написание приложений под конкретные нужды вашего клиента».
Янг был не единственным руководителем софтверной компании, которого интриговала бизнес-эффективность свободного программного обеспечения. К концу 1996 года большинство Unix-компаний начали просыпаться и чувствовать запах готовящегося исходного кода. До полноценного коммерческого прорыва в секторе Linux оставался еще добрый год или два, но те, кто был достаточно близок к хакерскому сообществу, чувствовали это: происходило что-то грандиозное. Чип Intel 386, интернет и Всемирная паутина обрушились на рынок, как серия гигантских волн, и Linux — наряду с множеством программных продуктов, перекликавшихся с ним в плане доступности исходного кода и мягкого лицензирования, — казался самой большой волной из всех.
Для Иэна Мердока, программиста, к которому сначала сватался Столлман, а от которого потом оттолкнул стиль его микроменеджмента, эта волна казалась одновременно и подходящей данью уважения, и подходящим наказанием для человека, который потратил столько времени на придание движения свободному ПО своей идентичности. Как и многие поклонники Linux, Мердок видел первые публикации. Он видел первоначальное предупреждение Торвальдса о том, что Linux — это «всего лишь хобби». Он также видел признание Торвальдса создателю Minix Эндрю Таненбауму: «Если бы ядро GNU было готово прошлой весной, я бы даже не стал возиться с началом своего проекта». Эта цитата взята из широко разрекламированной «войны флеймов» между Торвальдом и Таненбаумом после первоначального релиза Linux. В процессе защиты своего выбора непереносимой монолитной архитектуры ядра Торвальдс говорит, что начал работать над Linux как над способом узнать больше о своем новом ПК на базе 386-го чипа: «Если бы ядро GNU было готово прошлой весной, я бы даже не стал возиться с началом своего проекта». См. Chris DiBona et al., Open Sources (O'Reilly & Associates, Inc., 1999): 224. Как и многие, Мердок знал о возможностях, которые были упущены. Он также знал о волнении при наблюдении за тем, как новые возможности просачиваются сквозь саму ткань интернета.
«Участвовать в жизни Linux в те первые дни было весело, — вспоминает Мердок. — В то же время это было чем-то вроде занятия, чтобы убить время. Если вы вернетесь назад и почитаете те старые переписки [comp.os.minix], вы увидите это настроение: это то, с чем мы можем повозиться, пока HURD не будет готов. Люди нервничали. Забавно, но во многом я подозреваю, что Linux никогда бы не появился, если бы HURD появился быстрее».
Однако к концу 1996 года подобные вопросы «что если» уже потеряли актуальность. Называйте это Linux, называйте это GNU/Linux; пользователи высказались. 36-месячное окно закрылось, а это означало, что даже если бы Проект GNU выпустил свое ядро HURD, шансы на то, что кто-то за пределами хардкорного хакерского сообщества это заметил бы, были невелики. Первая Unix-подобная операционная система со свободным исходным кодом была здесь, и у нее был импульс. Все, что оставалось сделать хакерам — это откинуться на спинку кресла и ждать следующей большой волны, которая обрушится им на головы. Даже на косматую голову Ричарда М. Столлмана.
Готовьтесь, кто не успел.
Открытый исходный код
В ноябре 1995 года Питер Салюс, член Фонда свободного программного обеспечения и автор книги 1994 года «Четверть века Unix», разослал призыв присылать доклады членам списка рассылки «system-discuss» Проекта GNU. Салюс, назначенный председателем конференции, хотел предупредить собратьев-хакеров о предстоящей Конференции по свободно распространяемому программному обеспечению в Кембридже, штат Массачусетс. Запланированное на февраль 1996 года и спонсируемое Фондом свободного программного обеспечения мероприятие обещало стать первой инженерной конференцией, полностью посвященной свободному программному обеспечению, и в знак солидарности с другими программистами свободного ПО приветствовало доклады по «любым аспектам GNU, Linux, NetBSD, 386BSD, FreeBSD, Perl, Tcl/tk и других инструментов, код которых доступен и распространяем». Салюс писал: За последние 15 лет бесплатное и недорогое программное обеспечение стало повсеместным. Эта конференция соберет разработчиков нескольких различных типов свободно распространяемого программного обеспечения и издателей такого ПО (на различных носителях). Будут проведены учебные семинары и рецензируемые доклады, а также программные выступления Линуса Торвальдса и Ричарда Столлмана. См. Peter Salus, "FYI-Conference on Freely Redistributable Software, 2/2, Cambridge" (1995) (archived by Terry Winograd).
http://hci.stanford.edu/pcd-archives/pcd-fyi/1995/0078.html Одним из первых людей, получивших электронное письмо Салюса, был член комитета конференции Эрик С. Рэймонд. Хотя он и не был лидером проекта или компании, как различные другие участники списка, Рэймонд создал себе солидную репутацию в хакерском сообществе как крупный участник GNU Emacs и редактор «Нового хакерского словаря», книжной версии старого жаргонного файла хакерского сообщества.
Для Рэймонда конференция 1996 года была долгожданным событием. Активно участвуя в Проекте GNU в 1980-х годах, Рэймонд дистанцировался от проекта в 1992 году, сославшись, как и многие другие до него, на «стиль микроменеджмента» Столлмана. «Ричард поднял шумиху из-за моих несанкционированных изменений, когда я приводил в порядок библиотеки Emacs LISP, — вспоминает Рэймонд. — Это так меня расстроило, что я решил больше с ним не работать».
Несмотря на размолвку, Рэймонд оставался активным участником сообщества свободного программного обеспечения. Настолько, что когда Салюс предложил конференцию, объединяющую Столлмана и Торвальдса в качестве основных докладчиков, Рэймонд с энтузиазмом поддержал эту идею. Где Столлман представлял старший, более мудрый контингент хакеров ITS/Unix, а Торвальдс представлял более молодое, энергичное поколение хакеров Linux, это объединение указывало на символическое проявление единства, которое могло быть только полезным, особенно для амбициозных молодых (т. е. моложе 40 лет) хакеров вроде Рэймонда. «У меня была своего рода нога в обоих лагерях», — говорит Рэймонд.
Ко времени проведения конференции напряжение между этими двумя лагерями стало осязаемым. Однако у обеих групп было кое-что общее: конференция стала их первой возможностью встретиться с финским вундеркиндом воочию. Удивительно, но Торвальдс проявил себя как обаятельный, общительный оратор. Обладая лишь легким шведским акцентом, Торвальдс удивил собравшихся своим быстрым, самоироничным юлром. Хотя Линус Торвальдс — финн, его родным языком является шведский. «Размашисто неофициальный FAQ по Линусу» дает краткое объяснение: в Финляндии существует значительное (около 6%) шведскоязычное меньшинство. Они называют себя «finlandssvensk» или «finlandssvenskar» и считают себя финнами; многие из их семей живут в Финляндии веками. Шведский язык является одним из двух официальных языков Финляндии. http://tuxedo.org/~esr/faqs/linus/ Еще более удивительным, по словам Рэймонда, была одинаковая готовность Торвальдса отпускать шпильки в адрес других видных хакеров, включая самого выдающегося хакера всех времен — Ричарда Столлмана. К концу конференции полухакерская, полураздолбайская манера поведения Торвальдса завоевывала сердца как старших, так и младших участников конференции.
«Это был поворотный момент, — вспоминает Рэймонд. — До 1996 года Ричард был единственным заслуживающим доверия претендентом на звание идеологического лидера всей культуры. Люди, которые были не согласны, не делали этого публично. Человеком, который нарушил это табу, стал Торвальдс».
Окончательное нарушение табу произошло ближе к концу шоу. Во время дискуссии о растущем доминировании на рынке Microsoft Windows или какой-то подобной темы Торвальдс признался, что является поклонником программы для создания слайд-шоу PowerPoint от Microsoft. С точки зрения пуристов старой закваски, это было все равно что мормон хвастается в церкви своей любовью к виски. С точки зрения Торвальдса и его растущей банды последователей, это был просто здравый смысл. Зачем сторониться достойных проприетарных программ только ради принципа? Быть хакером означало не страдать, а добиваться выполнения работы.
«Это было довольно шокирующее заявление, — вспоминает Рэймонд. — С другой стороны, он мог себе это позволить, потому что к 1995 и 1996 годам он стремительно набирал вес».
Столлман со своей стороны не помнит никакого напряжения на конференции 1996 года, но он помнит, как позже почувствовал укол от знаменитой дерзости Торвальдса. «В документации Linux была такая вещь: распечатайте стандарты кодирования GNU, а затем порвите их», — говорит Столлман, вспоминая один из примеров. — «Хорошо, он не согласен с некоторыми из наших условностей. Это нормально, но он выбрал исключительно неприятную форму для выражения своего мнения. Он мог бы просто сказать: „Вот как, по моему мнению, следует делать отступы в коде“. Прекрасно. Тут не должно быть никакой враждебности».
Для Рэймонда теплый прием, оказанный другими хакерами комментариям Торвальдса, лишь подтвердил его подозрения. Водораздел, отделявший разработчиков Linux от разработчиков GNU/Linux, носил преимущественно поколенческий характер. Многие хакеры Linux, подобно Торвальдсу, выросли в мире проприетарного программного обеспечения. Если программа не была явно худшего качества, большинство не видело причин ополчаться на нее только из-за лицензионных вопросов. Где-то во вселенной систем со свободным ПО скрывалась программа, которую хакеры когда-нибудь могли превратить в альтернативу PowerPoint со свободным исходным кодом. А до тех пор — зачем завидовать инициативе Microsoft в разработке программы и сохранении прав на нее?