[Перевод] Линус и Linux: решительный финский хобби-проект, который покорил мир

Сентябрь 1991 года. Студент из Хельсинки в халате выкладывает в новостную группу первый релиз своей операционной системы Linux и почти извиняясь пишет: «Большим не будет». Внутри – 10239 строк кода и ноль юристов. Спустя тридцать с лишним лет эта «небольшая» система стоит за 3 миллиардами смартфонов, 95% веб-серверов и Международной космической станцией.
Это история о том, как финский хобби-проект Линуса Торвальдса стал крупнейшей опенсорсной коллаборацией в истории.
В то время как Финляндия правила техпространством в 1990-х, обрушив Nokia на мир, существует куча технологий, про которые большинство людей никогда и не знали, что они финские.
Вы, возможно, знаете, что финны дали миру SMS-сообщения и, возможно, даже мобильную игру Змейка (Snake). Однако, знали ли вы, что Финляндия также создала первый в мире веб-браузер с графическим интерфейсом (GUI) – браузеры, способные отображать картинки, а не только текст – в 1992 году?
Для более взрослых читателей: знали ли вы, что протокол для IRC, или Internet Relay Chat, был создан финном Яркко Ойккариненом в 1988 году?
Более молодые читатели, возможно, зевают, потому что ничто из этого не релевантно в 2020-х, но есть ещё одно технологическое изобретение из Финляндии, появившееся в сентябре 1991 года, о котором вы, возможно, слышали: операционная система Linux.
Названная в честь её создателя, финского хакера Линуса Торвальдса, «Линукс» начинает формировать мир вычислений. Как и всемирная паутина Тима Бернерса-Ли, это тоже был опенсорсный соло-проект, который был подарен миру как бесплатное ПО, которое каждый мог использовать и модифицировать бесплатно.
Сегодня трудно сказать, удерживает ли Linux или Википедия титул величайшего совместного человеческого усилия в мире. Всё зависит от того, как вы решите это измерять.
❯ Закрытый мир
В 1990 году существовал интернет, но не было такой вещи, как World Wide Web. Для крупных компьютерных систем, таких как PDP-11, и компьютерных сетей стандартной операционной системой была UNIX. Она была разработана в 1969 году как проприетарное софтверное обеспечение в Bell Labs, США.
Оригинальный исходный код UNIX дал начало бесконечным модифицированным вариациям, но самой известной была коммерческая версия, выпущенная AT&T в 1982 году под названием Unix System III. Эта штука хорошо продавалась коммерчески как закрытое ПО. Другой была BSD, которая модифицировалась и обновлялась как опенсорсная версия. Это означало, что платящие пользователи могли также ковыряться в коде.
По мере того как 1980-е шли вперед, всё больше и больше «разделенных» и «подогнанных» версий UNIX использовались. Они обычно базировались на вариантах либо от AT&T, либо от BSD. Оригинальная Mac OS, например, произошла от версии BSD. Были еще бесчисленные варианты по всему миру.

Каждая версия и вариант UNIX конфликтовала с другими. Для железячных вендоров это был хаос. Это привело к тому, что известно как «войны Unix». AT&T затем попыталась засудить BSD за использование частей её исходного кода. BSD заявляла, что ничего из этого не использовалось. Годами IT-мир стоял на месте, ожидая исхода этой эпичной судебной битвы.
❯ На сцену выходит: Линус Торвальдс
Родившийся в 1969 году – что делает его поколением X – Линус Торвальдс родился в Хельсинки, Финляндия, в шведскоязычном доме. В возрасте 12 лет молодой Линус получил Commodore VIC 20 от своего дедушки.

Это зажгло страсть мальчика ко всем компьютерам. Проводил свои дни, создавая компьютерный код и пытаясь понять всё, что мог, о внутреннем железе и о том, как это всё работало.

Затем Линус получил Sinclair QL с уникальной ОС и аппаратными решениями, включая Micro Drive. Линус хотел использовать флоппи-диски, но Sinclair не работал с дискетами. И не был задизайнен для этого.
Но Линус чувствовал, что он знает достаточно об аппаратном и программном обеспечении, чтобы решить эту проблему.

Он купил дисковод. Затем он написал свою собственную программу, точнее драйвер, для Sinclair. Ему пришлось объяснить компьютеру, что такое флоппи-привод и как он работает.
Запуская программу, он обнаружил проблемы, но не в коде. Проблемы были в операционной системе Sinclair. Но она была спроектирована как «только для чтения». Он засучил рукава и попытался придумать, как обмануть Sinclair, чтобы тот принял его модификации ОС при запуске.
Линус провел два года, пиля игры и программы для Sinclair. Он также хакнул операционную систему и добавил свой собственный код, чтобы система работала лучше или быстрее. Линус также создал редактор для программирования кода, и свой собственный ассемблер.
Через два года Линус почувствовал, что исчерпал возможности и полезность Sinclair. Он сделал все мыслимые улучшения, какие только мог себе представить. Затем он окончил школу, отслужил обязательный год военной службы и пошел учиться в университет.
В 1990 году он был студентом университета, которому очень нужен был новый проект для хакинга. Один из университетских курсов, на которые он записался, был про UNIX. Но у него все еще было лето впереди до начала занятий, поэтому он начал ковыряться самостоятельно.
Он купил книгу «Операционные системы: разработка и реализация» Эндрю Таненбаума. Эта одна книга навсегда изменит ход его жизни.
❯ Нуждаясь в проекте
Линус открыл для себя UNIX и был очарован им. Он хотел протестировать его и пощупать. Проблема, однако, заключалась в том, что UNIX не запускался на его Синклере. И не запускался на Windows-ПК.
На самом деле UNIX работал только на компьютерах, которые были далеко за пределами его бюджета. И даже если бы он мог колдовством достать железо, ему бы также пришлось выложить более 50000 долларов за лицензию на исходный код UNIX System V.
Автор книги создал простую версию ОС, которую он назвал MINIX. Это было нацелено на обучение студентов и читателей фундаментам UNIX. И её можно было запустить на обычном ПК с Windows.
В декабре 1990 года Линус сложил деньги, подаренные ему на день рождения и Рождество, чтобы внести первый платеж за свой первый ПК и копию MINIX из США.
Ковыряясь с MINIX, Линус вскоре обнаружил ограничения программы, которая была построена только как учебное пособие – а не НАСТОЯЩАЯ операционная система. Что он действительно обнаружил, так это то, что существовали фрагменты кода для улучшения MINIX, созданные любителями по всему миру.
Благодаря своим университетским учеткам, Линус смог подключаться к университетской машине UNIX, а также ко всему миру – через различные подключенные к интернету (примечание: еще не World Wide Web) сервисы, такие как форумы, Usenet, чаты и доски объявлений BBS.
Затем Линус начал собирать эти патчи кода с целью замёрджить лучшие из них. Это позволило бы хотя бы создать лучшую возможную версию MINIX.
Даже при этом в его прокачанной версии MINIX всё ещё отсутствовали несколько «основных органов». Многие из функций, которые подключались к университетским системам UNIX, по самой природе дизайна MINIX были на самом деле эмуляторами.
В общем, глубоко разочарованный постоянными тупиками, Линус решил, что он просто создаст что-то свое. Что-то получше.
❯ Глубинная проблема
Для тех, кто не до конца понял, о чем это мы: думайте о компьютерной операционной системе как о кабине самолета. Каждая кнопка, переключатель и тумблер в самолете говорят железу, как реагировать: закрылки поднять, шасси опустить, добавить газу, проверить скорость и т.д.
Операционная система – это комбинированное ПО, которое соединяет, запускает и рулит всеми этими кусочками металла и проводов (т.е. железом), которые физически подключены к «компьютеру». Без операционки компьютер похож на айфон без батарейки. Просто железка.
Программа (или «приложение» в наши дни) – это отдельный кусок софта, который работает ПОВЕРХ заданной операционной системы. Софт может работать одновременно с ОС, но ему нужна операционная система всякий раз, когда нужно получить доступ, управлять или поговорить с другими частями железа (динамики, вайфай, кнопки, звуковая карта и т. д.).
Последняя вещь, которую нужно понять, заключалась в том, что UNIX работал на больших институциональных компьютерах. У Линуса был Windows-ПК, который использовал (или говорил на) отдельном языке. Что делала программа MINIX – она работала на языке Windows, но была спроектирована так, чтобы «говорить на UNIX» [тут автор, похоже, путает архитектуру x86 с операционкой Windows: на x86 тогда чаще стоял DOS, но смысл понятен]. Вводы и инструкции из MINIX были бы понятны системе UNIX.
Это известно как эмулятор – транслятор для компьютеров.
Поэтому вместо того, чтобы строить что-то новое ПОВЕРХ программы MINIX с целью создания программных путей, которые говорят с реальной системой UNIX с ПК, Линус Торвальдс рассудил, что проще всего будет построить новый эмулятор с нуля. Настоящий собственный эмулятор, вместо того чтобы модифицировать созданный как студенческий симулятор.
У Линуса теперь был его следующий проект для хакинга. Как и многие программисты до и после него, он понимал, что лучший способ научиться чему-то – это попробовать построить что-то. И учиться по ходу дела.
❯ Ослепленный страстью
После месяцев кодинга и хакинга у Линуса наконец появились на руках результаты, которые он ощущал как рабочий эмулятор. Затем он начал добавлять туда фичи. Он создал способ заливать и скачивать файлы; он был уже глубоко в окопах в плане расширения своих кодерских способностей.
Оставаясь сфокусированным на задаче перед ним, Линус практически не выходил из дома и отдыхал только для сна и еды. Не было особой нужды мыться или нормально одеваться; халата и шорт было достаточно, чтобы прикрыться. Это характерные черты обряда посвящения, разделяемого всеми великими программистами.
По мере того как он продолжал добавлять всё больше и больше функций и фич, его «эмулятор» продолжал расти. Пока в один прекрасный день он не осознал, что то, что он на самом деле построил,… была целая операционная система.
❯ Нелетающая птица
Судебные баталии между AT&T и BSD всё ещё утрясались в судах. Для индустрии это означало ходить по яичной скорлупе, и то, что вышло из этого тупика – это ряд согласованных стандартов для UNIX, которые работали на всех вариантах. Они назывались POSIX (Portable Operating System Interface), или переносимый интерфейс операционных систем для UNIX.
Эти стандарты стали важными гайдлайнами для Линуса Торвальдса. Не имея никакого оригинального исходного кода, он был вынужден начать реверс-инжиниринг системных команд UNIX, написанных его собственным путем.
17 сентября 1991 года Линус завыкатил первую топорную, но полную версию своей новой операционной системы, теперь Linux, в интернет. Пункт назначения: новостная группа comp.os.minix.
Это была версия 0.0.1. Она предназначалась как proof-of-concept релиз, и он рассказал о ней буквально нескольким друзьям. Она состояла из 10239 строк кода – эквивалент короткой книги или длинной новеллы, если мерить в словах.

«Большим не будет», как говорят, написал он.
Несколько человек предложили изменения, и вскоре Linux стал настолько хорош, что пользователи MINIX, как сообщается, начали переходить на него. С Линусом ежедневно связывались с всё большим количеством предложений по апдейтам – люди, которые использовали его новую систему. Десятки, затем сотни, а потом и тысячи.
Со временем он выкатил версии 0.02 и 0.03. Появилось ощущение, что это может быть чем-то большим.
Линус теперь начал беспокоиться о том, куда всё это идет. Согласно его хакерской философии, он хотел убедиться, что Linux останется бесплатным ресурсом. Его целью были не деньги, а содействие совместным улучшениям его операционной системы.
❯ Случайная революция
По мере того как его проект отращивал огромные крылья, самой большой внешней угрозой для Linux был корпоративный захват недобросовестными людьми или компаниями, которые распознали его ценность. Линус хотел, чтобы Linux оставался опенсорсом любой ценой, поэтому он намеренно залицензировал его как «копилефт» фривар под так называемой General Public License (GPL).
В тот момент все операционные системы в мире были проприетарными и наглухо закрытыми корпоративными гейткиперами. И юристами. Линус думал иначе, фактически говоря миру: «Нате, берите, используйте, делайте лучше и передавайте дальше».
Только за этот шаг Линуса назвали радикалом. Зачем кому-то просто так отдавать это?
Пока война между AT&T и BSD за контроль над UNIX затягивалась, Linux 1.0 был тихо зарелижен в марте 1994 года – запущен с милым логотипом Пингвина (победителем конкурса логотипов). У мира теперь была полностью бесплатная операционная система, которая могла заменить UNIX, без юридических и финансовых головняков.

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

Переход на Linux не произошел за одну ночь, но он произошел. Как две чайки, дерущиеся за одну картошину фри, Linux позволил пользователям слететься в виде пингвинов – жирных и нелетающих – и сожрать всю оставшуюся картошку.
То, что построил Линус Торвальдс – ядро Linux – сегодня используется на миллиардах и миллиардах компьютеров и девайсов, от 3 миллиардов телефонов до Международной космической станции. По одной из оценок, более 95% веб-серверов в мире крутятся на Linux. Это остается крупнейшей и важнейшей опенсорсной колаборацией софта в истории.
❯ Армия из одного человека
Хотя аналитики и пытались оценить его совокупную стоимость, конечный успех Linux сводится к его надежности, низким затратам на внедрение и отсутствию вендор-лока. Система обладает надёжной защищённостью просто из-за того факта, что её постоянно мейнтейнит армия из миллиона человек.

И тем не менее, она была построена одним человеком, в одиночестве в своей комнате.
Однако если отступить назад в сентябрь 1991 года, всё это было еще впереди. Мир еще не принял World Wide Web, и мало у кого был мобильный телефон. Но когда только эти две технологии рванули в 1990-х, Linux как опенсорсный феномен рванул прямо вместе с ними.

Создавая Linux, его создатель Линус Торвальдс применил финскую логику и философию сису к своему проекту: он сделал его полезным для как можно большего количества людей, а не только для тех, кто мог позволить себе лицензию за 50 тысяч долларов.
Часто называемый случайным революционером, Линус Торвальдс доказал, что может быть сделано, когда люди работают вместе на общее благо, а не друг против друга. Это парадокс коллаборации в действии – и кошмар для капиталистов-либертарианцев. Это шло вразрез со всеми принципами технологических стартапов.
Эта же философия сотрудничества также окажется ветром под крыльями другого великого опенсорсного проекта, строившегося в Европе в то же самое время: всемирной паутины. На этот момент самому Линусу было всего 22 года.
На этом пока всё! Пишите в комментах, с какого дистрибутива и в каком году вы начинали свое знакомство с Linux?
Может быть интересно:

Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram‑канале ↩
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.