Symbolics, которая образовалась на базе лаборатории и щедро платила разработчикам.
Столлман не понимал их корыстолюбия и считал предателями, ведь сам он иногда
ночевал в офисе и выглядел так, будто одевался в секонд-хендах. Последней каплей
стала история с лазерным принтером Xerox, подаренным лаборатории. Столлман хотел
написать команду, которая сообщала бы, что в принтере застряла бумага. Однако ему не
дали доступ к исходному коду устройства из-за вопросов конфиденциальности. Столлман
пришел в ярость.
Он стал еще больше похож на пророка Иеремию, который осуждал идолопоклонство и
проповедовал по своей книге «Плач Иеремии». «Некоторые люди сравнивают меня с
ветхозаветным пророком. Причина в том, что ветхозаветные пророки порицали
некоторые социальные нормы, — поясняет Столлман. — И они никогда не поступились
бы моральными устоями». Как и Столлман. Платное программное обеспечение было для
него «злом», потому что в мире копирайта «люди не могли свободно всем делиться, а это
делало общество уродливым». Он задумал победить силы зла при помощи свободного
программного обеспечения.
Столлман с неприязнью относился к эгоистическим настроениям, которые поглотили
американское общество за время правления Рейгана. Это касалось и производителей
ПО. В итоге в 1982 году он решил создать бесплатную и незапатентованную
операционную систему. Столлман даже уволился из Лаборатории искусственного
интеллекта МТИ, чтобы институт не заявил свои права на нее. Куратор пошел ему
навстречу и разрешил оставить себе ключ от лаборатории. Столлман хотел разработать
систему, похожую на систему UNIX и совместимую с ней. UNIX была написана в 1971
году в Bell Labs, использовалась во многих университетах и была популярна среди
разработчиков. Столлману был не чужд программистский юмор, и свою систему он
остроумно назвал GNU: этот рекурсивный акроним расшифровывался как GNU’s Not
UNIX (GNU не UNIX).
В марте 1985 года Столлман опубликовал свой манифест в журнале Dr. Dobb’s Journal,
который принял эстафету от «Домашнего компьютерного клуба» и вестника People's
Computer Company. В манифесте Столлман сформулировал «золотое правило»: каждый
должен делиться понравившейся программой с теми, кому она тоже нравится.
«Продавцы ПО хотят „разделять и властвовать“, они разобщают людей, требуя, чтобы мы
не делились программами друг с другом, — писал Столлман. — Я не собираюсь с этим
мириться. Когда мы закончим GNU, то каждый сможет пользоваться качественной
операционной системой бесплатно, как воздухом».
Столлман переживал, что многие неправильно интерпретируют его идею о бесплатном
программном обеспечении (free software). Финансовый вопрос не был для него
ключевым, основной задачей было снятие всех ограничений и запретов. Открытый софт
должен был ассоциироваться с естественными свободами человека. У каждого должно
было быть право пользоваться программами, изучать, изменять и распространять любую
их версию. Столлман не уставал объяснять, что дело не в стоимости, а в дозволенности:
«Имеется в виду, например, свобода слова, а не бесплатное пиво».
Предполагалось, что движение за открытое программное обеспечение не просто
подарит людям доступные программы. В своих идеях Столлман видел залог процветания
человечества. Он утверждал, что его принципы защищают интересы каждого человека и
общества в целом, объединяют людей и призывают их обмениваться информацией и
сотрудничать.
Чтобы формализовать свои идеи, Столлман разработал Универсальную общедоступную
лицензию GNU — General Public License, а его друг придумал принцип «копилефт» (от
английского copyleft), антоним понятия копирайта. Согласно Лицензии GNU, каждый
пользователь имел право копировать и модифицировать программу, а также
распространять оригинальную или измененные ее версии, а вводить любые ограничения
на использование программы запрещалось.
Столлман лично написал первые компоненты операционной системы GNU, включая
текстовый редактор, компилятор и многие другие. Однако было очевидно, что ему не
хватает главного. «Как насчет ядра?» — спросили его во время интервью журналу Byte в
1986 году. Ядро — это основа любой операционной системы, оно обеспечивает запросы
программ на ресурсы и регулирует взаимодействие программ и микропроцессора.
Столлман ответил, что сначала ему нужно закончить компилятор и переписать
файловую систему, а потом настанет очередь ядра.
По ряду причин ядро для GNU не смогли закончить ни Столлман, ни разработчики из
его Фонда свободного программного обеспечения. Помощь пришла откуда не ждали:
подходящее им ядро написал 21-летний студент Университета Хельсинки Линус
Торвальдс, веселый и живой финн с широкой улыбкой, родным языком которого был
шведский.
Отец Линуса Торвальдса работал тележурналистом и состоял в Коммунистической
партии, а мать была общественной активисткой, а затем стала журналисткой. Однако
Линуса с детства больше интересовала техника, чем политика. Он считал, что «хорош в
математике, хорош в физике, но в плане социальных навыков — полный ноль. А тогда
гиков еще было принято осуждать». Особенно в Финляндии.
Когда Торвальдсу было одиннадцать лет, то его дедушка, преподаватель статистики,
подарил внуку Commodore Vic 20, один из первых персональных компьютеров в мире.
Торвальдс начал писать всевозможные программы на языке BASIC. Его сестре,
например, очень нравилась та, что бесконечно выводила на экран фразу «Сара лучше
всех». Он с радостью обнаружил, что компьютеры и математика похожи: «Они позволяли
создавать новый мир, живущий по своим правилам».
Отец уговаривал Торвальдса пойти в баскетбольную секцию, но вместо этого
непослушный сын учился писать на языке ассемблера, то есть создавать бинарный код,
который выполняется непосредственно процессором. Торвальдс стал считать себя
близким другом компьютеров. Позднее он признается: «Мне повезло родиться в то
время, потому что куда проще было изучать машинный язык на первых немудреных
компьютерах, когда кто угодно, включая очкариков вроде меня, мог заглянуть внутрь
системного блока». Как и автомобильные двигатели, компьютеры со временем
превратились в очень сложные механизмы, которые стало не так просто пересобирать.
В 1988 году Торвальдс поступил в Университет Хельсинки, а затем отслужил год в
финской армии. Вернувшись, он купил себе клон компьютера IBM, работавший на
процессоре Intel 386. Его совершенно не впечатлила операционная система MS-DOS,
написанная Биллом Гейтсом и его командой. Торвальдсу нравилась UNIX, установленная
в университете, но одна копия UNIX стоила пять тысяч долларов, к тому же на его
домашнем компьютере она бы не заработала. Торвальдс задался целью это исправить.
Он прочел книгу голландского профессора Эндрю Таненбаума, который для
образовательных целей разработал UNIX-подобную операционную систему MINIX.
Торвальдс решил, что вместо MS-DOS поставит на свой компьютер MINIX и купил одну
копию (16 дискет) за 169 долларов, хотя цена его и возмутила. Установив систему, он
начал доводить ее до идеала — дописывать и переписывать.
Первым делом он добавил к MINIX эмулятор терминала, чтобы удаленно подключаться к
университетскому мейнфрейму. Он написал программу с нуля на ассемблере, то есть
сразу использовал машинный код, что позволяло ему не зависеть от MINIX. Торвальдс
принялся за работу в конце весны 1991 года, когда солнце пробудилось от зимней
спячки. Люди стали чаще появляться на улице, но только не он: «Я почти не выходил из
дома, даже банный халат не снимал и света белого почти не видел — окна были
занавешены плотной черной тканью. Все время программировал для своего
простенького компьютера».
Когда первая версия эмулятора заработала, Торвальдс решил, что ему также нужно
загружать и закачивать файлы, поэтому он написал драйверы для управления
дисководом и файловой системой. «Когда и они были закончены, я понял, что стою на
полпути к созданию операционной системы», — вспоминает Торвальдс. Иными словами,
он практически написал ядро для UNIX-подобной операционной системы. «Вот я сижу в
своем заношенном халате и программирую на эмуляторе терминала с расширенными
функциями. А в следующую секунду я понимаю, что в процессе добавил столько всего,
что фактически уже пишу операционную систему». Торвальдс нашел список «системных
вызовов» UNIX. Речь шла о сотнях команд, которые приказывали компьютеру выполнять
базовые операции: Open, Close, Read и Write — «открыть», «закрыть», «прочесть» и
«написать». Он создал собственную реализацию этих вызовов. Торвальдс до сих пор жил
в квартире матери, и они часто ругались с сестрой из-за постоянно занятого телефона —
Торвальдс сидел в сети. А Сара, в отличие от брата, вела активную жизнь: «Нам никто не
мог дозвониться!» — вспоминала она.
Торвальдс планировал назвать свою систему Freax, что должно было отсылать к free
(свободный), freaks (фрики, чудаки) и UNIX. Однако название не понравилось владельцу
Do'stlaringiz bilan baham: |