Если вы хоть что-то знаете об истории Linux, то помните, что все началось с сообщения Линуса Торвальдса в группе Usenet Minix 25 августа 1991 года о том, что он работает над «(бесплатной) операционной системой (просто хобби, не будет большой и профессиональной, как gnu) для клонов AT 386(486)». Мы знаем, что сегодня «хобби»-операционная система — это Linux, и, помимо ПК и Mac, она управляет практически всем миром.
Задумывались ли вы когда-нибудь, как она превратилась из проекта одного человека в совместную работу? Я знал большую часть истории, потому что пользовался Linux с 1993 года. Но я решил спросить Линуса и некоторых из первых разработчиков Linux.
Все началось, когда Торвальдс и его друг Ларс Вирцениус встретились в Университете Хельсинки. Они начали экспериментировать с ПК; компьютерными играми (Prince of Persia); социальными сетями, которыми в те дни был Usenet; и Unix.
Весной и летом 1991 года Торвальдс работал над простым Unix-подобным ядром для своего ПК 386. Он хотел узнать об операционных системах, подключиться к местному серверу Usenet и создать более функциональную операционную систему, чем Minix, академический клон Unix.
Торвальдс сказал The Register: «“Старые добрые времена” на самом деле не так радужны, как некоторым нравится думать». После нескольких месяцев работы он выпустил первый общедоступный снимок, Linux 0.02, 5 октября 1991 года на FTP-сервере с примерно 10 000 строк кода. Linux впервые появился благодаря другу Торвальдса, Ари Леммке, который настроил первые серверы по адресу nic.funet.fi в Финляндии.
В этот момент Торвальдс хотел назвать Linux «Freax» — смесью «free» (свободный), «freak» (чудак) и «x» для обозначения Unix-подобной системы. Однако, когда он загрузил код на FTP-сервер FUNET, Леммке не понравился «Freax» и вместо этого назвал каталог проекта «Linux», и это имя прижилось.
Аудиторией был любой, кто случайно прочитал ту ветку Usenet и захотел поиграть с недоделанным ядром. В то время Торвальдс писал: «У вас нет хорошего проекта, и вы просто умираете от желания попробовать себя в ОС, которую вы можете попытаться модифицировать под свои нужды?» Ответ был «да».
На тот момент не было простого способа установить Linux. Вирцениус вспоминал в 2023 году: «Люди хотели попробовать эту новую вещь, поэтому Линусу нужно было предоставить метод установки и инструкции. Поскольку у него был только один ПК, он приехал ко мне, чтобы установить его на мой. Поскольку его компьютер использовался для разработки Linux, который просто вырос поверх его установки Minix, он никогда не был установлен. Таким образом, мой был первым ПК, на который когда-либо был установлен Linux. Пока это происходило, я спал, и я рекомендую этот метод установки Linux: поспать, пока Линус делает тяжелую работу».
Торвальдс, однако, пошутил, что Вирцениус был «ранней жертвой моих усилий».
На этом этапе Торвальдс кросс-компилировал ядро и несколько пользовательских программ под Minix, а решения о разработке принимались им по собственному желанию. Например, добавление системы виртуальной памяти, запуск Bash и GCC или исправление гонки в буферном кэше, чтобы ядро могло наконец перекомпилировать само себя. Барьером для входа была техническая сложность: требовался 386 и уверенное владение компиляторами и патчами, но в социальном плане проект по-прежнему был фактически делом одного человека, с которым другие только тестировали и экспериментировали на периферии.
Как только 0.02 стал доступен, небольшая, но энергичная группа добровольцев начала загружать, тестировать, настраивать и возвращать патчи Торвальдсу по электронной почте и Usenet, превратив Linux в подлинно совместный проект в течение первого года. Поворотным моментом стало то, что Торвальдс не только принимал внешние изменения, но и активно поощрял их, рассматривая свое ядро как общее достояние, которое другие могли расширять.
Одним из первых контрибьюторов — и до сих пор мейнтейнером Linux — был Теодор «Тед» Ц’о. Он создал первый зеркальный сервер Linux в Северной Америке. Ц’о сказал The Register: «Я начал играть с Linux где-то в сентябре 1991 года. В то время между Финляндией и США была только линия связи 64 кбит/с. К счастью, исходные коды Linux тогда были намного меньше — исходники Linux 0.11 занимали всего 93 КБ. Тем не менее, нам приходилось делить это европейское соединение со всеми остальными, кто использовал интернет в то время, и поэтому время загрузки могло страдать.
«Поскольку MIT был одним из основателей Сети академических и исследовательских учреждений Новой Англии (NEARnet), он имел несколько превосходных 10-мегабитных радиорелейных линий связи с Гарвардом, Бостонским университетом и BBN, где он подключался к остальному интернету. (У большинства университетов в то время были только 1,5-мегабитные линии T1.) Поэтому я настроил FTP-сервер, используя свою VAXstation 3100 на моем столе, который назывался tsx-11.mit.edu».
Вот тут-то и появился этот автор. Я уже более десяти лет использовал Unix. Я видел сообщения в Usenet и был заинтересован. Но только после того, как Ц’о выставил свой FTP-сервер, я смог попробовать. Излишне говорить, что мне понравилось.
Но что более важно, для его разработки многие разработчики по эту сторону Атлантики смогли начать работать с ним. Например, первый вклад Ц’о в ядро — это библиотека imalloc.c в Linux 0.11, первый универсальный менеджер памяти ядра для Linux.
Тем временем в Европе присоединились другие ранние разработчики, которые до сих пор работают над Linux. Дирк Хондель рассказал нам: «Изначально вы отправляли Линусу патчи, он их смотрел, но потом выбрасывал и реализовывал то, что вы ему прислали, с нуля, так, как он хотел. К счастью, он прекратил это делать, потому что, да, это не масштабируется».
Нет, не масштабируется. Торвальдс стал намного лучше. Сегодня он редко пишет код и видит свою работу скорее менеджером, чем разработчиком.
Однако в то время он действительно имел непосредственное отношение ко всему коду. Была только одна проблема. Его 386 не обладал необходимой мощностью, и он не мог позволить себе более крупный и лучший ПК. Именно тогда на помощь пришел его друг и коллега-разработчик ядра Linux Х. Питер Анвин.
Торвальдс вспоминал: «Мы провели что-то вроде очень раннего “GoFundMe” для модернизации моей первой машины: собирали чеки в США и отправляли результат мне, когда международные банковские сборы были смехотворными, и так я модернизировал свой оригинальный 386 до 486DX/2».
The Reg спросил Анвина, как это работало, и он сказал: «Линус все еще выплачивал ежемесячные платежи за свой компьютер, и мы все были очень расстроены этим по очевидным причинам. Вопрос был не в том, “произойдет ли что-нибудь”, а в том, как? В те дни переводы денег между странами были дорогими. Речь шла о 100, 150 долларах сверху, что для кучи студентов означало бы ограничение того, что они могли себе позволить, и мы не знали друг друга. Мы даже не знали, как выглядим! Как мы могли установить доверие? Поэтому я просил людей отправлять чеки на мой университетский почтовый ящик. Таким образом, не было необходимости меня выслеживать, потому что последнее, чего хотел любой аспирант, — это чтобы заведующий кафедрой узнал: “Этот студент на вашей кафедре крал деньги”».
Это сработало! «Я собирал чеки около месяца, потом отнес их в банк и оплатил комиссию за перевод», и вскоре Торвальдс получил совершенно новый 486DX2. Хорошо, ваш часы, не говоря уже о телефоне, сегодня мощнее, но тогда это был настоящий компьютер.
Этот краудфандинговый ПК также помог укрепить доверие между ранними членами сообщества Linux. Именно это позволило Linux вырасти из проекта одного человека в совместное предприятие.
Хондель также вспоминал, что с этим новым высокотехнологичным оборудованием «в 1992 году мы шутили, что, возможно, через несколько лет мы сможем построить “настоящий” X-терминал на базе ПК, который будет намного дешевле дорогих специализированных X-терминалов (например, от Hummingbird). И никто из нас, говоря об этом, не думал, что это реально возможно, но казалось забавным спекулировать об этом».
Кто бы мог подумать!
Еще одно важное структурное изменение произошло в 1992 году, когда Торвальдс перевел ядро под лицензию GNU General Public License (GPL). Это уточнило, что любой может изучать, изменять и распространять код, при условии, что улучшения остаются бесплатными. Это позволило разработчикам создавать дистрибутивы, которые объединяли ядро Linux с инструментами GNU и другим свободным программным обеспечением, а ранние дистрибутивы 1992-1993 годов превратили Linux из ядра, которое хакеры компилировали сами, в полные системы, которые обычные пользователи могли установить, расширив базу контрибьюторов.
Хондель убедился, что Linux действительно является чем-то большим, когда «первые презентации о Linux на настоящей конференции состоялись осенью 1993 года на NLUUG в Эде, Нидерланды. Конференция имела две секции. Комната для выступления Линуса была переполнена, настоящая пожарная опасность, люди сидели на лестнице и т. д. Незадолго до того, как Линус должен был начать, дверь снова открылась, и вошли еще несколько человек. Один из организаторов сказал им, что комната переполнена, и им следует пойти в соседнюю комнату на другую секцию. Один из вошедших сказал: “Ну, я другой докладчик, и это люди, которые были в моей аудитории, но мы все предпочли бы послушать выступление Линуса”».
Тридцать три года спустя они все еще слушают. ®
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Steven J. Vaughan-Nichols




