Страницы: -
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -
9 -
10 -
11 -
12 -
13 -
14 -
15 -
16 -
17 -
18 -
19 -
20 -
21 -
22 -
23 -
24 -
ьгх, Линус
хотел, чтобы у него был счастливый вид, как будто он только что оприходовал
бочонок пива, а потом оттянулся с подругой. Но главное, пингвин должен быть
узнаваемым. Поэтому, хотя у всех остальных пингвинов клювы и ласты черные, у
талисмана Linux они оранжевые, как будто папа этого пингвина был селезнем,
возможно, Даффи Дак во время круиза по Антарктике закрутил короткий роман с
местной птичкой.
"III."
Мое решение поступить на работу в корпорацию Transmeta линуксоиды
встретили точно так же, как и сообщение о том, что мы с Туве наконец
сообразили, как зачать ребенка, и ждем первенца в конце 1996-го.
Когда весной стало известно, что Туве беременна, самые активные
участники Linux-форума захотели узнать, как я планирую совмещать поддержку
Linux с семейными обязанностями. Через несколько месяцев все узнали, что я
(наконец) собрался уйти из Университета Хельсинки и перейти на работу в
законспирированную компанию Transmeta в Кремниевой Долине, и стали бурно
спорить, смогу ли я в опасных джунглях коммерческого мира сохранять верность
принципам открытых исходников, как делал это в нейтральном учебном
заведении. Линуксоидов особенно беспокоило, что Transmeta частично
финансировалась одним из основателей Microsoft Полом Алленом; некоторые
видели тут хитрый план захвата Linux.
Конечно, верным последователям Linux положение могло показаться
опасным, но... дайте же мне немного передохнуть! На самом деле ни рождение в
декабре 1996-го Патриции (а через полтора года Даниелы и через четыре года
-- Селесты), ни моя работа в Transmeta, начавшаяся в феврале 1997-го, не
погубили Linux. Я всегда был готов передать Linux надежному человеку, если у
меня что-то пойдет не так.
Но я забегаю вперед.
Весной 1996-го, как раз когда стало теплеть, я наконец закончил курс
обучения магистра. Примерно в это время мне написал Петер Энвин --
линуксоид, за три года до этого организовавший в Интернете сбор средств для
оплаты моего первого PC. Как и все остальные участники нашей
телеконференции, он знал, что я скоро кончаю университет. Он уже около года
работал в компании Transmeta и теперь сказал своему начальнику, что знает
одного парня из Финляндии, который может быть полезен компании. Поехав в
Швецию навестить мать, он по дороге завернул ко мне. Петер расхваливал
Transmeta, что было довольно трудно, потому что компания работала в условиях
глубокой конспирации и рассказывать ему было особенно нечего. Среди
программистов ходили только слухи, что там разрабатываются "программируемые
чипы". В конце концов, было здорово наконец познакомиться с Петером лично.
Через неделю после возвращения в Калифорнию он прислал мне мейл с
вопросом: когда я могу приехать. Все было совсем не так, как в прошлом году
с Intel, когда некий инженер хотел пригласить меня на стажировку, но дело не
выгорело из-за бумажной волокиты.
Я подумал, что даже просто съездить в Калифорнию и то приятно.
Это было мое первое в жизни собеседование с работодателем. У меня не
было резюме. Я не знал, чем занимается Transmeta. И дело было в чужой
стране.
Меня больше волновали последствия моего переезда в США, чем устройство
в эту конкретную фирму, поэтому я даже не думал о происходивших встречах как
о собеседовании. Для меня было важнее понять, что они собираются делать.
Довольно странная ситуация для собеседования.
Помню, как в первый вечер вернулся в гостиницу, которая располагалась
через дорогу от штаб-квартиры Transmeta. Я еще не пришел в себя после
перелета, и в моей голове все путалось. Идея казалась интересной, но люди из
Transmeta представлялись чокнутыми. В тот момент у компании не было вообще
никаких кремниевых микросхем. Никакого оборудования. Все делалось с помощью
моделирования, а демонстрация симулятора, загружавшего Windows 3.11 и
запускавшего пасьянс, никак не убеждала меня в реальности их планов. Я
боялся, что все это впустую. Четко помню свои тогдашние сомнения: а вдруг
ничего не выйдет -- ни у Transmeta с изобретением, ни у меня с работой.
С этими мыслями я и лег спать. Хотя сна особого не было. Вначале я
ворочался в постели и думал о планах Transmeta. Потом принялся мечтать, как
у меня на заднем дворе будет расти пальма. Потом стал обдумывать то, что
увидел в ходе моделирования. Эту беспокойную ночь я хорошо запомнил, но она
не идет ни в какое сравнение с тревожным ознобом в Эде.
К утру я слегка загорелся, а к концу второго дня уже был очень увлечен.
Тут-то и началось самое трудное.
Прежде чем принять предложение Transmeta, я обсудил его со многими
людьми. Когда прошел слух, что я рассматриваю этот вариант, мне поступило
несколько других предложений. В Финляндии меня пригласила компания Tele, в
которой использовалась Linux. Через Мэддога я получил предложение от
Digital. (He хочу никого обидеть, но зимой Бостон немногим лучше, чем
Хельсинки. Ну разве что чуть-чуть.) Я поговорил с некоторыми сотрудниками
Red Hat. Они готовы были меня взять и дать зарплату выше, чем Transmeta,
хотя, сколько мне предлагали в Transmeta, было неизвестно, потому что там я
денежный вопрос даже не обсуждал. В Red Hat обещали превысить предложение
Transmeta и в отношении пакета акций, каково бы оно ни было. Но я не хотел
работать на какую-то одну конкретную Linux-компанию -- даже если она
располагается в центре благословенной Северной Каролины.
В итоге, даже не объявляя формально о поиске работы, я получил пять
предложений. Transmeta определенно представлялась наиболее интересной.
Я согласился. У меня было странное ощущение. Потом я первым делом
объявил о своем уходе в университете. Вот когда начались настоящие
трудности. Для меня это был решительный шаг, после которого возврата назад
не было. Мы ждали ребенка, переезжали в новую страну, и я покидал надежное
гнездо Университета Хельсинки, но перед этим надо было написать магистерскую
диссертацию. Оглядываясь назад, я думаю, мне крупно повезло, что удалось
свалить все перемены в одну кучу. Но в то время это был чистый сумасшедший
дом.
Я не объявлял ничего официально -- с какой стати? Просто по Интернету
разнеслись слухи и возник тот спор, о котором я уже писал: смогу ли я
сохранить верность Linux и свободному программному обеспечению в зловещей
корпоративной среде, вдобавок постоянно отвлекаясь на смену подгузников. В
те времена считалось, что разработка Linux -- удел студентов, а не солидных,
остепенившихся людей. Так что их опасения легко понять.
Я написал диссертацию во время длинных выходных и сдал ее за несколько
минут до отъезда в роддом. Через сорок часов, 5 декабря 1996 года, родилась
Патриция. Я с первой минуты почувствовал себя в роли отца очень естественно.
Следующие несколько недель мы были заняты Патрицией и хлопотами по
получению американских виз, которые, казалось, займут всю жизнь. Мы решили,
что для упрощения дела нам лучше пожениться, поэтому в январе (число я
всегда спрашиваю у Туве) мы пошли и официально зарегистрировали свой брак.
Гостей у нас было трое: родители Туве и моя мать. (Отец был в Москве.) Это
был странный период. В один прекрасный день мы взяли и отправили в США почти
весь свой скарб, совершенно не представляя, когда сможем вылететь сами.
Потом позвали друзей на прощальную вечеринку. В только что опустевшую
однокомнатную квартиру набилось двадцать человек. По доброй финской традиции
все напились. В конце концов визы были получены, и утренним рейсом 17
февраля 1997 года мы вылетели в Сан-Франциско. Помню, температура в
Хельсинки была минус восемнадцать. Помню, как плакали, прощаясь с нами в
аэропорту, родные Туве -- у них очень близкие отношения. Не помню, приходили
ли мои. Наверно, да. Или нет?
Приземлившись в США, мы прошли таможню, держа на руках младенца и двух
кошек. Нас встретил Петер Энвин, и мы наняли машину, чтобы ехать в
Санта-Клару, в квартиру, которую мы выбрали несколько месяцев назад, когда
специально для этого приезжали в Америку. Все казалось нереальным, особенно
перепад температуры в 40 градусов по сравнению с Финляндией.
Наши вещи должны были прибыть через пару месяцев. Первую ночь мы спали
на надувном матрасе, который привезли с собой. На следующий день мы
отправились покупать настоящую кровать. Пока наша мебель не прибыла в
Калифорнию, Патриции пришлось спать в коляске. Это очень расстраивало Туве,
хотя Дэвид замечает, что все повторилось: ведь я провел первые три месяца
своей жизни в корзинке для белья. Мы мало готовили (мы и сейчас этого не
делаем) и не знали, куда ходить обедать.
По большей части мы ели в буфете торгового центра или в закусочной.
Помню, как говорил Туве, что надо поискать новые места.
Первые пару месяцев после переезда я осваивался в Transmeta и мало
занимался Linux. Новая должность требовала много времени, а после работы мы
с Туве и Патрицией изучали новое место жительства. Хлопот хватало. У нас
совершенно не было денег. Зарплата у меня была немаленькая, но все уходило
на мебель. А покупка машин вылилась в целую эпопею, потому что у нас не было
кредитной истории. Даже то, что мы способны платить за телефон, пришлось
доказывать.
Мой компьютер неспешно огибал на корабле Африканский Рог. Впервые в
жизни я не подавал голоса в Интернете, и многие начали беспокоиться. Ну да,
думали они, теперь он работает в коммерческой компании...
Многие так прямо и спрашивали, ну что -- это конец свободного
существования Linux? Я объяснял, что по контракту с Transmeta смогу
продолжать работу над Linux. И что я не собираюсь ничего бросать. (Я не
знал, как сказать, что просто перевожу дух.)
Жизнь в стране Transmeta.
Объяснить, что переезд в США и переход на коммерческую работу не
изменит ситуации, мне было особенно трудно потому, что Transmeta вела себя
как чуть ли не самая скрытная компания на свете. Во всех разговорах мы
должны были придерживаться одного простого правила: "Не говорить ничего". В
результате линуксоидам оставалось только гадать, к какой странной секте я
примкнул и вернусь ли когда-нибудь назад. Я даже матери не мог рассказать,
чем занимаюсь. Не то чтобы ее это заинтересовало.
На самом деле я не делал в Transmeta ничего особенного. Прежде всего я
занялся устранением некоторых возникших у них проблем с Linux. В компании
использовалось большое количество многопроцессорных машин, работавших под
Linux. Сам я никогда раньше не занимался вопросами симметричной
многопроцессорной обработки под Linux, и выяснилось, что многие вещи
работают вовсе не так, как ожидалось. Я воспринял это как личный вызов и,
естественно, принялся все исправлять.
Но настоящая моя работа сводилась к участию в деятельности софтбольной
команды Transmeta.
То есть я хочу сказать софтверной. Не так уж мы много играли в софтбол:
ни одна лига Кремниевой Долины не хотела нас принимать, пока мы не скажем,
чем занимаемся.
Не знаю, насколько компания Transmeta известна. Сейчас, когда я печатаю
этот текст, мы сидим тихо в ожидании выхода на биржу (пожалуйста, ради бога,
купите наши акции), то есть период секретности уже миновал, но теперь мы
вынуждены молчать, подчиняясь правилам Комиссии по ценным бумагам и биржам в
отношении первоначального выпуска акций в открытую продажу. Будем надеяться,
что к моменту выхода этой книги каждая собака будет знать о компании
Transmeta и купит себе парочку наших (внушение на уровне подсознания: АКЦИИ)
процессоров. Потому что Transmeta делает именно их -- процессоры. Железо.
Но 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? Я не видел в ней ничего
интересного. И я не ставил целью своей жизни завоевание рынка настольных
компьютеров. (Сейчас дело идет именно к этому, но я никогда не ставил себе
такой цели.)
Его аргументация не блистала разнообразием. Он просто считал само собой
разумеющимся, что я буду заинтересован. И оказался в тупике -- у него в
голове не укладывалось, что кого-то может совершенно не волновать увеличение
рыночной д