"Линус Торвальдс: вся жизнь "just for fun"!" ("Вебпланета").
Имя Линуса Торвальдса (Linus Torvalds) известно миллионам людей из большинства стран мира. Тридцатилетний хакер из Финляндии стал всемирно известным, не стремясь к этому. Операционная система Linux, разработанная Линусом Торвальдсом, завоевала популярность среди всех категорий: от домашних пользователей до межконтинентальных корпораций.
В 2002-ом году издательством HarperBusiness была издана совместная книга Линуса Торвальдса и журналиста Дэвида Даймонда (David Diamond) "Just for fun. The story of accidental revolutionary" ("Только для удовольствия. История нечаянного революционера"). В том же году она была переведена на русский язык издательством "Эксмо-пресс" и пользуется большой популярностью среди русскоговорящих компьютерщиков.
Структура книги представлена в виде чередующихся глав от соавторов. Таким образом, жизнь и рассуждения "нечаянного революционера" Линуса отображается как "изнутри", так и в виде взгляда "со стороны".
Пометки автора статьи "на полях": Книга почему-то напомнила "Иллюзии, или приключения Мессии, который Мессией быть не хотел" Ричарда Баха. Ассоциации Дональда Шимоды с Линусом Торвальдсом приходит на протяжении чтения почти всей книги.Откуда он такой взялся? Линус Торвальдс, его семья и Финляндия.
Линус родился и рос в Финляндии, в семье журналистов. В школе он считался типичным "ботаником", что вполне соответствовало его увлечениям и внешности. Один из самых маленьких в классе, получающий хорошие отметки по математике и физике, и несколько отстающий по другим наукам. При этом, как признает сам Линус, он "был некрасивым ребенком". Вполне естественно, что такие ребята мало увлечены общением среди сверстников и увлекаются техникой. Для Линуса "учителем" стал его дедушка по материнской линии Лео Вальдемар Тёрнквист, профессор статистики в Университете Хельсинки. Впервые Линус познакомился с компьютером в 11-летнем возрасте. Это был дедушкин Commodore VIC-20.
Единственным возможным занятием на компьютере было программирование на Basic. Именно для этого и нужен был компьютер профессору статистики. Однако работе с клавиатурой дед будущего хакера так и не научился. В этом его заменял Линус. В скором времени Линусу наскучил монотонный ввод программ под диктовку дедушки. Он начал покупать только появлявшиеся в стране компьютерные книги и журналы. В одной из них Линусу "попалась программа для азбуки Морзе. В отличие от остальных программ, она была написана не на Бейсике. Это был просто набор чисел, которые можно было вручную перевести на машинный язык - в цепочку нулей и единиц, которые понимает компьютер" [1].
Поняв, что Бейсик является лишь "частью компьютера", Линус начал постигать другие его стороны. "Не зная, что есть программы для перевода "человеческих" чисел в машинные нули и единицы, я принялся писать программы в числовой форме и переводить их вручную. Это называется программированием в машинном коде. Оно позволяет делать такие вещи, до которых иначе не додумаешься. Расширяет возможности компьютера. В твоей власти оказывается все до мельчайших деталей. Начинаешь придумывать, как сделать то же самое чуть-чуть быстрее и занять при этом меньше места. Между тобой и компьютером исчезает барьер абстракции, и вы становитесь очень близки. Вот что такое "быть с машиной на "ты"".
Спустя пять лет после знакомства с компьютером, дедушка Линуса умер. Линус с головой ушел в изучение возможностей компьютера, который ему достался "по наследству".
Родители Линуса и по сей день работают в сфере журналистики: отец Нильс Торвальдс - теле- и радиожурналист, мать Анна Торвальдс - литературный редактор в Финском Агентстве Новостей. Сестра Линуса Сара также не избежала семейной традиции - она имеет собственное бюро переводов (переводы новостных репортажей) и одновременно работает в Финском агентстве новостей.
Сам Линус относится к семейной профессии скептически. Ничто не передаст его отношение точнее, чем цитата из книги: "поскольку почти все мои родственники - журналисты, я считаю себя вправе шутить с репортерами о том, что знаю, какие они козлы".
В отличие от своих сверстников, Линуса в юношестве не привлекали ни футбол и хоккей, ни флирт с девушками. Он был полностью увлечен компьютерами.
Сам Линус о себе говорит так. "Я был чистой воды хакер. Без вопросов. Причем сексуальными хакеров стали считать позже. Точнее, не сексуальными, а прикольными. Я же был не просто хакером, но еще и застенчивым хакером. Или это уже тавтология? Итак, я сидел за компьютером и был абсолютно счастлив" [1].
Выглядит знакомо, не правда ли? В наше время таких детей становится все больше и больше. Однако в те времена, когда "компьютеры были большими, а программы маленькими", увлечение Линуса не расценивалось, как обычное.
С удовольствием проучившись год в университете, Линус попал в финскую армию, где он получил значительное количество занятий по физической подготовке, которой ему хватило на несколько лет. Шутливое отношение Линуса к стране и соотечественникам проступает и здесь. "Некоторые даже считают, что это главная причина всеобщей воинской обязанности в стране: надо дать финнам неисчерпаемую тему для разговоров за пивом. Общее несчастье их объединяет. Служат они с отвращением, но потом с удовольствием об этом вспоминают" [1].
Именно университет и дал толчок Линусу к началу серьезного программирования. Вся дальнейшая жизнь его напрямую связана с разработкой операционной системы.
Линус и Linux.
На смену устаревшему VIC-20 Линус в 1987 году (в возрасте 17-ти лет) купил на скопленные деньги новинку тех времен - Sinclair QL. Компьютер работал на 8-мимегагерцевом процессоре 68008 от компании Motorola и имел 128 килобайт памяти. На тот момент цена компьютера, выпускаемого фирмой под эгидой Клайва Синклера, составляла около 2000 долларов.
Интерес к операционным системам у Линуса возник практически сразу. При попытке установить купленный флоппи-контроллер ему пришлось написать свой драйвер устройства. Попутно Линус "обнаружил проколы в самой операционной системе или по крайней мере несоответствие между тем, что обещала документация, и тем, что реально происходило" [1].
Следующим действием Линуса было дизассемблирование операционной системы Q-DOS, установленной на его компьютере. Разочарованием было известие, что в установленной системе ничего невозможно было изменить, так как она прописывалась в ПЗУ. Первыми программами, которые написал Линус на новом компьютере, были, конечно, игры. Идеи большинства игр он перенес со своего старого компьютера. Однако, установленная ОС имела массу недостатков. Наряду с мультизадачностью, она не имела функции защиты памяти и в любой момент могла зависнуть. Кроме того, Клайв Синклер после выпуска Sinclair QL забросил разработку дальнейших моделей и поддержку старых.
После демобилизации из армии Линус впервые сталкивается с системой Unix. В числе других 32-х студентов он выбрал для обучения курс "C и Unix". Так как система Unix только появилась в Университете Хельсинки, преподаватель учился новой ОС наряду со студентами. Дала толчок Линусу к созданию собственной операционной системы книга профессора из Амстердама Эндрю С. Таненбаума "Проектирование и реализация операционных систем". Сам Линус утверждает, что эта книга буквально перевернула его жизнь. В этой книге Эндрю Таненбаум описывал Minix - учебную ОС, которую он написал для обучения Unix. Естественно, Линус тут же загорелся идеей установки Minix на свой компьютер. Однако Sinclair QL не позволял устанавливать такие системы. Лишь в январе 1991 года, купив новый компьютер (уже PC), Линусу удалось установить на нее впоследствии купленную копию Minix.
После изучения достоинств и недостатков Minix, Линус принялся "доводить ее до ума". Minix была, в первую очередь, учебной ОС, намеренно урезанной и искаженной. После установки старых университетских программ Линуса и заплаток знаменитого австралийского хакера Брюса Эванса Minix приобрела более приемлемый вид.
Все началось с плохой реализации терминала удаленной связи в Minix. Это была наиболее используемая функция для Линуса, так как он связывался по модемной связи с университетским компьютером. Линус решил разработать свою программу для связи, при этом опираясь не на Minix, а непосредственно на аппаратный уровень компьютера. Это позволило параллельно изучить в тонкостях сам компьютер на 386-ом процессоре и операционную систему.
Линус был очень горд своим усовершенствованием системы. Однако попытки продемонстрировать свои "заслуги" другим ни к чему не привели. "Я понял, что это не впечатляет. Никому не объяснишь, что под внешней незатейливостью могут скрываться сложные глубинные процессы".
Так и начиналась Linux: с написания пакета эмуляции терминала. Одно влекло за собой другое. Линусу потребовалось скачивать и закачивать файлы на университетский компьютер, а для этого нужно было писать файлы на диск. Недолго думая, он принялся за написание драйвера дисковода и файловой системы. При этом Линус делал свою систему, совместимой с Minix.
По ходу работы Линус советовался с другими пользователями Minix посредством usenet-конференции comp.os.minix. Достаточно серьезные вопросы относительно архитектуры Unix и Minix, задаваемые им в конференции, показывали, что Линус разрабатывает свою ОС.
В один прекрасный момент он с удивлением обнаружил, что написанные им программы, обросшие дополнительными функциями, являют собой рабочую версию своей операционной системы.
На ранних стадиях создания будущей Linux работа велась довольно монотонно. Линус рассматривал один за другим системные вызовы, которые лежали в основе Unix, и пытался создать на их основе свои блоки ОС с необходимыми ему функциями. Это было довольно изнурительно и не имело больших стимулов к дальнейшей работе. А все потому, что проверить работоспособность системы было невозможно.
После такой обработки около двадцати пяти системных вызовов Линус решил перейти к другой тактике - он стал пытаться запускать оболочку ОС, а при появлении ошибок - разрабатывать необходимые системные вызовы. Так, продвижение в создании системы было налицо. В конце августа - начале сентября необходимые системные вызовы были обработаны, и оболочка заработала. Это был первый значительный успех.
Итак, 17 сентября 1991 года первая версия Linux была выложена в открытый доступ на FTP-сайт. Именно к этому моменту и был решен вопрос о названии новой системы.
Линус изначально хотел назвать ее Freax (от "Freaks" - фанаты и "x" - окончание слова от "Unix"). Для себя же он называл ее Linux, но считал, что это нескромно выносить в качестве официального названия. Ари Лемке, преподаватель из Технического университета Хельсинки, создал на университетском FTP-сервере каталог, где Линус и разместил свою систему. Однако Ари невзлюбил название Freax, и назвал каталог pub/OS/Linux. Линус не особо возражал, и название закрепилось.
Версия Linux, выложенная на сайт, имела номер 0.01. Это значило, что пока система мало на что годится и нуждается в длительной доработке. Именно поэтому Линус не оглашал публично о выходе ОС. Он лишь разослал письма 5-10 видным хакерам с указанием адреса сервера, где Linux можно было скачать. Фактически кроме запуска оболочки и распечатки исходников Linux ничего не позволяла делать.
К ноябрю 1991 года интерес к системе у Линуса иссякал, и дальнейшее развитие, возможно, прекратилось бы. Помогла случайность. При очередной доработке Minix, Линус по случайности запортил некоторые важные части раздела Minix. Возник вопрос: либо переустанавливать Minix, либо заявить самому себе, что Linux имеет право на существование в качестве основной ОС. Линус выбрал свою ОС.
К началу 1992 года Linux совершила значительный рывок вперед по популярности. Линус добавил в систему несколько функций, аналогов которым не имелось в Minix, в частности - функцию подкачки на жесткий диск при использовании больших программ. Кроме этого, Линус вводил в новую ОС функции, которые запрашивали пользователи в своих письмах.
Линус намеренно отказался от предлагаемых ему вознаграждений и предложил присылать ему открытки из городов, где живут пользователи. Ему интересно было знать, где люди используют Linux. Открытки посыпались лавиной - из Новой Зеландии, Японии, Нидерландов, США. Только теперь родственники и заметили, что его занятия за компьютером приносят Линусу значительную популярность.
Условия распространения Linux были разработаны еще на начальной стадии. Linux распространялась свободно, при этом не может быть выставлена на продажу. В случае, если пользователь вносил какие-то изменения или улучшения в систему, он должен был сделать их всеобщим достоянием в виде исходников. Впоследствии, авторские права были заменены на GPL (General Public License). Отчасти это было сделано потому, что Линус писал свою ОС, опираясь на множество свободно распространяемых по интернету инструментов. Самым важным из них был компилятор GCC, авторские права которого были оговорены в GPL.
С ростом популярности у Linux появлялись и враги, и завистники. Не ждал Линус осуждения со стороны автора книги, которая толкнула его на "подвиги". Автор книги "Проектирование и реализация операционных систем", создатель Minix Эндрю Таненбаум регулярно выступал с язвительными письмами в адрес Linux. Линус также за словом в карман не лазил. Перепалка Линуса с Таненбаумом стала настолько резкой, что они продолжали споры уже по личной почте.
Из изложенного видно, что до 1992 года, несмотря на долгие часы, дни и месяцы работы над Linux, новая ОС оставалась для Линуса интересной игрушкой. Перелом наступил весной 1992 года, когда хакер Орест Збровски успешно адаптировал X Windows для Linux. Таким образом, у Linux появился графический интерфейс. Линус понял, что его ОС перестала быть игрушкой, на нее полагаются и рассчитывают тысячи людей во всем мире.
После появления графического интерфейса, Линус решил, что система почти готова к работе и выпустил версию 0.95. Это было существенной ошибкой. Едва начав вводить в Linux функции работы в сети, Линус понял, что предстоит еще очень много трудов. Версия 1.0 вышла лишь через два долгих года. Она была представлена публике в марте 1994 года.
В личной жизни Линуса мало что изменялось до 1993 года. В 1993 году он решил пойти по стопам деда, пристрастившего его к компьютерам, и стал ассистентом в Университете Хельсинки. Через несколько месяцев Линус... женился на одной из своих студенток. История знакомства Линуса с Туве была в "хакерском" стиле. Так Линус рассказывает об этом в своей книге. "Шла осень 1993-го, Интернет еще не был популярен, поэтому однажды я задал на дом послать мне сообщение по мейлу. Сегодня это звучит по-идиотски, но я сказал: "Домашнее задание: пошлите мне e-mail". Другие студенты прислали просто тестовые сообщения или какие-то замечания о занятиях. Туве пригласила меня на свидание. Я женился на первой же женщине, которая обратилась ко мне по мейлу".
1996 и 1997 годы принесли в жизнь Линуса значительные перемены. Весной 1996 года Линус наконец закончил Университет Хельсинки со званием магистра, в декабре у Линуса и Туве родилась дочь, а в феврале 1997 года Линус поступил на работу в компании Transmeta в Кремниевой Долине.
Все эти перемены дали причину для беспокойства пользователям Linux. Особо активных из них интересовало, сможет ли Линус в дальнейшем руководить развитием Linux, и не забросит ли он проект. Опасения пользователей не оправдались, Линус и по сей день успешно сочетает семейную жизнь с развитием всемирно известной ОС.
Идея выбора символики для Linux - один из спорных вопросов между Линусом и Туве. У кого родилась идея выбора пингвина в качестве знака доподлинно неизвестно. Однако мы знаем, что в итоге Линус подал клич в интернете, чтобы ему присылали различные изображения пингвинов, и выбрал вариант графика Ларри Юинга. Пингвин у Юинга получился необычным и узнаваемым. Хотя у всех пингвинов клювы и ласты черные, у талисмана Linux они оранжевые, "как будто папа этого пингвина был селезнем, возможно, Даффи Дак во время круиза по Антарктике закрутил короткий роман с местной птичкой" [1].
Linux становилась весьма популярной, избежать ее коммерциализации уже было невозможно. Впрочем, Линус к этому уже и не стремился. Его опасения о том, что Linux может быть захвачена какой-то компанией в начальной стадии развития, к счастью, не оправдались. Linux заинтересовались крупнейшие компании. Одна за одной объявили о поддержке системы на свои серверы IBM, Informix, Oracle и многие другие.
Значительно помогло в распространении Linux то, что она изначально не была предназначена для какой-то конкретной ниши рынка. Начиналась разработка Linux на обычном домашнем ПК, затем ее стали устанавливать на суперкомпьютеры, серверы, встроенные устройства и т.д. Выпуск мобильного телефона от Motorola под управлением Linux также говорит о многом.
Популярность Линуса, которая сначала его забавляла, начала мешать. В его жизнь начали проникать не благодарные пользователи Linux, а журналисты. Им нет дела до структуры ОС, им важна лишь сенсация. Известность начала мешать его работе в компании Transmeta. Постепенно Линус уходит в тень. Революция закончилась, все расходятся по своим местам.
А что же сейчас происходит с "нечаянным революционером"? В июне 2003 года Линус ушел из компании Transmeta. Теперь создатель Linux работает в лаборатории OSDB, занимающейся Linux. OSDB (Open Source Development Lab) представляет собой консорциум, разрабатывающий различные виды открытого ПО, в том числе и Linux. ""Кажется немного странным, что я, наконец, буду официально работать над тем, чем занимался последние двенадцать лет, но ввиду предстоящего выпуска версии 2.6.x имеет смысл целиком сконцентрироваться на Linux. В Transmeta мне всегда охотно позволяли заниматься Linux сверх всякой меры, но из-за этого я чувствовал себя немного виноватым, что делаю для них слишком мало "реальной работы"", - говорит Линус.
Друзья и родственники о Линусе.
"Если у человека загораются глаза при появлении проблемы и он перестает слышать то, что ты говоришь, не может ответить на простейшие вопросы, полностью поглощен тем, чем занят в настоящий момент, во время решения задачи готов обходиться без сна и еды и никогда не сдается (его, конечно, можно прервать, и в обыденной жизни так часто и случается, но потом он снова продолжает свою работу, не думая ни о чем другом) - это верный признак"
Анна Торвальдс, мать Линуса.
"Вот, кажется, мое первое воспоминание о том, что Линус сделал что-то примечательное. Дело было, думаю, в начале 1992 года. Я приехал к Линусу на велосипеде без особой цели. Мы сидели в его всегдашнем бардаке, смотрели MTV, и я спросил, как идет разработка Linux. Обычно он отделывался пустыми фразами. В этот раз он повел меня к компьютеру (из замусоренной кухни в совершенно захламленную комнату). Линус ввел имя пользователя и пароль и попал в режим командной строки. Он показал мне некоторые базовые функции интерпретатора команд, ничего особенного. Потом повернулся ко мне со своей характерной улыбкой: "Похоже на DOS, правда?". Я удивился и кивнул. Я не был потрясен, потому что это уж слишком походило на DOS, при этом ничего особенно нового. Мне нужно было догадаться, что Линус не станет так улыбаться без особой причины. Линус снова повернулся к компьютеру и нажал какую-то комбинацию клавиш - появилось новое приглашение для ввода пароля. Новый пароль - и снова режим командной строки. Линус показал мне четыре разных командных строки и объяснил, что в будущем они будут доступны четырем различным пользователям. В этот момент я понял, что Линус создал нечто чудесное. Меня это никак не задело - в снукер-то я у него по-прежнему выигрываю."
Йоуко Виерумаки (Авутон)
"Для меня это в первую очередь значило, что телефон все время занят и к нам никто не может дозвониться... Потом стали приходить открытки со всех концов света. Наверное, тогда я начала понимать, что его творением действительно пользуются реальные люди в реальном мире".
Сара ТорвальдсЛинки по теме:
"Just for fun..." на английском языке в твердом переплете на Amazon.com.
"Just for fun..." на английском языке в мягком переплете на Amazon.com.
"Just for fun..." на русском языке в виде txt-файла в кодировке koi-8.