Никогда не понимал, зачем соглашаться на решение, которое я не считаю самым лучшим с технической точки зрения. Это помогало мне сохранять беспристрастность, когда несколько программистов предлагали различные заплатки. Кроме того, хотя тогда я об этом не задумывался, это внушало людям доверие. А доверие дорогого стоит. Когда тебе верят, то прислушиваются к твоим советам.

Безусловно, сперва нужно заложить фундамент доверия. Думаю, все началось не столько, когда я написал ядро 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 хотели обставить выход новой версии с максимальной помпой.