Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию
Шрифт:
По ряду причин ядро для GNU не смогли закончить ни Столлман, ни разработчики из его Фонда свободного программного обеспечения. Помощь пришла откуда не ждали: подходящее им ядро написал 21-летний студент Университета Хельсинки Линус Торвальдс, веселый и живой финн с широкой улыбкой, родным языком которого был шведский.
Отец Линуса Торвальдса работал тележурналистом и состоял в Коммунистической партии, а мать была общественной активисткой, а затем стала журналисткой. Однако Линуса с детства больше интересовала техника, чем политика [832] . Он считал, что «хорош в математике, хорош в физике, но в плане социальных навыков — полный ноль. А тогда гиков еще было принято осуждать» [833] . Особенно в Финляндии.
832
Linus Torvalds, Информационный
833
Linus Torvalds with David Diamond, Just for Fun (2001), 4.
Когда Торвальдсу было одиннадцать лет, то его дедушка, преподаватель статистики, подарил внуку Commodore Vic 20, один из первых персональных компьютеров в мире. Торвальдс начал писать всевозможные программы на языке BASIC. Его сестре, например, очень нравилась та, что бесконечно выводила на экран фразу «Сара лучше всех». Он с радостью обнаружил, что компьютеры и математика похожи: «Они позволяли создавать новый мир, живущий по своим правилам».
Отец уговаривал Торвальдса пойти в баскетбольную секцию, но вместо этого непослушный сын учился писать на языке ассемблера, то есть создавать бинарный код, который выполняется непосредственно процессором. Торвальдс стал считать себя близким другом компьютеров. Позднее он признается: «Мне повезло родиться в то время, потому что куда проще было изучать машинный язык на первых немудреных компьютерах, когда кто угодно, включая очкариков вроде меня, мог заглянуть внутрь системного блока» [834] . Как и автомобильные двигатели, компьютеры со временем превратились в очень сложные механизмы, которые стало не так просто пересобирать.
834
Torvalds and Diamond, Just for Fun, 74, 4, 17; Michael Learmonth, Giving It All Away, San Jose Metro, 8 мая 1997 г.
В 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] — вспоминала она.
835
Torvalds and Diamond, Just for Fun, 52, 55, 64, 78, 72.
Торвальдс
836
Линус Торвальдс произносит слово Linux:wikipedia/commons/0/03/Linus-linux.ogg.
837
Learmonth, Giving It All Away.
Осенью 1991 года, когда световой день в Хельсинки вновь пошел на убыль, Торвальдс выпустил командную оболочку своей системы, 10 тысяч строчек кода [838] . Он не стал ее продавать, а выложил в открытый доступ. Незадолго до этого Торвальдс вместе с другом прослушал лекцию Столлмана, который тогда ездил по всему миру и проповедовал свою концепцию свободного программного обеспечения. Нельзя сказать, что Торвальдс проникся этой идеей и стал адептом новой религии: «Возможно, тогда меня это особо не зацепило. Мне были интересны технологии, а не политика. Политики мне хватало дома» [839] . Однако он понимал, что, имея доступ к исходному коду его системы, каждый сможет ее улучшить. Торвальдс решил раздавать Linux бесплатно, потому что так ему казалось выгоднее, а идеалы и убеждения были тут ни при чем.
838
К 2009 году код дистрибутива Debian GNU /Linux 5. о насчитывал 324 миллиона строк. Согласно одному расчету, разработка подобной системы обошлась бы заказчику в 8 миллиардов долларов . — Прим. автора.
839
Torvalds and Diamond, Just for Fun, 58.
Пятого октября 1991 года он написал дерзкое сообщение в новостную группу MINIX. «Вы скорбите по временам MINIX-і.і, когда мужчины были настоящими мужчинами и сами писали драйверы устройств? — начал Торвальдс. — Я работаю над бесплатной версией MINIX-подобной системы для компьютера AT-386. Ей уже можно пользоваться (а может, и нет — зависит от того, что вам нужно), и я решил выложить исходники для всех желающих» [840] .
840
Linus Torvalds, Free Minix-like Kernel Sources for 386-AT, пост в новостную группу: comp.os.minix, 5 октября 1991 г., http://www.es.emu.edu/~awbylinux.history.html.
«Загрузить свою систему в открытый доступ не было трудным решением. Я привык обмениваться программами», — говорит Торвальдс. Среди программистов существовала (и до сих пор существует) традиция пересылать несколько долларов разработчикам тех программ, которые ты себе скачал. «Люди писали мне письма и предлагали перевести 30 долларов». На тот момент Торвальдс еще должен был выплатить 5000 долларов по образовательным кредитам, а также погасить кредит на компьютер, для чего он ежемесячно отдавал банку 50 долларов. Однако он все равно отказался от денег и попросил всех присылать ему открытки. Так Торвальдс стал получать открытки от пользователей Linux со всего мира. «Обычно почту вынимала Сара, и она очень удивилась, что у ее нелюдимого брата есть друзья в таких дальних странах. Ей в голову впервые в жизни закралась мысль о том, что, возможно, я действительно занимался чем-то важным, когда занимал телефонную линию Интернетом».
Было несколько причин, по которым Торвальдс отказался от денег. В частности, он беспокоился о традициях своей семьи:
Мне казалось, что я использую накопленные за века знания, как до меня делали многие ученые и академики… Еще я хотел услышать мнение людей о своей системе (хорошо, и восхищенные отзывы). Я не вижу смысла брать деньги с тех, кто может мне помочь. Полагаю, я бы по-другому к этому относился, если бы вырос не в Финляндии, где любое проявление алчности вызывает у всех большое подозрение, если не зависть. Да, я бы точно по-другому к этому относился, если бы рос не под влиянием деда-академика и отца-коммуниста.