Скачок произошел весной 1992-го - примерно через год после того, как я занялся программой эмуляции терминала, - когда под Linux заработала первая версия оконной системы X Window. Это значило, что операционка может поддерживать графический интерфейс пользователя и что пользователи могут работать в нескольких окнах одновременно благодаря проекту X Window, зародившемуся в Массачусетском технологическом институте. Это было существенное новшество. Помню, за год до его внедрения я шутил на эту тему с Ларсом: говорил, мол, когда-нибудь мы сможем запустить X Window, и все заработает. Я совершенно не ожидал, что это произойдет так быстро. Хакер по имени Орест Збровски сумел перенести X Window под Linux.
   Система X Window работает с помощью Х-сервера, который берет на себя всю графику. Сервер общается с клиентами, чья задача говорить: "Мне нужно окно такой-то величины". Обмен информацией происходит на уровне сокетов, или, точнее, Unix Domain Sockets. Это способ обмена информацией внутри Unix, но он же используется и для передачи информации по Интернету. Орест написал первый уровень сокетов для Linux, просто чтобы перенести под нее X Window. Интерфейс Ореста был сметан на живую нитку и не интегрирован с остальным кодом. Это тот случай, когда я согласился на грубо сработанную заплатку, потому что она была нам нужна.
   Я не сразу привык к тому, что у нас есть графический интерфейс пользователя. Думаю, около года я им вообще редко пользовался. А сейчас уке не могу без него: во время работы у меня всегда открыт миллион окон.
   Орест не только дал возможность работать с окнами, но и вообще открыл дорогу в будущее. Domain Sockets использовались для организации локальной сети, которая позволяла работать системе X Window. Мы могли воспользоваться теми же самыми Domain Sockets, чтобы обеспечить Linux большой рывок во внешние сети - получить возможность связывать компьютеры. Без включения в сеть Linux была полезна только тем, кто сидел дома и выходил в большой мир по модему или вообще делал все локально. Поэтому мы с большим воодушевлением принялись разрабатывать сети для Linux поверх этих самых Domain Sockets, хотя они вовсе не были для этого предназначены.
   Я был настолько уверен, что все получится, что даже сделал скачок в нумерации версий. В марте 1992 года я планировал выпустить версию 0.13. А вместо этого, получив графический интерфейс пользователя, уверился, что мы на 95% достигли цели - выпуска полноценной, надежной операционной системы, пригодной к тому же для работы в сети. И поэтому выпустил версию 0.95.
   Господи, как же это было преждевременно! Чтобы не сказать, глупо.
   Работа в сети - поганое дело, и в итоге на ее организацию ушло почти два года - только тогда ее можно было выпустить в свет. Переходя в сеть, получаешь целый букет новых проблем. Во-первых, защита. Ты не знаешь, кто работает в сети и что он затеял. Нужно быть очень осторожным, чтобы никто не мог повесить твой компьютер, посылая тебе кучи хлама. Ты уже не можешь контролировать, кто вступает в контакт с твоей машиной. Причем у разных людей могут быть совершенно разные настройки. Используя стандартный сетевой протокол TCP/IP, трудно правильно установить все тайм-ауты. Казалось, процесс будет бесконечным. К концу 1993 года у нас уже была почти работоспособная сетевая система, хотя у некоторых возникали серьезные проблемы с ее использованием. Мы не умели работать с сетями, в которых адрес не укладывался в 8-битные границы.
   Из-за своего чрезмерного оптимизма при выпуске версии 0.95 я оказался в ловушке. В течение тех двух лет, что ушли на разработку и выпуск версии 1.0, с номерами творилось что-то невообразимое. Между 95 и 100 не так много чисел, но мы продолжали постоянно выпускать новые версии - то ошибку поправишь, то функцию добавишь. Добравшись до 0.99, мы были вынуждены начать добавлять номера, чтобы указать на уровень заплат, а потом перешли на алфавит. В какой-то момент мы выпустили версию 0.99, уровень заплаток 15А. Потом появилась версия 0.99, уровень заплаток 15В и так далее. Так мы добрались до уровня заплаток 15Z. А вместо уровня 16 была выпущена версия 1.0 - в этот момент система наконец стала работоспособной. В марте 1994-го Linux 1.0 была с большой помпой представлена в аудитории факультета информатики Университета Хельсинки.
   Этому предшествовал довольно беспорядочный период, но уже ничто не могло нанести урона популярности Linux. У нас была своя собственная телеконференция в Интернете - comp.os.linux, выросшая из пепла нашей с Эндрю Таненбаумом перепалки. И она привлекала орды участников. В те времена Internet Cabal (группа администраторов некоторых узлов Интернета) ежемесячно подводила неофициальную статистику: сколько человек участвует в каждой конференции. Данные были не очень точные, но они лучше всего говорили о популярности твоего сайта - в данном случае, сколько людей интересовалось Linux. Неизменным лидером среди телеконференций была alt. sex. (Я-то ей особенно не интересовался. Хотя и сходил туда пару раз, чтобы посмотреть, из-за чего подняли такой шум. Но вообще я был типичным фригидным ботаником, которому гораздо интересней играть в процессор с плавающей точкой, чем следить за новостями с сексуального фронта: о свеженайденных позициях при половом акте, отчетах о крутых любовных играх или о чем там еще говорят на alt. sex.)
   С помощью ежемесячной статистики Cabal легко было следить за популярностью comp.os.linux. Можете не сомневаться - так я и делал. (Некоторые считают меня чуть ли не народным героем, но я никогда не был тем бескорыстным, самоотверженным компьютерным фанатом, каким меня пытается представить падкая на мифы пресса.) К осени 1992 года в нашем форуме участвовали десятки тысяч людей. Все эти люди следили за событиями вокруг Linux, но не все из них пользовались самой операционной системой. Каждый месяц в момент подведения итогов выпускался список из сорока самых популярных телеконференций. Если твой форум не входил в эти сорок, то о его популярности можно было узнать из полного отчета, который распространялся в специальной служебной конференции. Мне обычно приходилось обращаться к полному отчету.
   Однако форум Linux неуклонно двигался вверх. В какой-то момент он вошел в первые сорок, и я был счастлив. Это было круто. Помню, я тогда написал довольно злорадное сообщение в comp.os.linux, в котором перечислял форумы, посвященные разным ОС, включая Minix, и говорил: "Смотрите, мы популярнее Windows!" (Учтите, что в то время любители Windows еще не освоили Интернет.) Где-то в 1993-м мы вошли в первую пятерку. В ту ночь я лег спать преисполненный самодовольства, в экстазе от того, что Linux по популярности почти догнала секс.
   В окружающем меня мирке ничего похожего не происходило. Я практически не жил реальной жизнью. К тому времени, как я уже писал, Петер Энвин организовал в Интернете сбор средств для оплаты моего компьютера. В итоге было собрано три тысячи долларов, и в конце 1993 года я закончил выплаты. А на Рождество провел модернизацию своего компьютера до 486 DX2-66, который использовал потом много лет. В этом и была моя жизнь: я ел, спал, иногда ходил в университет, программировал, читал прорву мейлов. Я был в курсе, что некоторые мои друзья чаще занимаются сексом, но это меня не трогало.
   Честно говоря, большинство моих друзей тоже не преуспевали в этой сфере.
   XII.
   Выступление в Эде почти убедило меня, что я способен вынести что угодно даже такой ужас, как выступление перед множеством совершенно незнакомых, уставившихся на меня людей. Начинала приходить уверенность и в других областях. Я был вынужден принимать быстрые решения по поводу исправления и модернизации Linux, и каждое такое решение укрепляло меня в роли лидера растущего коллектива. С технической точки зрения решения не вызывали проблем труднее было дипломатично сообщить одному человеку, что я предпочел решение другого. Иногда достаточно было просто написать: "Поправки такого-то работают прекрасно. Давайте на них и остановимся".
   Никогда не понимал, зачем соглашаться на решение, которое я не считаю самым лучшим с технической точки зрения. Это помогало мне сохранять беспристрастность, когда несколько программистов предлагали различные заплатки. Кроме того, хотя тогда я об этом не задумывался, это внушало людям доверие. А доверие дорогого стоит. Когда тебе верят, то прислушиваются к твоим советам.
   Безусловно, сперва нужно заложить фундамент доверия. Думаю, все началось не столько, когда я написал ядро Linux, а скорее когда я выложил свою программу в свободном доступе в Интернете с тем, чтобы каждый желающий мог внести в нее изменения или добавить функции, а я бы принимал окончательное решение в отношении устройства операционной системы.
   Точно так же, как я не планировал, что Linux начнет свое существование за пределами моего собственного компьютера, так и не ожидал, что стану лидером. Это произошло само собой, по умолчанию. В какой-то момент группа из пяти разработчиков стала выполнять основную часть работы по ключевым направлениям. Было естественно, чтобы они стали своего рода фильтрами и отвечали за разработку в соответствующих областях.
   Я довольно быстро понял - проще всего руководить, позволяя людям делать то, что им хочется, а не заставляя их делать то, что хочется тебе. Кроме того, хороший руководитель понимает когда не прав, и умеет отступать. А еще он позволяет другим принимать самостоятельные решения.
   Другими словами: успех Linux в значительной степени обусловлен моими собственными недостатками: я ленив и люблю пожинать чужие лавры. Если б не это, модель разработки Linux - как они это называют - до сих пор не вышла бы за рамки ежедневного обмена сообщениями между пятью-шестью хакерами. Не было бы и речи о сегодняшнем размахе, когда разработкой Linux занимается сложнейшая сеть из сотен тысяч участников четырех тысяч одновременно разрабатываемых проектов, опирающихся на листы рассылки, встречи разработчиков и корпоративную поддержку- А сверху как верховный арбитр всех споров по поводу ядра операционной системы расположился руководитель, который совсем не стремится руководить.
   Что ни делается - все к лучшему. Мне удалось избавиться от тех частей, которые меня не особенно увлекали. Это прежде всего уровень пользователя внешние части системы, с которыми непосредственно имеет дело конечный пользователь, в отличие от кода, который скрывается в глубине системы. Вначале кто-то вызывается вести то или иное направление. Потом процесс поддержки подсистем становится органичным. Все знают, кто активно участвует в работе и кому можно доверять, в итоге на него все и переключается. Никаких голосований. Никаких приказов. Никаких подсчетов.
   Например, если двое создают однотипные драйверы, я иногда принимаю варианты обоих и смотрю, каким чаше пользуются. Обычно один становится более популярным. Или же авторы начинают совершенствовать свои программы и в итоге их пути расходятся - они начинают использоваться в
   разных сферах.
   Многих удивляет сам факт, что модель с открытыми исходниками работает.
   По-моему, тут полезно попытаться понять психологию хакеров из мира общедоступных программ. (Вообще-то, обычно я избегаю слова "хакер". В личном разговоре с технарями я еще могу назвать себя хакером. Но в последнее время смысл этого слова изменился: так стали называть мальчишек, которые от нечего делать заняты электронным взломом корпоративных ВЦ вместо того, чтобы помогать работе местных библиотек или уж, на худой конец, бегать за девочками.)
   Хакеры (программисты), которые работают над Linux и другими проектами с открытыми исходниками, часто отказывают себе во сне, занятиях спортом, посещениях школьных чемпионатов, в которых участвуют их дети, а иногда и в сексе, потому что им нравится программировать. А еще им нравится участвовать в крупнейшем в мире коллективном проекте, посвященном построению самой лучшей и самой красивой технологии, - проекте, который доступен каждому. Вот и все. И это прикольно.
   Ну ладно, я, кажется, перешел на язык самовосхвалений, которым пишутся пресс-релизы. Фанаты открытых исходников - не матери Терезы из сферы высоких технологий. Они получают свою долю славы - их имена включаются в благодарственные списки или в файл с описанием истории проекта, который сопровождает любой проект. Наиболее активные участники привлекают внимание работодателей, которые изучают программы, чтобы выявить и нанять лучших программистов. В значительной степени хакерами движет и стремление заслужить уважение других участников своими солидными вкладами. Это очень мощный стимул. Каждый хочет произвести впечатление на окружающих, укрепить свою репутацию, повысить социальный статус. Разработка программ с открытыми исходниками дает программистам такую возможность.
   Разумеется, я провел большую часть 1993 года точно так же, как и большую часть 1992-го, 1991-го и так далее: уткнувшись в компьютер. Но близились перемены.
   Идя по стопам своего дедушки, я стал ассистентом в Университете Хельсинки, ответственным за шведскоязычный курс "Введение в информатику" в осеннем семестре. Тут-то я и встретил Туве. Она оказала на мою жизнь еще большее влияние, чем "Проектирование и реализация операционных систем" Эндрю Таненбаума. Но я не буду обременять вас излишними деталями.
   Туве была одной из студенток моей группы (всего там было 15 человек). Она уже получила специальность дошкольного педагога. А потом решила познакомиться с компьютерами, но сначала немного отставала от остальных. В конце концов она всех догнала.
   Курс был совершенно элементарный. Шла осень 1993-го, Интернет еще не был популярен, поэтому однажды я задал на дом послать мне сообщение по мейлу. Сегодня это звучит по-идиотски, но я сказал: "Домашнее задание: пошлите мне e-mail".
   Другие студенты прислали просто тестовые сообщения или какие-то замечания о занятиях. Туве пригласила меня на свидание.
   Я женился на первой же женщине, которая обратилась ко мне по мейлу.
   Наше первое свидание так и не кончилось. Туве была дошкольным педагогом и шестикратным чемпионом Финляндии по карате, она выросла в нормальной семье, хотя так я называю любую семью, которая не похожа на нашу чокнутую семейку. У нее было много друзей. Я сразу понял, что именно эта женщина мне нужна. (Подробности пропущу.) Через несколько месяцев мы с моим котом Ранди переехали в ее крошечную квартирку.
   В первые две недели я не потрудился даже перевезти свой компьютер. Не считая службы в армии, это была самая долгая разлука с компьютером с тех пор, как одиннадцатилетним мальчиком я сидел у дедушки на коленях. Не буду подробно на этом останавливаться, но это по-прежнему рекорд моей штатской жизни без процессора. Каким-то образом я выжил (детали снова опускаю). В редкие встречи с мамой в тот период я слышал от нее что-то о "триумфе матери-природы". Думаю, отец с сестрой были просто в шоке.
   Вскоре Туве принесла в дом кошечку, чтобы Ранди не скучал. У нас повелось проводить вечера вдвоем или с друзьями, вставать в 5 утра, чтобы она могла пойти на работу, а я мог оказаться в университете раньше всех и никто не мешал мне читать мейлы о Linux.
   Король
   БАЛА
   I.
   Появление версии 1.0 означало для Linux новый этап: нам понадобился пиар. Лично я с удовольствием представил бы эту версию точно так же, как и предыдущие. Я бы послал в форум сообщение: "Выпущена версия 1.0. Пользуйтесь". (Или что-нибудь в этом роде.)
   Однако многие отнеслись к этому событию гораздо серьезнее. Версия 1.0 им нужна была для рекламы. Всем этим новорожденным компаниям, продававшим Linux, версия 1.0 была важна скорее по психологическим, чем по технологическим причинам. И их можно понять: кому понравится торговать операционной системой версии 0.96?
   Я хотел выпустить версию 1.0, потому что тем самым завершался некий этап, а кроме того, это значило, что я могу временно перестать исправлять ошибки и вернуться к разработке. Производители и разработчики Linux хотели обставить выход новой версии с максимальной помпой.
   Нам нужно было выбрать правильную тактику. Сам я не собирался руководить этой кампанией. Мне вовсе не улыбалось выпускать пресс-релизы и выступать с заявлениями. Поэтому за дело взялись те, кто был в нем заинтересован. Примерно так делалась и сама Linux - схема снова сработала.
   Наш первый официальный выпуск стал настоящим событием во многом благодаря Ларсу. Он и некоторые другие решили, что объявление лучше всего сделать в университете. В этом был свой резон. Моя комната не тянула по размерам. А делать объявление в помещении коммерческой фирмы было бы неправильно. Поэтому Ларе вызвался согласовать вопрос с университетом. Факультет информатики Университета Хельсинки был небольшой организацией, поэтому он смог просто пойти и поговорить с деканом.
   Университет Хельсинки с радостью согласился выделить для представления Linux 1.0 главную аудиторию факультета информатики. Да и чего бы им возражать? Разве в университете часто происходят события, достойные показа по телевизору?
   Я согласился выступить. Это мероприятие не шло ни в какое сравнение с кошмаром в Эде. Хотя, если вдуматься, кое в чем оно оказалось-таки сложнее.
   Например, в аудитории сидел мой папа. А мероприятие показывали по финскому ТВ. Тогда я впервые увидел себя по телевизору. На собрание пришли и папа и мама (но я совершенно уверен, что они сидели врозь). И Туве тоже пришла. Тут-то мой отец и познакомился с ней, поэтому для меня это было больше, чем просто объявление версии 1,0. Поскольку я до последнего момента готовился к выступлению - проверял, что со слайдами все в порядке и прочее, - то не присутствовал при их знакомстве. По-видимому, оно произошло, когда они шли в аудиторию. Кажется, я это заметил краешком глаза.
   В том выступлении, как и почти во всех остальных в последующие несколько лет, я говорил не столько о технологии, сколько об открытых исходниках. Все прошло классно. Мне удалось изменить отношение к Linux некоторых сотрудников факультета. До этого факультет просто гордился Linux и снисходительно поощрял мою деятельность. После объявления они стали относиться к Linux более серьезно. Ведь они услышали о ней в теленовостях.
   Спустя годы стали поговаривать, что университет пытается приписать себе заслуги в сфере Linux. Это не так. Факультет всегда оказывал нам большую поддержку- Мне даже дали такую должность, что я мог создавать Linux в рабочее время. И это было в самом начале, когда еще никто не мог сказать: "Давайте поможем парню, тут пахнет всемирной известностью". Но в то же время им было приятно сыграть важную роль в анонсе новой версии. Это укрепило их репутацию. Я знаю, что на факультете информатики, который всегда был в тени Технического университета, теперь стало больше шведскоговорящих студентов.
   Зависть к успеху считается характерной чертой финнов. Поэтому, когда Linux приобрела известность, меня многие спрашивали, не отравляют ли мне жизнь в университете завистники. На самом деле все было по-другому: в университете мне очень помогали. Уже на раннем этапе они стали избавляться от X-терминалов и заменять их на PC с Linux.
   Выход новой версии поднял Linux в Финляндии на небывалую высоту, и в других странах она тоже стала приобретать известность. Ей посвящалось множество публикаций в газетах: просто какой-нибудь журналист натыкался на Linux и приходил в восторг. С точки зрения бизнеса версия 1.0 не представляла особой опасности для основных игроков. Linux забирала рынок у Minix и Coherent. Среди других категорий пользователей интерес к системе был невелик. И это было нормально - внимания и так было гораздо больше, чем я рассчитывал.
   Тем не менее журналисты - в основном из компьютерных изданий - стали стучаться в мою дверь. Буквально. Субботним утром Туве бывала отнюдь не в восторге, просыпаясь от звонка в дверь японского репортера с подарками (чаще всего это были часы - видно, узнали, что это моя слабость), который жаждал взять у меня интервью. Еще меньше она бывала рада, когда я приглашал его войти. (А я поступал так годами, пока мы не объявили наш новый дом зоной, свободной от журналистов. Иногда моя беспечность доходила до того, что я забывал сказать Туве, что пригласил журналиста в дом для интервью. И сам забывал об этом. Репортер приходил, и Туве приходилось его развлекать до моего возвращения.) Потом стали появляться сайты фэнов, типа французского, на котором в основном размещена постоянно обновляемая галерея каких-то безумных фотографий. Например, я на собрании "Спектрума" - крутой чувак без рубашки пьет пиво.
   Тихий ужас.
   Причем интерес проявляли не только журналисты и линуксоиды. Неожиданно со мной захотели поговорить о технологиях люди с большими кошельками. Unix всегда рассматривалась как система с огромным потенциалом, в основном из-за своей мощности и многозадачности. Теперь корпорации, которые интересовались Unix, начали присматриваться к Linux. Среди них была сетевая компания Novell, в которой открыли небольшой "побочный" проект на базе Linux. Они разрабатывали настольный ПК под Unix под названием "Looking Glass" (зеркало). Он неплохо смотрелся, но лбом стенку не прошибешь: ему недоставало поддержки тогдашнего стандарта - Common Desktop Environment.
   В августе 1994-го они предложили заплатить мне за то, чтобы я приехал к ним в Орем (шт. Юта) поговорить об их разработке. Благодаря Novell передо мной открывалась редкая возможность посмотреть Америку, поэтому я согласился на их предложение при условии, что они оплатят мне поездку еще в какой-нибудь американский город. Хоть я и был неискушенным финном, но подозревал, что Орем и даже Солт-Лейк-Сити не типичны для США. Мне предложили поехать в Вашингтон, но я не захотел. Я подумал, что все столицы похожи друг на друга. Тогда мне предложили Нью-Йорк, но я решил, что интереснее съездить в Калифорнию.
   Было непонятно, насколько серьезно относятся к проекту в штаб-квартире Novell. (В итоге оказалось, что совсем несерьезно: проект закрыли, а девять его участников организовали компанию Caldera.) Но зато мне удалось впервые взглянуть на Америку, куда я со временем планировал перебраться. Независимо от глубины интереса Novell к Linux США представлялись центром растущей технологической вселенной. Поездка в США ошеломила меня. Какое же там все новенькое по сравнению с Европой! Церковь мормонов за несколько лет до моего приезда отметила 150-летний юбилей, поэтому они привели в порядок свой главный храм. Он сиял белизной. После Европы, где все церкви старые и подернуты паутиной времени, я смог вспомнить только одно место, где раньше видел белый храм - Диснейленд. Он был похож не на церковь, а на какой-то сказочный замок. А еще я совершил ошибку, посетив в Ореме сауну при гостинице. Это была такая небольшая портативная сауна, буквально сделанная из пластика - и внутри было ненамного жарче, чем снаружи. Я ушел из нее с мыслью, что в США не умеют делать сауны, и слегка затосковал по дому.
   Я начал постигать азы. Точно так же, как в Финляндии приезжие быстро привыкают не заводить разговоры с незнакомцами в барах, я узнал, что в Юте - а позже выяснилось, что и в остальной части Америки - нельзя вести разумную беседу на тему абортов и оружия. С вероятностью 50% вы наткнетесь на собеседника, который принимает эти вопросы очень близко к сердцу. В результате легко втянуться в ожесточенный спор по поводу того, о чем не следует спорить. В Европе люди не зацикливаются на этих вопросах. Американцы же начинают очень бурно защищать свою позицию, потому что много раз слышали противоположное мнение. В Финляндии оружия на душу населения может быть больше, чем где бы то ни было, но оно используется в основном для охоты. И особых проблем не возникает.
   Еще одну вещь я понял в первые же дни жизни в Америке: "корневое пиво" страшная дрянь (Определенно, к его вкусу надо специально привыкать. Думаю, все началось с пуритан, которые не могли пить настоящее пиво из-за того, что в нем есть алкоголь. Тогда они состряпали безалкогольный напиток из корнеплодов и назвали его "корневым пивом" (root beer), чтобы люди думали, что это классная вещь. Десяти поколениям подряд вбивали в голову эту мысль, и люди наконец купились. Современные американцы любят "корневое пиво", потому что в течение десяти поколений нация подвергалась генетической переделке.).
   После Юты я полетел в Сан-Франциско - вот это классный город! Я столько времени ходил по улицам, что обгорел, и мне пришлось потом целый день не высовывать носа на улицу.
   Помню, как шел по мосту "Золотые ворота", любовался на холмы Марин и мечтал забраться на них, как только окажусь на том берегу. Но когда наконец дошел до конца моста, гулять уже больше не хотелось. Вот уж не ожидал, что шесть лет спустя, практически день в день, буду сидеть на гребне этих продуваемых ветром холмов, разглядывать Тихий океан, залив Сан-Франциско, мост, туман, сам Сан-Франциско и рассказывать обо всем этом диктофону Дэвида.
   Я снова оказался в Америке уже через год. Приехал, чтобы выступить перед DECUS (группой пользователей Digital) в Новом Орлеане. В аудитории оказалось всего сорок человек, поэтому я не особенно волновался. Мне очень повезло именно тогда я познакомился с Джоном Холлом, по прозвищу Мэддог. Он ведал техническим маркетингом Digital Unix и был давним пользователем Unix. Именно он пригласил меня на эту встречу. Мэддог знаменит своей длиннющей бородой и извращенным чувством юмора (не говоря уж о привычке храпеть). Он возглавляет Linux International - организацию, которая занимается поддержкой Linux и ее пользователей. Кроме того, он - крестный отец моей дочери Патриции.