Глава VIII. Linux
Студент из Хельсинки
Линус Торвальдс в 1991 году был 21-летним студентом Хельсинкского университета. Он только что перешёл с Commodore VIC-20 и Sinclair QL на IBM PC с процессором 80386. Как и многие технически подкованные студенты того времени, он хотел работать в Unix-среде. Но коммерческие Unix-системы стоили целое состояние — десятки тысяч долларов. Единственным доступным вариантом был Minix, созданный профессором Энди Таненбаумом для обучения студентов.
Minix был прекрасен как учебный инструмент, но Таненбаум принципиально не хотел расширять его. Лицензия была запретительной, а сам Minix не предполагал использования в "боевых" условиях. Торвальдсу хотелось большего: нормального эмулятора терминала, доступа к модему, возможности читать новости Usenet.
Письмо на Usenet: рождение проекта
25 августа 1991 года Линус отправил знаменитое письмо в группу comp.os.minix. Оно начиналось словами: "Привет всем, кто использует Minix. Я делаю (свободную) операционную систему (всего лишь хобби, не будет большой и профессиональной, как GNU) для 386(486) AT-клонов."
Любопытна интонация: Торвальдс оправдывается, что это "просто хобби", сравнивает себя с GNU и явно стесняется масштаба. Первая версия ядра (0.01) была выложена в сентябре 1991 года. Она была крошечной — около 10 тысяч строк кода, без поддержки сети, без графики, без многопользовательского режима. Только вот это "хобби" выросло в ядро, которое сегодня работает на миллиардах устройств.
Первая версия: 0.01
Linux 0.01 мог загружаться, запускать bash и компилятор GCC. Для загрузки требовался Minix (файловая система была Minix-совместимой). В README Торвальдс писал: "Это ядро для 386-х машин. Я никогда не портировал его ни на что другое, и не собираюсь. Более того, оно написано на C и ассемблере, и, вероятно, будет работать только на AT-совместимых жёстких дисках."
Главным козырем было то, что Linux был свободным и не имел ограничений Minix. Торвальдс выбрал собственное лицензирование, запрещавшее коммерческое распространение. Но уже в декабре 1992 года он перелицензировал ядро под GNU GPLv2. Это решение оказалось судьбоносным.
Переход на GPL
Первоначально Linux был выпущен под собственной лицензией Торвальдса, которая разрешала распространение только при условии, что распространитель не берёт денег. Это была "открытая, но не свободная" модель. Ричард Столлман убедил Торвальдса перейти на GPL. Аргумент был прост: GPL защищает свободу программы не только для текущих пользователей, но и для всех последующих.
Переход на GPL открыл шлюзы. Разработчики со всего мира, уже знакомые с инструментами GNU и привыкшие к GPL, могли теперь вносить вклад в ядро, не опасаясь, что их код будет украден и закрыт. Торвальдс однажды сказал, что переход на GPL — лучшее решение, которое он когда-либо принимал.
Linux + GNU = работающая система
К 1992 году проект GNU создал практически всё, кроме работающего ядра. Разработка Hurd застряла, и даже Столлман признавал, что Linux — вполне достойная замена. Комбинация ядра Linux с инструментами GNU дала миру первую полностью свободную Unix-подобную операционную систему.
Этот союз не был официальным — GNU и Linux развивались независимо. Но для пользователей они стали единым целым. Ричард Столлман настаивает на названии "GNU/Linux", подчёркивая вклад проекта GNU. Торвальдс считает это излишним и продолжает называть систему просто Linux. Спор не утихает до сих пор, хотя большинство пользователей и индустрия предпочитают короткое "Linux".
Дистрибутивы: как Linux добрался до масс
Исходный код и собранное ядро — это ещё не готовая к использованию операционная система. Нужен был способ установить всё это на компьютер. Ответом стали дистрибутивы.
Первым стал MCC Interim Linux (февраль 1992). Затем появился Softlanding Linux System (SLS), который считается первым "полноценным" дистрибутивом. Вскоре вышли Debian (Ян Мёрдок, 1993), Slackware (Патрик Фолькердинг, 1993) и Red Hat Linux (Марк Юинг, 1994). Каждый из них предлагал свой подход: Debian — сообщество и строгое следование идеалам свободного ПО; Slackware — простоту и близость к Unix; Red Hat — корпоративную поддержку и стабильность.
Именно дистрибутивы сделали Linux доступным для обычных пользователей. Они брали на себя всю рутину: компиляцию ядра, настройку драйверов, установку пакетов.
Заключение
Linux не был ни первым Unix-клоном, ни самым инновационным. Его преимущество оказалось в другом: правильный момент (GNU нуждался в ядре), правильная лицензия (GPL) и правильный стиль управления (открытая разработка, никакой бюрократии). Из "хобби" финского студента Linux превратился в ядро, которое сегодня работает на 100% суперкомпьютеров TOP500, на серверах Google и Amazon, на каждом Android-смартфоне. Неплохо для проекта, который начинался с десяти тысяч строк кода на 386-м PC.
Комментарии
Комментарии пока не подключены.