XI
XI
Температура в номере гостиницы была чуть выше нуля, и накануне своего первого выступления я лежал в постели, дрожа от холода. В Нидерландах, в отличие от Финляндии, не принято отапливать помещения, а в этой мерзкой комнате были еще и огромные сплошные окна, как будто жить в ней предполагалось только летом. Однако ночью 4 ноября 1993 года я не мог спать не только из-за холода. Я страшно волновался.
Публичные выступления мне всегда давались с трудом. В школе нас заставляли делать доклады по темам, которые мы изучали, – о крысах или еще о чем-нибудь, – и для меня это было совершенно непереносимо. Я стоял, не мог вымолвить ни слова и только хихикал. Хотя – поверьте мне – я вовсе не такой смешливый. Мне было трудно даже просто выйти к доске рассказать, как я решил задачу.
И вот теперь я оказался в Эде (Нидерланды), в часе езды на поезде от Амстердама, потому что меня пригласили выступить на десятой годовщине Нидерландской группы пользователей Unix. Я хотел сам себе доказать, что справлюсь. За год до этого меня пригласили выступить перед аналогичной организацией в Испании, но я отказался, потому что страх перед публичными выступлениями пересилил любовь к путешествиям. А в то время я очень любил путешествовать. (Я и сейчас люблю, но уже нет той остроты впечатлений, которая была у мальчика, практически не выезжавшего из Финляндии. Я бывал только в Швеции, куда мы несколько раз ездили с палатками на каникулы, и в Москве, где мы навещали папу, когда мне было шесть лет.)
Жалея, что упустил шанс поехать в Испанию, я решил принять следующее приглашение. Но теперь, лежа в постели, я уже сомневался, что смогу когда-нибудь преодолеть свой страх перед большой аудиторией, боялся, что не смогу открыть рта или – хуже того – начну хихикать перед 400 участниками собрания.
Мне было тошно.
Я говорил себе все, что обычно говорят в подобных случаях. Что аудитория желает мне успеха – ведь если бы они меня не любили, то просто не пришли бы. Что я хорошо знаком с темой: причины выбора тех или иных технических решений при создании ядра Linux, причины предоставления исходников в свободное пользование. Но я все равно сомневался, что доклад удастся, и мысли у меня в голове проносились со стуком и скрежетом, как бесконечный товарный состав. Я буквально дрожал и далеко не от одного только холода.
Как прошел доклад? Аудитория была дружелюбна к заметно трепещущему перед ней докладчику, вцепившемуся в свои PowerPoint-слайды как в спасательный круг (слава Microsoft!), а потом с запинкой отвечавшему на вопросы. На самом деле вопросы и ответы прошли лучше всего. Как бы то ни было, после доклада ко мне подошел Маршал Кирк Маккусик – один из главных разработчиков BSD Unix – и сказал, что с интересом выслушал мое выступление.
Я был так благодарен ему за этот жест, что готов был встать на колени и целовать его ноги. Для меня есть всего несколько авторитетов в компьютерной области, и Кирк – один из них. За то, что он был так мил после моего первого выступления.
Тот первый доклад стал для меня своего рода шоковой терапией. И следующие за ним тоже. Зато они постепенно помогли мне приобрести некоторую уверенность в себе.
Дэвид все спрашивает, изменилось ли мое положение в университете после того, как Linux получила известность? Я никогда не слышал, чтобы кто-то из преподавателей упоминал о ней или кто-то из студентов показывал меня своим друзьям. Ничего такого не было. Мое университетское окружение знало о Linux, но большинство линуксоидов жило за пределами Финляндии.
Осенью 1992-го меня назначили ассистентом в шведских классах факультета информатики. (Это произошло так. Им был нужен говорящий по-шведски преподаватель для базовых компьютерных курсов. В университете специализировались по информатике всего два шведа-старшекурсника: Ларс и Линус. Особого выбора не было.) Первое время я со страхом выходил к доске решать задачи, но вскоре увлекался и переставал волноваться. Кстати, спустя три года меня перевели в научные сотрудники – я стал получать деньги не за преподавание, а за исследования в компьютерной лаборатории, которые по существу сводились к разработке Linux. Этим было положено начало доброй традиции: мне стали платить за работу над Linux. Именно так в сущности обстоит дело и в Transmeta.
Дэвид: «Ну, и когда это стало важным?»
Я: «До сих пор не стало».
Хорошо, отвечу подробнее. Дело приняло новый оборот, когда я понял, что Linux не просто игрушечная операционная система – на нее всерьез стало полагаться множество людей. Вначале многие ставили себе Linux, просто чтобы поковыряться в ней, а вот когда ее стали использовать как настоящую операционную систему, я понял, что несу ответственность, если что-то случится. Или по крайней мере начал это понимать. (Я и сейчас чувствую такую ответственность.) За 1992 год Linux превратилась из увлекательной игры в важную составляющую жизни людей, стала источником их доходов, средством ведения коммерции.
Скачок произошел весной 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, уровень заплаток 15A. Потом появилась версия 0.99, уровень заплаток 15B и так далее. Так мы добрались до уровня заплаток 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, который использовал потом много лет. В этом и была моя жизнь: я ел, спал, иногда ходил в университет, программировал, читал прорву мейлов. Я был в курсе, что некоторые мои друзья чаще занимаются сексом, но это меня не трогало.
Честно говоря, большинство моих друзей тоже не преуспевали в этой сфере.