Но Transmeta выпускает не просто железо. И это очень хорошо, потому что, честно говоря, я в упор не отличаю транзистор от диода. Transmeta делает простое железо, которое опирается на хитрое ПО, так что элементарный ЦП прикидывается гораздо более сложным – например, стандартным Intel-совместимым х8б. А чем меньше и проще становится железо, тем меньше транзисторов содержит ЦП, а следовательно, он потребляет меньше энергии – что, как всем понятно, становится все важнее в нашем мобильном мире. Из-за своего хитрого ПО Transmeta нужна большая команда программистов, и я в том числе.
   Меня все это очень устраивает. Transmeta, во-первых, не специализируется на Linux, а во-вторых, занимается интересными техническими штучками (и это еще слабо сказано: я до сих пор не слышал о другой компании, которая бы всерьез попыталась сделать что-то похожее). Причем в области, которую я знаю досконально: низкоуровневое программирование совершенно специфического семейства процессоров 80x86. Как вы наверняка помните, я затеял разработку Linux в первую очередь для того, чтобы разобраться в процессоре своего первого PC.
   То, что Transmeta не была Linux-компанией, тоже было для меня очень важно. Поймите меня правильно: мне нравилось решать проблемы Transmeta с Linux и участвовать во внутренних проектах на базе Linux. (Сейчас, пожалуй, невозможно найти серьезную технологическую компанию, в которой не было бы таких проектов.) Но Linux для Transmeta была на втором плане – именно к этому я и стремился. Я мог продолжать работать над Linux, но при этом мне не приходилось идти на технические компромиссы в интересах компании и в ущерб самой Linux. Я мог по-прежнему рассматривать Linux как хобби, руководствуясь в своих решениях только стремлением к техническому совершенству.
   Итак, днем я работал в Transmeta. Я писал и обслуживал интерпретатор х86, который мы и сегодня используем (хотя обслуживают его теперь другие). Интерпретатор по существу является составной частью программного обеспечения Transmeta: его задача брать команды Intel одну за другой и выполнять их (т. е. покомандно интерпретировать язык архитектуры 80x86). Позже я занялся другими вещами, но тогда я впервые столкнулся со странным и восхитительным миром эмуляции аппаратных средств.
   По ночам я спал.
   Мое соглашение с Transmeta было недвусмысленным: я имел право заниматься Linux даже в рабочие часы. И поверьте: я полностью этим правом пользовался.
   Многие люди готовы подолгу работать в две, три или даже четыре смены. Ко мне это не относится. Ни Transmeta, ни Linux никогда не могли помешать мне хорошенько выспаться ночью. По правде сказать, я вообще большой фанат сна. Некоторые думают, что это просто лень, но я готов забросать их подушками. У меня есть совершенно неотразимый аргумент, и тут меня не собьешь: если спать, например, по десять часов в сутки, то можно потерять на этом несколько рабочих часов, но зато во время бодрствования вы будете в форме и ваш мозг будет работать на полную катушку. А то и на две.

IV

   Добро пожаловать в Кремниевую Долину. В этой странной галактике мне сразу пришлось столкнуться со звездами.
   Я получил мейл от секретаря Стива Джобса о том, что тот будет рад со мной встретиться, если я смогу уделить ему час-другой. Я ответил: конечно, хотя и не понимал, к чему бы это.
   Встреча состоялась в штаб-квартире Apple в аллее Бесконечного цикла. Меня встретили Джобе и его главный технарь Эви Теванян. В то время Apple как раз начала работать над OS X, операционной системой на базе Unix, которую им удалось закончить только к сентябрю 2000-го. Встреча проходила неформально. Сначала Джобе пытался меня уверить, будто в области настольных компьютеров есть всего два игрока: Microsoft и Apple, и что для Linux, будет лучше всего, если я подамся в Apple и привлеку сообщество, работающее с открытыми исходниками, к созданию Mac OS X.
   Я продолжал разговор, потому что мне хотелось побольше узнать об их новой операционной системе. В ее основе лежит микроядро Mach, разработанное в Университете Карнеги – Меллона. В середине 90-х ожидалось, что Mach станет венцом операционных систем, и многие им интересовались. На самом деле IBM и Apple использовали Mach как основу своей злополучной совместной операционной системы Taligent.
   Джобе особо упирал на то, что низкоуровневое ядро Mach является открытым. Тут он несколько блефовал: какой толк от того, что базовая операционная система – слой нижнего уровня – открыта, если над ней лежит Mac-уровень и он закрыт?
   Понятно, Джобе не знал, что сам я невысокого мнения о микроядре Mach. Если честно, я считаю его полной мурой. Оно содержит все конструктивные ошибки, какие только можно придумать, и еще некоторые сверх того. Одним из аргументов против микроядер всегда была их низкая производительность. Поэтому существовало множество исследований для определения того, как заставить микроядро по-настоящему хорошо работать. Все полученные рекомендации были воплощены в Mach. В результате получилась очень сложная система со своими собственными законами. Но она все равно была не слишком эффективной.
   Эви Теванян работал над Mach еще на стадии университетского проекта. Мне было интересно обсудить проблемы, волновавшие их со Стивом. В то же время мы принципиально расходились по техническим вопросам. Я не видел смысла для специалистов по открытым исходникам и Linux ввязываться в это дело. Конечно, я понимал, зачем они хотели привлечь разработчиков открытого ПО к своей системе: они видели огромный потенциал Linux-сообщества. Не думаю, впрочем, что они осознавали его полностью. Вряд ли Джобе понимал, что у Linux потенциально больше пользователей, чем у Apple, хотя пользовательская база у них и разная. И вряд ли Стив так же решительно отмел бы Linux в качестве операционной системы для настольных компьютеров сегодня, как сделал это три года назад.
   Я объяснил, чем мне не нравится Mach. Легко понять, что это не вызвало у моих собеседников энтузиазма. Безусловно, они и раньше слышали эти аргументы. Я был явно зациклен на Linux, а Теванян – на Mach. Было интересно послушать их рассуждения о технических вопросах. Одна из очевидных для меня проблем заключалась в поддержке новой операционной системой старых Mac-приложений. Они планировали справиться со всеми старыми программами с помощью уровня совместимости. Все старые приложения должны были работать с помощью нового дополнительного процесса. Но один из главных недостатков старой Mac-системы – это отсутствие защиты памяти, а такое решение его никак не устраняло. Получалось, что защита памяти будет реализована только для новых приложений. Мне это казалось бессмысленным.
   Наши взгляды на мир расходились кардинально. Стив был Стивом, точно таким, каким его рисует пресса. Он был поглощен своими целями, в особенности маркетингом. Меня интересовала техническая сторона и не очень волновали ни его цели, ни аргументы. Основной его аргумент был в том, что если я хочу завоевать рынок настольных компьютеров, то должен объединить силы с Apple. А мне это было до лампочки. Зачем мне нужна Apple? Я не видел в ней ничего интересного. И я не ставил целью своей жизни завоевание рынка настольных компьютеров. (Сейчас дело идет именно к этому, но я никогда не ставил себе такой цели.)
   Его аргументация не блистала разнообразием. Он просто считал само собой разумеющимся, что я буду заинтересован. И оказался в тупике – у него в голове не укладывалось, что кого-то может совершенно не волновать увеличение рыночной доли Маков. Похоже, он был искренне поражен, как мало меня волнует размер рынка Маков и размер рынка Microsoft. И его трудно винить в том, что он не знал заранее, как сильно я не люблю Mach.
   Но хотя мы разошлись с ним почти во всем, мне он в общем-то понравился.
   Потом я впервые встретил Билла Джоя. Или, точнее, ушел со встречи с ним.
   Честно говоря, когда я его встретил впервые, то не знал, кто это. Дело было на предварительном показе Jini. Jini – это созданный Sun Microsystems язык агента взаимодействия, расширение Java. Он обеспечивает гладкое сетевое взаимодействие совершенно разных систем. Если у вас есть принтер с поддержкой Jini, то любое устройство, включенное в ту же сеть и говорящее на Jini, сможет автоматически его использовать.
   Sun Microsystems пригласила меня вместе с дюжиной других представителей движения открытых исходников и технических специалистов на закрытый предварительный показ, который происходил в одном из центральных отелей Сан-Хосе во время выставки Java World. Почему нас позвали – они использовали для Jini то, что в Sun Microsystems считается открытыми исходниками.
   Когда я туда шел, я вообще-то знал, что там будет Билл Джой. Он был ведущей фигурой в разработке BSD Unix, a позднее стал в Sun главным научным специалистом. До этого мы с ним не встречались. А тут он подошел ко мне и сказал, что он Билл Джой, а я как-то не среагировал. Я пришел туда не для встречи с ним, а чтобы узнать, что думает Sun по поводу открытых исходников и как они собираются их использовать. Через несколько минут Билл стал сам объяснять причины, по которым они остановились на открытых исходниках, а потом они показали некоторые возможности системы.
   После этого они стали объяснять свою систему лицензирования. Она была ужасна. Совершенно дурацкая система. В основном дело сводилось к тому, что если кто-то другой захочет воспользоваться системой хотя бы полукоммерческим образом, то код уже не будет открытым. Эта идея показалась мне абсолютно идиотской. Меня очень возмутило, что в приглашении они объявили о своей приверженности открытым исходникам. Исходники были открыты в том смысле, что вы могли их читать, но если вы хотели их модифицировать или встраивать в свою инфраструктуру, то нужно было получить лицензию у Sun. Если бы Red Hat захотела включить в свою последнюю версию Linux на компакт-диске поддержку Jini, то компания должна была получить от Sun лицензию на технологию Jini.
   Я задал несколько вопросов, чтобы убедиться, что все правильно понял.
   Потом я ушел.
   Я был просто в бешенстве, что они зазвали к себе людей под прикрытием движения открытых исходников. Когда я разобрался, в чем дело, я просто сказал: «Нет, меня все это не интересует», и ушел.
   Я понял так, что они позвали меня, просто чтобы проинформировать, а если я проявлю заинтересованность, то и получить какое-нибудь высказывание для прессы. Этот план провалился. Но, возможно, они чему-то научились. Видимо, позже их убедили открыть Star Office. To есть на все нужно время.
   Как мне сказали, в тот день собрание продолжалось, потом был ужин, и все на него остались.
   Моя вторая встреча с Биллом Джоем оказалась гораздо приятнее. Года через полтора он пригласил меня на суши.
   Его секретарь позвонил мне, чтобы согласовать время. Билл живет и работает в Колорадо и, видимо, проводит одну неделю в месяц в Кремниевой Долине. Мы пошли в «Фуки Суши» в Пало-Алъто. Там готовят одно из лучших суши в Кремниевой Долине. Конечно, это не идет ни в какое сравнение с «Блоуфиш Суши» в Сан-Франциско, где без перерыва показывают японские мультфильмы, или с «Токио гоу гоу» в Мишен (Мишен (Mission) – район Сан-Франциско. – Прим. пер) с их хипповой публикой, или с «Суши Ран» в Сауса-лито, с их важными посетителями, или с «Сето Суши» в Саннивейле, где подают самое лучшее острое суши из тунца.
   В общем, мы пошли в «Фуки Суши», и вышло довольно прикольно, потому что Билл пытался получить настоящий васаби. Тогда я этого не знал, но в большинстве японских ресторанов в Америке вместо васаби подают просто подкрашенный хрен. Оказывается, васаби растет только в японских ручьях и плохо поддается промышленному разведению. Билл пытался объяснить это официантке, но она его не понимала. Она была японка, но полагала, что васаби – это васаби. Он попросил ее узнать у шеф-повара.
   Это снование туда-сюда было прикольным. Ужин вылился в дружеское общение. По сути Билл дал мне понять, что если я хочу работать на Sun, то должен его известить и он что-то организует. Но не это было главным. Важнее оказалась возможность обсудить разные вещи. Он начал вспоминать, как пять лет осуществлял техническую поддержку BSD Unix и как стал ценить предоставленные Sun коммерческие возможности. Говорил, как важно иметь подспорье в лице такой компании, как Sun. Мне было интересно послушать его рассказ о начальных годах Unix. И было совершенно наплевать, что мы так и не попробовали настоящий васаби. Я отчетливо помню, как подумал, что он, вероятно, самый приятный и интересный человек среди шишек, которых я встретил в Кремниевой Долине.
   Перескочим на три года вперед. Я беру журнал «Wired» и вижу там его жутко негативную статью о техническом прогрессе под заголовком «Будущее в нас не нуждается». Я был разочарован. Ясно, что будущее в нас не нуждается. Но в этом нет ничего ужасного.
   Не хочу разбирать его статью строчку за строчкой, но я думаю, что самым печальным для человечества было бы продолжать жить как живется, избегая дальнейшего развития. Видимо, Билл считает, что достижения вроде генетической модификации приведут нас к потере человеческого начала. Всем кажется, что всякое изменение античеловечно, потому что вот сейчас-то мы люди. Но если мы будем продолжать развиваться, то в любом случае через 10 тысяч лет мы не будем людьми по сегодняшним стандартам. Человечество просто примет другие формы.
   В статье Билла звучит его страх перед этим фактом. А по-моему, пытаться ограничивать эволюцию – противоестественно и бесполезно. Вместо поисков двух собак, способных произвести необходимое потомство, мы, безусловно, обратимся к генетике; кажется неизбежным, что то же самое коснется и людей. Мне кажется, лучше изменить человеческую породу с помощью генетики, чем оставить все как есть. Я думаю, что в широком смысле гораздо интереснее способствовать эволюции не самих людей, а общества в целом, в каком бы направлении оно ни шло. Нельзя остановить технический прогресс и нельзя остановить развитие наших знаний о том, как работает наша вселенная и как устроены люди. Все меняется так быстро, что некоторых людей, как и Билла Джоя, это пугает. Но мне это представляется частью естественной эволюции.
   Я не согласен с Джоем в том, как нужно обходиться с нашим будущим, точно так же, как был не согласен с его пониманием открытых исходников. Я не согласился со Стивом Джобсом в вопросах технологии. Можно подумать, будто в первые годы в Кремниевой Долине я только и делал, что ни с кем не соглашался, но это не так. Я много программировал, водил Патрицию в зоопарк и вообще расширял свои горизонты: например, узнал горькую правду о васаби.

V
Головокружительный успех Linux

   Вы когда-нибудь читали пропагандистские телеконференции? Их основная задача – что-нибудь рекламировать, а значит, дискредитировать что-то другое. Подписавшись на такую конференцию, вы не прочтете ничего, кроме «Моя система лучше твоей». Своего рода онлайновая мастурбация.
   Я пишу о таких телеконференциях только потому, что при всей своей бессмысленности они дают некоторый ключ к происходящему. Поэтому когда корпорации впервые решили, что Linux классная операционная система, растущая коммерческая поддержка начала обсуждаться не в прессе и не в компьютерных магазинах, а в пропагандистских форумах.
   Хочу немного вернуться назад. Весной 1998 года в мою жизнь вошла третья блондинка: 16 апреля родилась Даниела Иоланда Торвальдс, первая американская гражданка среди Торвальдсов. Между ней и Патрицией шестнадцать месяцев – столько же, сколько между нами с Сарой. Но я уверен, что они не будут так воевать между собой, как мы с сестрой благодаря умиротворяющему влиянию Туве. Или ее владению карате.
   За две недели до рождения Даниелы в сообществе сторонников открытых исходников – которое до недавнего времени называлось сообществом сторонников свободного ПО – разразилась небывалая буря. Это случилось, когда Netscape – в рамках проекта Mozilla – открыла исходный код своего браузера. С одной стороны, все участники телеконференций обрадовались, потому что это придавало идее открытых исходников дополнительный вес. Но одновременно многие, включая меня, забеспокоились. В то время положение Netscape было – во многом благодаря Microsoft – плачевным, и то, что она открыла свой браузер, воспринималось как жест отчаяния (Забавно, что истоки браузера были открытыми. Проект зародился в Университете Иллинойса).
   В телеконференциях выражались опасения, что Netscape все запутает и бросит тень на доброе имя открытых исходников. На сцене оказывалось два крупных проекта с открытыми кодами – Netscape и Linux, и люди рассуждали так: если проект Netscape – более известный из двух – потерпит провал, то это отразится и на репутации Linux.
   И Netscape в значительной мере потерпела провал. В течение долгого времени компания не могла заинтересовать своим проектом разработчиков открытых кодов. Там была груда кода, и разобраться в нем могли только сотрудники Netscape.
   Проект был почти обречен; и не только из-за величины программы, но и потому, что Netscape отдавала в открытый доступ не все, а только рабочую версию, которая в то время мало на что годилась. Компания не могла применить к браузеру Универсальную общественную лицензию, потому что владела не всем кодом. Например, куски для поддержки Java лицензировались у Sun. He все участники телеконференции соглашались с лицензией Netscape. В целом она была довольно гуманной, но таким людям, как Ричард Столман, одного гуманизма мало.
   Я очень радовался решению Netscape, но не расценивал его как свое личное достижение. Помню, Эрик Реймонд воспринял событие очень лично. Он был просто в восторге. За год до этого вышла его статья «Собор и базар», которая сыграла важную роль в пропаганде принципов и истории открытых исходников; эта статья упоминалась как одна из причин принятого Netscape решения. Он активно пропагандировал открытые исходники. Он несколько раз посещал Netscape по разным поводам, пытаясь убедить их открыть браузер. Я был у них только раз. На самом деле Эрик со знаменем открытых исходников побывал в нескольких компаниях. Меня же интересовала технология, а не обращение в свою веру.
   В течение суток с момента выпуска Mozilla в открытый доступ австралийская группа, называвшая себя Mozilla Crypto Group, создала криптографический модуль. В те времена граждане других стран не имели права использовать программы шифрования, созданные на американской земле. Неожиданно такую программу создали в Австралии – теперь ею могли пользоваться неамериканцы. Но тут был свой подвох. При тогдашних ограничениях на экспорт в проект Mozilla нельзя было включить австралийский код. Как только программа попадала в США, она не подлежала реэкспорту. Это означало, что один из первых успешных результатов великого эксперимента Netscape не мог стать частью Mozilla.
   Все мы были очень обеспокоены, потому что о Netscape много писали в прессе. В этот первый год все действовали очень осторожно. Все боялись критиковать Netscape, чтобы не вызвать в прессе отрицательных откликов об открытых исходниках и не отпугнуть остальные компании.
   Но через два месяца после Netscape в игру включилась Sun Microsystems, объявив – первой среди ведущих поставщиков оборудования – о своем вступлении в Linux International. Она была намерена обеспечить поддержку Linux на своих серверах. Компания со своей невнятной схемой лицензирования Jini решила, что Linux стоит принимать всерьез. Телеконференция заполнилась взаимными поздравлениями. Благодаря участию Sun проект Linux шагнул из Интернета на страницы отраслевой прессы. Им неожиданно заинтересовались посторонние, хотя преимущественно посторонние – из числа технарей.
   Затем настал черед IBM.
   IBM была известна своей неповоротливостью, поэтому все очень удивились, когда компания в июне объявила, что будет продавать и поддерживать Apache – самый популярный вариант веб-сервера. Apache можно запускать под AIX – разработанной IBM версией Unix. Вероятно, именно это и делало множество пользователей IBM, так что Apache привлек внимание IBM. По всей видимости, кто-то обратил внимание, что большинство клиентов устанавливает на этих серверах Apache, и они решили, что смогут продать больше серверов, если организуют собственную службу поддержки таких клиентов. А может быть, они откликнулись на запросы клиентов, которые сообщали, что купят машины IBM, но установят на них Apache.
   Установить Linux на компьютере не так уж сложно. Но для большинства компаний самой большой проблемой всегда был вопрос: на кого ругаться, если что-то не работает? Безусловно, существуют Linux-компании типа Red Hat, которые оказывают поддержку, но клиентам, конечно, было намного приятнее знать, что им поможет IBM. Когда IBM начала заниматься открытыми исходниками, многие подозревали, что это чисто пропагандистская акция. Однако вышло иначе. Вначале IBM «замочила ноги», установив Linux на своих серверах, а потом и полностью «вошла в воду». Следующим номером программы стали маленькие PC-серверы. Потом обычные PC. Потом ноутбуки. В этом году они намерены потратить на Linux миллиард долларов.
   IBM многое для Linux сделала самостоятельно. Мне кажется, они полюбили Linux отчасти за возможность делать что хочешь, не думая о лицензировании. Они ведь уже нахлебались досыта. IBM накололась с Microsoft, когда они совместно разрабатывали операционную систему OS/2, которая оказалась просто-напросто Windows на стероидах. Microsoft оставила OS/2 без поддержки, потому что не хотела ни с кем делить рынок. В результате у Microsoft появилась Windows NT. Но для IBM затраченные на OS/2 миллиарды долларов так и не окупились. Потом IBM умаялась с лицензированием Java. Думаю, они были просто счастливы, что с Linux ничего такого нет.
   Несомненно, IBM стала для Linux самым ценным приобретением. И телеконференции отреагировали восторженно – не было ни того страха, который вызвало объявление Netscape, ни бурных антикоммерческих выступлений, которые иногда (хорошо: часто) разделяли линуксоидов.
   В июле Informix объявила, что перенесет свои СУБД под Linux, т. е. даже используя в качестве операционной системы Linux, можно будет работать с базой данных Informix. По тем временам событие было не очень важным: компания испытывала финансовые затруднения, хотя и продолжала входить в тройку лидеров среди поставщиков СУБД. Но линуксоиды все равно пришли в бурный восторг и принялись поздравлять друг друга.
   Через несколько недель – откуда ни возьмись – к движению примкнула Oracle. СУБД Oracle доминировали на рынке. Задолго до этого объявления ходили слухи (в форуме) о том, что компания для внутреннего употребления перенесла свои базы под Linux. А поскольку Oracle однозначно ассоциируется с Unix-серверами, переход к Linux не был таким уж большим скачком. Но, судя по сообщениям в форуме, для нас тогда настали великие времена. Объявление Oracle имело огромное психологическое значение, даже если с технической точки зрения его значение было нулевым.
   Как и заявление IBM, шаг Oracle отразился не только на линуксоидах, но и на тех, кого обычно называют «руководителями, принимающими решения», хотя некоторые предпочитают термин «пиджаки». Теперь они уже не могли сказать, что не используют Linux, потому что для их организации важны базы данных.
   Новости были замечательные, но они никак не изменили мою жизнь. Мы с Туве нянчили двух любимых малышек. Вне семьи я большую часть времени – как дома, так и на работе – тратил на обслуживание Linux. Чтобы не оказывать предпочтения ни одной из версий Linux, я использовал на работе Red Hat, а дома – SuSE, европейскую версию. Однажды я решил, что мне не хватает физических упражнений, и надумал преодолевать на велосипеде те шесть миль, которые отделяли наш дом от штаб-квартиры Transmeta. Это было в понедельник. По дороге не было никаких подъемов, но сильный встречный ветер сделал эту поездку напряженней, чем я ожидал. Через десять часов, когда я собрался возвращаться домой, ветер переменился и снова дул мне навстречу. Я позвонил Туве, и она за мной заехала. Само собой разумеется, что больше я не ездил на работу на велосипеде.
   Я упоминаю об этом малозначительном происшествии, только чтобы показать, что процветание Linux не отражалось на моей повседневной жизни. Основные события разворачивались в корпорациях. К техническим специалистам, которые давно знали о существовании Linux, стали обращаться их руководители, которые услышали о Linux или прочли в компьютерных изданиях. Они хотели уточнить у специалистов, из-за чего разгорелся сыр-бор. Узнав о достоинствах системы, они решали установить Linux на свои серверы.
   Так происходило в ИТ-отделах компаний по всему миру, но чаще всего – в США. И бесплатность Linux тут особой роли не играла: ведь стоимость программ – лишь капля в море общих расходов. Намного дороже обходится поддержка и обслуживание. «Пиджаков» убеждали простые технические аргументы: Linux была сильнее конкурентов – Windows NT и различных версий Unix. И потом – кому охота плясать под чужую дудку? Будь это дудка Microsoft или еще кого-то. А с Linux можно было делать что хочешь – не то что с другими программами. И к Linux обращались в первую очередь, чтобы получить доступ к исходникам, которого не было в случае использования коммерческих программ.
   В этом отношении мало что изменилось с тех пор, как я впервые выпустил в свет версию 0.01. Linux была пластичнее других систем. Ею можно было распоряжаться по-своему. И, по крайней мере применительно к веб-серверам, в ней не было того балласта – множества ненужных функций, – которым перегружены конкурирующие системы.