Случайно создал главного конкурента Windows: история Линуса Торвальдса
Будущий создатель главного конкурента Windows родился в столице Финляндии, Хельсинки, в семье журналистов. И отец — Нильс, и мать — Анна, когда-то, в студенческие годы, были “радикалами” — возможно, из-за принадлежности к меньшинству шведоговорящих. Так или иначе, Линус мировоззрение родителей не особо разделял и по их пути идти не хотел, хотя в школе над ним нередко посмеивались из-за политических убеждений родителей.
Пожалуй, наибольшее влияние на становление Линуса как известного хакера и программиста оказал дедушка, Лео Тёрнквист. Лео был математиком и много работал с компьютерами, в частности, на языке Basic. В 11 лет Торвальдс уже пробовал писать Basic-программы на дедушкином компьютере Commodore VIC-20. Когда Линусу было 14 лет, дедушка умер, и компьютер окончательно отошёл в полное пользование внука.
Линусу быстро надоел Basic, поэтому он стал читать множество различных компьютерных книг и журналов и вскоре освоил язык машинных кодов, который, в том числе, требует глубокого понимания устройства и работы центрального процессора.
Так Линус стал хакером. Не в том смысле, что он что-то взламывал и крал деньги по интернету (изначально слово “хакер” и не имело такого значения, собственно), а в том, что с компьютером он был на “ты”.
К слову, вся остальная жизнь тогда Линуса не особо интересовала. С девушками он не встречался, со сверстниками общался мало, спортом не увлекался, в школе лучше всего успевал по техническим предметам и так себе — по гуманитарным.
Интерес к разработке операционных систем
В 17 лет Линус покупает новый компьютер, Sinclair QL, и начинает интересоваться операционными системами — в первую очередь, потому, что ему пришлось самолично писать драйвер для дисковода, в процессе чего он выявил несколько проблем в Q-DOS. Он решил дизассемблировать эту ОС, чтобы исправить ошибки, однако оказалось, что ОС зашита в ПЗУ и ничего изменить нельзя.
Уже после армии (в финляндии с этим гораздо строже, чем у нас, кстати) Линус поступает в университет на курс “C и Unix”. Для тех, кто не в курсе: C — один из популярнейших языков программирования (позже переродился в С++, а затем в C#), а Unix — операционная система, практически полностью написанная на C.
Примерно в это время ему в руки попалась книга профессора из Амстердама по имени Эндрю Таненбаум. Книга называлась «Проектирование и реализация операционных систем» и в ней Таненбаум рассказывал о собственной ОС Minix, которая была создана для обучения студентов Unix. Minix была крайне нетребовательной и запускалась даже на очень слабых компьютерах, которые себе могли позволить студенты.
К сожалению, на свой Sinclair QL Линус поставить Minix не мог, поэтому начал возиться с ней только после покупки PC в 1991 году. Сначала он просто дорабатывал Minix — ведь, она была сильно урезанной. Причём, использовал не только свои наработки, но и австралийского хакера Брюса Эванса.
Фактически, Линус создавал свою ОС ориентируясь, в первую очередь, на собственные задачи. Например, его не устраивала реализация терминала в Minix. Но терминал был ему постоянно нужен — для связи с компьютером в университете. Он стал писать свою версию терминала, но не используя функции ОС Minix, а обращаясь непосредственно к процессору х386. В таком виде терминал практически не зависел от ОС.
Затем были драйверы дисковода и файловой системы — для скачивания и закачивания файлов. Линус делал свои программы совместимыми с Minix, но, как я уже сказал, старался работать на “нижнем” уровне — на уровне процессора. Поэтому спустя какое-то время у него в руках оказалась, по сути, собственная операционная система.
Причём. Всё время доработки Minix он регулярно консультировался с другими программистами на тематических форумах, и по вопросам, которые он там задавал, заинтересованное сообщество уже начало подозревать, что, по сути, разрабатывается новая ОС. Хотя, конечно, тогда всё это рассматривалось исключительно в учебно-познавательных целях и о мировом успехе никто не думал.
Linux выходит в свет
Днём рождения Linux можно считать 17 сентября 1991 года — именно тогда появилась первая доступная сторонним пользователям сборка Linux. Вообще, Линус не очень хотел называть ОС в честь себя. Сам он выбрал название Freax (от слова “freaks” — фрики, чудики, уроды). Но это название не понравилось Ари Лемке — преподавателю Линуса, который и разместил ОС на файловом сервере (FTP) института. Ари создал каталог с операционкой и назвал его Linux.
Теперь Linux могли опробовать все желающие. Никакой раскрутки особо не было — Торвальдс просто отправил знакомым и малознакомым хакерам по всему миру приглашение попробовать его новую операционную систему.
Тогда Linux имела номер версии 0.01 — то есть, была далека до релиза. Релиз (то есть, версия 1.0) появилась только в марте 1994 года. Для программного обеспечения с открытым исходным кодом это не только норма, но даже довольно быстро. Я знаю несколько приложений с лицензией GPL (об этом чуть ниже поговорим), которые так и не получили версию 1.0 за всё время своего существования — например, популярный в своё время мессенджер Miranda IM.
В общем, где-то до 1992 года Linux была просто успешным экспериментом. Вроде всех этих университетских проектов, которые вроде и рабочие и даже интересные, но быстро забываются. Однако весной 1992 года для Linux был портирован оконный графический интерфейс X Windows (сделал это хакер Орест Збровски). До этого-то операционная система интерфейса не имела, и вся работа с ней происходила через командную строку (впрочем, заядлые линуксоиды до сих пор взаимодействуют с Linux именно так). Но теперь Linux мог стать, грубо говоря, операционной системой для домохозяек. То есть, полноценной заменой платной и далеко не всех устраивавшей Windows.
Короче говоря, Линус понял, что вот теперь назревает что-то больше. Однако дело чуть не застопорилось, когда он женился. В 1993 году он стал ассистентом в университете и как-то дал студентам задание отправить ему письмо по e-mail (тогда это было не таким уж обыденным делом).
Почти все студенты отправляли ему какую-то ерунду, формально выполняя задание, но одна студентка по имени Туве пригласила Линуса на свидание. Туве была первой женщиной, которая отправила Линусу e-mail. Так они и поженились.
Возможно, именно это стало причиной столь длительной задержки выпуска релиза ОС. В 1992 году была выпущена Linux 0.95, ну а релиз, как я уже сказал, только весной 1994 года.
Ещё позже, в 1996 году, символом Linux стал пингвинёнок Tux — талисман самого Торвальдса. Когда-то в детстве его клюнул пингвин в зоопарке (так что, сказки про укусы радиоактивных пауков в какой-то мере даже правдоподобны).
Интересно, что в конкурсе логотипов, проведённом среди Linux-сообщества, Tux проиграл другому логотипу — стилизованной надписи “Linux 2.0”. Но поскольку последнее слово всегда было за Линусом, то теперь мы знаем логотип Linux именно таким.
Свободная лицензия
Линус писал свою ОС с помощью множества свободно распространяемых инструментов и хотел, чтобы и его ОС распространялась так же. Поэтому была выбрана лицензия GPL (General Public License), предполагающая открытость исходного кода. Кто угодно мог вносить изменения в Linux, но исходный код этих изменений должен был быть опубликован для всех. Впрочем, касаемо основной сборки Linux все изменения утверждались самим Линусом — и это сохраняется до сих пор, хотя доля его кода в Linux ныне составляет около 2%.
Таким образом, популярность Linux, на мой взгляд, определили три вещи: способность работать на слабых компьютерах (не настолько слабых, как Minix, но всё же), бесплатность, и открытость. Последнее — важный фактор для вирусного эффекта. Поскольку каждый может “поковыряться” в ОС, а то и поучаствовать в её доработке, то многие энтузиасты интересовались Linux и на её популярность работало “сарафанное радио”.
Поэтому, в том числе, Linux стала основной ОС для многих периферийных устройств. Эту ОС легко портировать, она нетребовательна, её можно конфигурировать по своему усмотрению (т.е. просто не ставить ненужные модули), и она может работать вообще без интерфейса. То есть, если для современных Windows графический интерфейс — неотъемлемая часть, то для Linux это просто опциональная оболочка.
Наши дни
На сегодняшний день Линус Торвальдс по-прежнему наблюдает за развитием Linux и принимает непосредственное участие в одобрении изменений и добавлений, а также владеет товарным знаком “Linux”. В 1999 году он получил статус доктора Стокгольмского университета, а в 2000 — доктора Университета Хельсинки. В честь Торвальдса назван астероид №9793, а журнал Time поместил его на 17 место в списке “Человек века”.
Кстати, среди заслуг Линуса — не только создание операционной системы Linux, но и создание системы управления версиями Git. В сообществе программистов второе ничуть не менее важно, чем первое. Git создавалась для ведения разработки самой Linux, однако впоследствии использовалась (и используется) для множества других проектов, в том числе — Android. Git помогает контролировать, кто какие изменения внёс, и распределяет их по всем участникам проекта, в автоматическом режиме решая конфликты версий (чтобы не получилось так, что у разных людей есть различные версии одного и того же файла).
А вот Эндрю Танненбауму, автору той самой книги и ОС Minix, вдохновителю Торвальдса, Linux не понравилась. Танненбаум считал (да и до сих пор считает), что будущее — за микроядрами, а не за монолитными ядрами, как у Linux. Торвальдс с Танненбаумом спорят на эту тему и по сей день — причём, оба в выражениях особо не стесняются.