Линус Торвальдс
Финский программист, хакер. Создал Linux — ядро операционной системы GNU/Linux, являющейся на данный момент самой распространённой из свободных операционных систем.
Дата рождения 28.12.1969
Сайты
Деятельность Программисты, Хакеры
Страны Финляндия
Поделиться

Биография

Линус родился и вырос в Финляндии, в семье журналистов. В школе он считался типичным «ботаником», что вполне соответствовало его внешности и увлечениям. Самый младший в классе, щуплый и низкорослый, по собственному признанию, «некрасивый», Линус был не на шутку увлечен техникой и мало интересовался общением со сверстниками. Он всегда отлично успевал по математике и физике, иногда в ущерб гуманитарным дисциплинам.

Непререкаемым авторитетом и истинным гуру стал для будущего «революционера» его дедушка по материнской линии Лео Вальдемар Тёрнквист, профессор статистики в Университете Хельсинки. Именно он открыл для Линуса мир компьютеров. Когда Линусу было 11 лет, он уже осваивал дедушкин Commodore VIC-20, параллельно обучаясь программированию на Basic — ни на что большее этот компьютер не был годен. В скором времени Линусу наскучил монотонный ввод программ под диктовку дедушки. Он начал скупать все появлявшиеся в стране компьютерные книги и журналы. В одном из них Линусу попалась программа для азбуки Морзе. В отличие от всех встречавшихся ему прежде, она была написана не на Бейсике, а представляла собой просто набор цифр, которые можно было вручную перевести на машинный язык — в цепочку нулей и единиц, понятную для компьютера.

Придя к осознанию того факта, что Бейсик является лишь «частью компьютера», Линус начал постигать другие его стороны. «Я не знал, что есть программы для перевода «человеческих» чисел в машинные нули и единицы, так что принялся писать программы в числовой форме и переводить их вручную. Это называется программированием в машинном коде. Оно расширяет возможности компьютера и позволяет делать такие вещи, до которых иначе не додумаешься. Огромное значение приобретают самые мельчайшие детали. Начинаешь ломать голову над тем, как сделать то же самое чуть-чуть быстрее и занять при этом меньше места. Между тобой и компьютером исчезает барьер абстракции, и вы становитесь очень близки. Вот что такое «быть с машиной на „ты“».

Когда дедушка Линуса умер, будущий хакер с головой ушел в изучение возможностей доставшегося ему «по наследству» компьютера.

Родители Линуса и по сей день работают в сфере журналистики. Отец Нильс Торвальдс — теле- и радиожурналист, мать Анна Торвальдс — литературный редактор в Финском Агентстве Новостей. Сестра Линуса Сара руководит собственным бюро переводов, которое занимается в основном переводами новостных репортажей и одновременно работает в Финском Агентстве Новостей. Сам Линус относится к «семейной» профессии скептически. Вот, пожалуй, наиболее красноречивая цитата из книги: «Поскольку почти все мои родственники — журналисты, я считаю себя вправе шутить с репортерами о том, что знаю, какие они козлы».

В отличие от своих сверстников, Линуса в юношеские годы не привлекали ни футбол с хоккеем, ни флирт с девушками. Он был полностью поглощен общением с компьютерами. О себе Линус говорит так: «Я был хакером чистой воды. Без вопросов. Причем сексуальными хакеров стали считать позже. Точнее, не сексуальными, а прикольными. Я же был не просто хакером, но еще и застенчивым хакером. Или это уже тавтология? Короче, я сидел за компьютером и был абсолютно счастлив».

Как это все узнаваемо, не правда ли? В наше время таких детей становится все больше и больше. Однако в те годы, когда «компьютеры были большими, а программы маленькими», увлечение Линуса не расценивалось как совершенно ординарное.,

Проучившись год в университете, Линус был призван в финскую армию, где подкачал мускулы и укрепил здоровье на занятиях по общей физической подготовке. Ироничное отношение Линуса к родной стране и соотечественникам проступает и здесь. «Некоторые даже считают, что главная причина всеобщей воинской обязанности в стране — это дать финнам неисчерпаемую тему для разговоров за пивом. Общее несчастье их объединяет. Служат они с отвращением, но потом с удовольствием об этом вспоминают».

После демобилизации Линус вернулся к своим университетским занятиям. Именно университет дал Линусу толчок к серьезным занятиям программированием. Вся его дальнейшая жизнь напрямую связана с разработкой новой операционной системы.

Линус и Linux

Линусу было 17 лет, когда в 1987 году на скопленные деньги на смену устаревшему VIC-20 он купил новинку тех времен — Sinclair QL. Компьютер работал на 8-мимегагерцевом процессоре 68008 от компании Motorola и имел 128 килобайт памяти. На тот момент цена компьютера, выпускаемого фирмой под эгидой Клайва Синклера, составляла около 2000 долларов.

Интерес к операционным системам у Линуса возник практически сразу. При попытке установить купленный флоппи-контроллер ему пришлось написать свой драйвер устройства. Попутно Линус обнаружил проколы в самой операционной системе или, по крайней мере, несоответствие между тем, что обещала документация, и тем, что реально происходило.

Следующим действием Линуса было дизассемблирование операционной системы Q-DOS, установленной на его компьютере. Разочарованием стало известие, что в установленной системе ничего невозможно было изменить, так как она прописывалась в ПЗУ. Первыми программами, которые написал Линус на новом компьютере, были, конечно, игры. Идеи большинства игр он перенес со своего старого компьютера. Однако установленная ОС имела массу недостатков. Так, несмотря на мультизадачность, она не имела функции защиты памяти и в любой момент могла зависнуть. Кроме того, Клайв Синклер (Clive Sinclair) после выпуска Sinclair QL забросил разработку дальнейших моделей и поддержку старых.

После возвращения из армии Линус впервые сталкивается с системой Unix. В числе других 32-х студентов он выбрал для обучения курс «C и Unix». Так как система Unix только появилась в Хельсинкском университете, преподаватель учился новой ОС наряду со студентами. Толчком к созданию собственной операционной системы для Линуса послужила книга профессора из Амстердама Эндрю Таненбаума (Andy Tanenbaum) «Проектирование и реализация операционных систем». Сам Линус утверждает, что эта книга буквально перевернула его жизнь. В этой книге Эндрю Таненбаум описывал Minix — учебную ОС, которую он написал для обучения Unix. Естественно, Линус тут же загорелся идеей установки Minix на свой компьютер. Однако Sinclair QL не позволял устанавливать такие системы. Лишь в январе 1991 года, купив новый компьютер (уже PC), Линусу удалось установить на нее копию Minix.

После изучения достоинств и недостатков Minix, Линус принялся «доводить ее до ума». Minix была все-таки учебной ОС, намеренно урезанной и искаженной. После установки собственных старых программ и заплаток знаменитого австралийского хакера Брюса Эванса (Bruce Evans) Minix приобрела более приемлемый вид.

Все началось с плохой реализации терминала удаленной связи в Minix. Это была наиболее используемая Линусом функция, так как он связывался по модемной связи с университетским компьютером. Линус решил разработать свою программу для связи, при этом опираясь не на Minix, а непосредственно на аппаратный уровень компьютера. Это позволило параллельно изучить в тонкостях сам компьютер на 386-ом процессоре и операционную систему. Линус был очень горд своим усовершенствованием ОС. Однако попытки продемонстрировать свои «заслуги» другим ни к чему не привели. «Я понял, что это не впечатляет. Никому не объяснишь, что под внешней незатейливостью могут скрываться сложные глубинные процессы».

Таким образом, Linux началась с написания пакета эмуляции терминала. Одно нововведение потянуло за собой другое. Линусу потребовалось скачивать и закачивать файлы на университетский компьютер, а для этого нужно было писать файлы на диск. Недолго думая, он принялся за написание драйвера дисковода и файловой системы. При этом Линус делал свою систему совместимой с Minix. По ходу работы Линус советовался с другими пользователями Minix посредством usenet-конференции comp.os.minix. По тому, насколько серьезные вопросы относительно архитектуры Unix и Minix студент задавал в конференции, можно было догадаться, что Линус разрабатывает собственную ОС.

В один прекрасный момент он с удивлением обнаружил, что написанные им программы, обросшие дополнительными функциями, являют собой рабочую версию своей операционной системы. На ранних стадиях создания будущей Linux работа велась довольно монотонно. Линус рассматривал один за другим системные вызовы, которые лежали в основе Unix, и пытался создать на их основе свои блоки ОС с необходимыми ему функциями. Это было довольно утомительно и не давало больших стимулов к дальнейшей работе. А все потому, что проверить работоспособность системы пока еще было невозможно. После такой обработки около двадцати пяти системных вызовов Линус решил перейти к другой тактике: он стал пытаться запускать оболочку ОС, а при появлении ошибок — разрабатывать необходимые системные вызовы. Так, продвижение в создании системы было налицо. В конце августа — начале сентября оболочка стабильно заработала. Это был первый значительный успех.

Итак, 17 сентября 1991 года первая версия Linux была выложена в открытый доступ на FTP-сервер. Тогда же был решен вопрос о названии новой системы. Линус изначально хотел назвать ее Freax (от «Freaks» — фанаты и «x» — окончание слова от «Unix»). Для себя же он называл ее Linux, но считал, что это нескромно выносить в качестве официального названия. Ари Лемке (Ari Lemke), преподаватель Технического университета Хельсинки, создал на университетском FTP-сервере каталог, где Линус и разместил свою систему. Однако Ари не понравилось слово Freax, и он сам переименовал каталог pub/OS/Linux. Линус особо не возражал, и название закрепилось.

Версия Linux, выложенная на сайт, имела номер 0.01. Это означало, что пока система мало на что годится и нуждается в длительной доработке. Именно поэтому Линус не устраивал публичную презентацию новой ОС. Он лишь разослал письма десятку известных хакеров с указанием адреса сервера, где 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 года, когда хакер Орест Збровски (Orest Zborowski) успешно адаптировал X Windows для Linux. Таким образом, у Linux появился графический интерфейс. Линус понял, что его ОС перестала быть забавой для узкого круга программистов, на нее полагаются и рассчитывают многие тысячи людей во всем мире.

После появления графического интерфейса, Линус решил, что система почти готова к работе и выпустил версию 0.95. Это оказалось существенной ошибкой. Едва начав вводить в Linux функции работы в сети, Линус понял, что предстоит еще очень много потрудиться. Версия 1.0 вышла лишь через два долгих года. Она была представлена публике в марте 1994 года.

В личной жизни Линуса до некоторого времени мало что менялось. В 1993 году он решил пойти по стопам деда, пристрастившего его к компьютерам, и стал ассистентом в Университете Хельсинки. Через несколько месяцев Линус женился на одной из своих студенток. Знакомство Линуса с Труве произошло в классическом «хакерском» стиле. Вот как Линус рассказывает об этом в своей книге: «Шла осень 1993, интернет еще не был популярен, поэтому однажды я задал на дом послать мне сообщение по мейлу. Сегодня это звучит по-идиотски, но я сказал: «Домашнее задание: пришлите мне e-mail». Другие студенты прислали просто тестовые сообщения или какие-то замечания о занятиях. Туве пригласила меня на свидание. Я женился на первой женщине, которая обратилась ко мне по е-мейлу».

1996 и 1997 годы принесли в жизнь Линуса значительные перемены. Весной 1996 года Линус наконец закончил Университет Хельсинки со званием магистра, в декабре у Линуса и Труве родилась дочь, а в феврале 1997 года Линус поступил на работу в компанию Transmeta в Кремниевой Долине.

Все эти перемены дали причину для беспокойства пользователям Linux. Особо активных из них интересовало, сможет ли Линус в дальнейшем руководить развитием Linux, и не забросит ли он проект. Опасения пользователей не оправдались, Линус и по сей день успешно сочетает семейную жизнь и карьеру с развитием всемирно известной ОС.

Идея выбора символики для Linux — один из спорных вопросов между Линусом и Труве. У кого родилась идея выбора пингвина в качестве знака доподлинно неизвестно. Однако мы знаем, что в итоге Линус подал клич в интернете, чтобы ему присылали различные изображения пингвинов, и выбрал вариант графика Ларри Юинга (Larry Ewing). Пингвин у Юинга получился необычным и узнаваемым. Хотя у всех пингвинов клювы и ласты черные, у талисмана Linux они оранжевые, «как будто папа этого пингвина был селезнем, возможно, Даффи Дак во время круиза по Антарктике закрутил короткий роман с местной птичкой».

Linux становилась все более популярной и избежать ее коммерциализации уже было невозможно. Впрочем, Линус к сохранению «невинности» уже и не стремился. Его опасения, что Linux может быть захвачена какой-то компанией в начальной стадии развития, к счастью, не оправдались. Теперь же Linux заинтересовала крупнейшие корпорации. Одна за одной объявили о поддержке системы на своих серверах IBM, Informix, Oracle и многие другие.

Значительно помогло в распространении Linux то, что она изначально не была предназначена для какой-то конкретной ниши рынка. Начиналась разработка Linux на обычном домашнем ПК, затем ее стали устанавливать на суперкомпьютеры, серверы, встроенные устройства и т.д. Выпуск мобильного телефона от Motorola под управлением Linux также говорит о многом.

Со временем популярность Линуса, которая сначала его забавляла, начала мешать. В его частную жизнь начали проникать не благодарные пользователи Linux, а пронырливые журналисты. Им нет дела до структуры ОС, им важна лишь сенсация. Постепенно Линус уходит в тень. Революция закончена, все расходятся по своим рабочим местам.