То, что 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 в качестве операционной системы для настольных компьютеров сегодня, как сделал это три года назад.