Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию — страница 90 из 119

GNU, то каждый сможет пользоваться качественной операционной системой бесплатно, как воздухом»[828].

Столлман переживал, что многие неправильно интерпретируют его идею о бесплатном программном обеспечении (free software). Финансовый вопрос не был для него ключевым, основной задачей было снятие всех ограничений и запретов. Открытый софт должен был ассоциироваться с естественными свободами человека. У каждого должно было быть право пользоваться программами, изучать, изменять и распространять любую их версию. Столлман не уставал объяснять, что дело не в стоимости, а в дозволенности: «Имеется в виду, например, свобода слова, а не бесплатное пиво».

Предполагалось, что движение за открытое программное обеспечение не просто подарит людям доступные программы. В своих идеях Столлман видел залог процветания человечества. Он утверждал, что его принципы защищают интересы каждого человека и общества в целом, объединяют людей и призывают их обмениваться информацией и сотрудничать[829].

Чтобы формализовать свои идеи, Столлман разработал Универсальную общедоступную лицензию GNU — General Public License, а его друг придумал принцип «копилефт» (от английского copyleft), антоним понятия копирайта. Согласно Лицензии GNU, каждый пользователь имел право копировать и модифицировать программу, а также распространять оригинальную или измененные ее версии, а вводить любые ограничения на использование программы запрещалось[830].

Столлман лично написал первые компоненты операционной системы GNU, включая текстовый редактор, компилятор и многие другие. Однако было очевидно, что ему не хватает главного. «Как насчет ядра?» — спросили его во время интервью журналу Byte в 1986 году. Ядро — это основа любой операционной системы, оно обеспечивает запросы программ на ресурсы и регулирует взаимодействие программ и микропроцессора. Столлман ответил, что сначала ему нужно закончить компилятор и переписать файловую систему, а потом настанет очередь ядра[831].

По ряду причин ядро для GNU не смогли закончить ни Столлман, ни разработчики из его Фонда свободного программного обеспечения. Помощь пришла откуда не ждали: подходящее им ядро написал 21-летний студент Университета Хельсинки Линус Торвальдс, веселый и живой финн с широкой улыбкой, родным языком которого был шведский.

Отец Линуса Торвальдса работал тележурналистом и состоял в Коммунистической партии, а мать была общественной активисткой, а затем стала журналисткой. Однако Линуса с детства больше интересовала техника, чем политика[832]. Он считал, что «хорош в математике, хорош в физике, но в плане социальных навыков — полный ноль. А тогда гиков еще было принято осуждать»[833]. Особенно в Финляндии.

Когда Торвальдсу было одиннадцать лет, то его дедушка, преподаватель статистики, подарил внуку Commodore Vic 20, один из первых персональных компьютеров в мире. Торвальдс начал писать всевозможные программы на языке BASIC. Его сестре, например, очень нравилась та, что бесконечно выводила на экран фразу «Сара лучше всех». Он с радостью обнаружил, что компьютеры и математика похожи: «Они позволяли создавать новый мир, живущий по своим правилам».

Отец уговаривал Торвальдса пойти в баскетбольную секцию, но вместо этого непослушный сын учился писать на языке ассемблера, то есть создавать бинарный код, который выполняется непосредственно процессором. Торвальдс стал считать себя близким другом компьютеров. Позднее он признается: «Мне повезло родиться в то время, потому что куда проще было изучать машинный язык на первых немудреных компьютерах, когда кто угодно, включая очкариков вроде меня, мог заглянуть внутрь системного блока»[834]. Как и автомобильные двигатели, компьютеры со временем превратились в очень сложные механизмы, которые стало не так просто пересобирать.

В 1988 году Торвальдс поступил в Университет Хельсинки, а затем отслужил год в финской армии. Вернувшись, он купил себе клон компьютера IBM, работавший на процессоре Intel 386. Его совершенно не впечатлила операционная система MS-DOS, написанная Биллом Гейтсом и его командой. Торвальдсу нравилась UNIX, установленная в университете, но одна копия UNIX стоила пять тысяч долларов, к тому же на его домашнем компьютере она бы не заработала. Торвальдс задался целью это исправить.

Он прочел книгу голландского профессора Эндрю Таненбаума, который для образовательных целей разработал UNIX-подобную операционную систему MINIX. Торвальдс решил, что вместо MS-DOS поставит на свой компьютер MINIX и купил одну копию (16 дискет) за 169 долларов, хотя цена его и возмутила. Установив систему, он начал доводить ее до идеала — дописывать и переписывать.

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

Когда первая версия эмулятора заработала, Торвальдс решил, что ему также нужно загружать и закачивать файлы, поэтому он написал драйверы для управления дисководом и файловой системой. «Когда и они были закончены, я понял, что стою на полпути к созданию операционной системы», — вспоминает Торвальдс. Иными словами, он практически написал ядро для UNIX-подобной операционной системы. «Вот я сижу в своем заношенном халате и программирую на эмуляторе терминала с расширенными функциями. А в следующую секунду я понимаю, что в процессе добавил столько всего, что фактически уже пишу операционную систему». Торвальдс нашел список «системных вызовов» UNIX. Речь шла о сотнях команд, которые приказывали компьютеру выполнять базовые операции: Open, Close, Read и Write — «открыть», «закрыть», «прочесть» и «написать». Он создал собственную реализацию этих вызовов. Торвальдс до сих пор жил в квартире матери, и они часто ругались с сестрой из-за постоянно занятого телефона — Торвальдс сидел в сети. А Сара, в отличие от брата, вела активную жизнь: «Нам никто не мог дозвониться!»[835] — вспоминала она.

Торвальдс планировал назвать свою систему Freax, что должно было отсылать к free (свободный), freaks (фрики, чудаки) и UNIX. Однако название не понравилось владельцу FTP-сервера, где должна была лежать система, и Торвальдс остановился на варианте Linux, который он произносил очень похоже на свое имя: «Линукс»[836]. «Я никогда и не думал так называть систему, потому что да, это нарциссизм». Позднее он признался, что все же доволен этим названием. Его много лет считали белой вороной, и какая-то часть его эго была рада получить общественное признание[837].

Осенью 1991 года, когда световой день в Хельсинки вновь пошел на убыль, Торвальдс выпустил командную оболочку своей системы, 10 тысяч строчек кода[838]. Он не стал ее продавать, а выложил в открытый доступ. Незадолго до этого Торвальдс вместе с другом прослушал лекцию Столлмана, который тогда ездил по всему миру и проповедовал свою концепцию свободного программного обеспечения. Нельзя сказать, что Торвальдс проникся этой идеей и стал адептом новой религии: «Возможно, тогда меня это особо не зацепило. Мне были интересны технологии, а не политика. Политики мне хватало дома»[839]. Однако он понимал, что, имея доступ к исходному коду его системы, каждый сможет ее улучшить. Торвальдс решил раздавать Linux бесплатно, потому что так ему казалось выгоднее, а идеалы и убеждения были тут ни при чем.

Пятого октября 1991 года он написал дерзкое сообщение в новостную группу MINIX. «Вы скорбите по временам MINIX-і.і, когда мужчины были настоящими мужчинами и сами писали драйверы устройств? — начал Торвальдс. — Я работаю над бесплатной версией MINIX-подобной системы для компьютера AT-386. Ей уже можно пользоваться (а может, и нет — зависит от того, что вам нужно), и я решил выложить исходники для всех желающих»[840].

«Загрузить свою систему в открытый доступ не было трудным решением. Я привык обмениваться программами», — говорит Торвальдс. Среди программистов существовала (и до сих пор существует) традиция пересылать несколько долларов разработчикам тех программ, которые ты себе скачал. «Люди писали мне письма и предлагали перевести 30 долларов». На тот момент Торвальдс еще должен был выплатить 5000 долларов по образовательным кредитам, а также погасить кредит на компьютер, для чего он ежемесячно отдавал банку 50 долларов. Однако он все равно отказался от денег и попросил всех присылать ему открытки. Так Торвальдс стал получать открытки от пользователей Linux со всего мира. «Обычно почту вынимала Сара, и она очень удивилась, что у ее нелюдимого брата есть друзья в таких дальних странах. Ей в голову впервые в жизни закралась мысль о том, что, возможно, я действительно занимался чем-то важным, когда занимал телефонную линию Интернетом».