Как один зажёванный лист в принтере Xerox привел к созданию GNU Linux и всей философии Open Source

от автора

Введение

Когда речь заходит о создателях современного IT-мира, принято вспоминать Торвальдса, Гейтса или Джобса. Но давайте начистоту: без одного упрямого бородатого хакера из MIT не было бы ни Android, ни серверов на Linux, ни доброй половины софта, которым мы пользуемся каждый день. И нет, это не Линус. Это Ричард Мэтью Столлман (или просто RMS, как его называют в тусовке).

Столлман вошел в историю не просто как гениальный программист, а как создатель философии свободного программного обеспечения (Free Software). Именно его идеи заложили фундамент, на котором позже выросли языки вроде Python, свободные браузеры, весь open-source и даже концепция открытой совместной разработки, без которой не появился бы тот же GitHub.

Фотография взята отсюда https://habr.com/ru/articles/5332/

При этом сам RMS — максимально неудобный человек для современной индустрии. Это радикальный философ, который принципиально не пользуется смартфонами, не имеет аккаунтов в соцсетях и расплачивается только наличными. Долгие годы над ним откровенно посмеивались, называя параноиком. Но сегодня, на фоне бесконечных скандалов с утечками данных и тотальной корпоративной слежкой, идеи Столлмана больше не кажутся безумными. Скорее, приходит осознание: кажется, этот парень всё понял задолго до нас.

AI Lab в MIT, хакерская культура и Emacs

В школе Ричард был классическим гиком-изгоем: пока сверстники играли в бейсбол, он запоем читал энциклопедии и задавал учителям слишком неудобные вопросы. Он откровенно не вписывался в социум, пока в 17 лет не попал на летнюю стажировку в IBM. Встреча с настоящим мейнфреймом всё изменила. Компьютер не судил по внешности и не смеялся над странностями — он просто честно выполнял инструкции. Для замкнутого парня это был идеальный напарник.

Настоящая жизнь началась в 70-х, когда Столлман оказался в Лаборатории искусственного интеллекта MIT (AI Lab). В те времена слово «хакер» означало виртуозного инженера, а не киберпреступника, и в стенах лаборатории царила настоящая технологическая утопия. Программный код был общим достоянием. Любой мог залезть в исходники, посмотреть, как всё устроено, исправить баг и поделиться улучшением с остальными. Для Столлмана эта свободная хакерская этика стала смыслом жизни.

Именно в MIT RMS создал свой первый легендарный продукт. Тогда основным текстовым редактором был TECO — штука настолько суровая и неочевидная, что для простого удаления символа требовалось вводить зубодробительные комбинации. Чтобы не сойти с ума, программисты писали для него макросы. Столлман вместе с Гаем Стилом собрал лучшие скрипты в единую расширяемую систему — так родился Emacs (от Editor MACroS).

Возможность дописывать редактор под себя привела к тому, что со временем Emacs оброс чудовищным количеством фич: прямо в нем можно было читать почту, управлять файлами, кодить на встроенном Lisp и даже играть. Это породило бессмертную айтишную шутку: «Emacs — это отличная операционная система, которой не хватает только хорошего текстового редактора». Ну и да, именно тогда был заложен фундамент эпичного холивара между фанатами Emacs и Vim. Война идет уже 40 лет, и некоторые, кажется, до сих пор не могут из нее выйти.

Тот самый принтер Xerox: точка невозврата

Всякая технологическая революция часто начинается с какой-нибудь бытовой ерунды. В случае со свободным софтом такой ерундой стал принтер.

В лаборатории MIT появился новенький Xerox 9700, который просто обожал зажёвывать бумагу. Программисты отправляли документ на печать, шли к аппарату и вместо своих текстов обнаруживали застрявший ком бумаги и очередь из злых коллег. Столлман решил исправить ситуацию по-хакерски: он задумал дописать драйвер так, чтобы принтер сам рассылал уведомления по сети, если вдруг «подавился».

Для этого нужны были исходники. Ричард обратился к Xerox, ожидая привычного коллегиального обмена кодом, но получил жесткий отказ. Представители компании заявили: извини, парень, это коммерческая тайна, код закрыт, никаких исходников ты не получишь.

Для Столлмана это стало настоящей пощёчиной. Он вырос в культуре, где код — это знание, а знаниями принято делиться. И вдруг какая-то корпорация запрещает ему улучшить устройство, с которым он работает каждый день.

Именно тогда, в начале 80-х, RMS осознал катастрофический сдвиг в индустрии: программы стремительно превращались в чью-то частную собственность. Старая хакерская утопия MIT рушилась на глазах. Коллеги Столлмана один за другим уходили в коммерческие стартапы, унося свои наработки и закрывая код. Мир открытой разработки умирал, и Столлман понял, что если он ничего не сделает, этот процесс станет необратимым.

GNU: рекурсивная шутка и рождение свободного мира

Осознав, что мир открытого кода летит в пропасть, Столлман принял решение, которое навсегда изменило правила игры. 27 сентября 1983 года он бросил вызов всей индустрии, публично объявив о запуске проекта GNU. Название — классическая хакерская рекурсивная шутка: GNU’s Not Unix («GNU — это не Unix»).

Цель звучала как абсолютное безумие: с нуля написать полноценную операционную систему, полностью совместимую с популярным тогда Unix, но в которой не будет ни единой строчки проприетарного, закрытого кода. Любой человек должен иметь право запускать её, разбирать по винтикам, модифицировать и делиться с другими. Unix всем был хорош, но он стоил денег и его исходники были наглухо закрыты, а Столлман хотел создать систему, принадлежащую всему человечеству.

Чтобы реализовать задуманное, Ричард пошел на радикальный шаг. Он добровольно уволился из MIT, лишившись стабильности и привычной среды. Зачем? Чтобы у университета не возникло даже теоретической возможности заявить авторские права на его код.

Начались годы тяжелой работы. Столлман превратился в одержимого отшельника: он буквально жил в офисе, спал на матрасе под столом, питался фастфудом и почти ни с кем не общался. В одиночку он писал сложнейшие фундаментальные вещи: например, компилятор GCC (без которого сегодня вообще трудно представить компиляцию программ на C) и мощнейший отладчик GDB. Он создал десятки базовых утилит, без которых позже не смог бы работать ни один дистрибутив Linux. Идея была проста: пользователь не должен заметить разницы при переходе с Unix на GNU, за исключением того, что теперь он полностью контролирует свою систему.

Механизм Copyleft и “вирусная” лицензия GPL

Но одного энтузиазма и голого кода было мало — суровая коммерческая реальность быстро дала о себе знать. Когда Столлман ушел из MIT, он забрал с собой копию своего редактора Emacs. Вскоре выяснилось, что компания Symbolics, где теперь работали его бывшие коллеги по лаборатории, без зазрения совести взяла наработки MIT по Emacs, допилила их и начала успешно продавать. А вот делиться изменениями и отдавать код обратно в сообщество они, конечно же, не собирались.

Для RMS это было ударом в спину. В ответ он просто взял и переписал весь Emacs с полного нуля, чтобы выпустить его как абсолютно независимую и свободную программу. Но этот случай стал отличным уроком: Столлман понял, что наивно просто так отдавать код миру. В любой момент придет корпорация, присвоит твои труды, закроет их проприетарной лицензией и сделает на этом бизнес. Чтобы код оставался свободным навсегда, нужна была мощная юридическая защита.

Так появилась GPL (GNU General Public License) — пожалуй, самый красивый юридический хак в истории IT. Идея была гениальна в своей простоте: ты можешь брать код, использовать его бесплатно и делать с ним что угодно, но с одним жестким условием. Если ты используешь кусок GPL-кода в своей программе, то и вся твоя программа автоматически должна перейти под лицензию GPL, а её исходники обязаны быть открыты для всех.

Это как с рецептом пирога: пеки, продавай, радуйся жизни. Но если ты взял открытый рецепт и добавил туда свой коммерческий «секретный» ингредиент — будь добр, раскрой этот секрет всем покупателям.

Столлман назвал этот механизм Copyleft (изящная игра слов с Copyright). Если копирайт существует, чтобы ограничивать права людей на распространение, то копилефт использует законы об авторском праве, чтобы эту свободу гарантировать и защищать от корпоративной приватизации.

Бизнес от такого подхода буквально взвыл. Топ-менеджеры и проприетарные разработчики презрительно окрестили GPL «вирусом», который заражает и обесценивает любой коммерческий код, к которому прикасается. На что Столлман невозмутимо парировал: «Это не вирус. Это вакцина от жадности».

Четыре свободы пользователя и конфликт с Open Source

Чтобы система работала, её нужно было подкрепить жесткой идеологией. Столлман не был бы Столлманом, если бы не превратил технический вопрос в философский трактат. Он сформулировал четыре базовых критерия, которые определяют, является ли программа по-настоящему свободной. Как истинный программист, нумерацию он начал с нуля:

  • Свобода 0: Запускать программу в любых целях. Будь то работа, хобби или управление ядерным реактором — никто не имеет права вам это запрещать.

  • Свобода 1: Изучать, как работает программа, и изменять её под свои нужды. (Без доступа к исходному коду эта свобода физически невозможна).

  • Свобода 2: Свободно распространять копии. Вы имеете полное право поделиться программой с другом или коллегой.

  • Свобода 3: Улучшать программу и публиковать свои модификации, чтобы от вашего труда выиграло всё сообщество.

Позиция RMS категорична: если отсутствует хотя бы одна из этих свобод — перед вами проприетарщина, которой не место на вашем жестком диске.

Тут важно сделать лингвистическую оговорку. В английском языке слово free означает и «свободный», и «бесплатный». Из-за этого многие до сих пор думают, что Столлман — это такой IT-коммунист, который хочет, чтобы программисты работали за идею и питались солнечным светом. Ничего подобного. Он всегда топил именно за свободу пользователей, а не за отсутствие ценников. Вы можете продавать свободное ПО за любые деньги, но покупатель должен стать полноправным хозяином кода.

Чтобы продвигать эти идеи в массы и защищать разработчиков юридически, в 1985 году Столлман основал некоммерческую организацию Free Software Foundation (FSF). Она существует до сих пор.

А потом наступил конец 90-х, и в сообществе произошел великий раскол, из-за которого Столлман бесится по сей день. Появился термин Open Source (открытый исходный код).

Казалось бы, код открыт — в чем проблема? Но для RMS разница колоссальна. Ребята из Open Source хотели зробити открытый код привлекательным для крупного бизнеса. Их риторика строилась на прагматике: «открытый код — это выгодно, надёжно, а толпа контрибьюторов быстрее фиксит баги». Никакой этики, просто эффективная модель разработки.

Для Столлмана такой подход — это предательство идеалов ради корпоративных бюджетов. Свобода софта для него — это вопрос морали и базовых прав человека, а не практичности. Когда очередная мегакорпорация заявляет со сцены «Мы обожаем Open Source!», RMS слышит совершенно другое: «Мы с удовольствием используем ваш код, чтобы сэкономить на разработке, но не собираемся отдавать что-то взамен или уважать свободы наших пользователей». И в чем-то, согласитесь, он чертовски прав.

Драма “GNU/Linux” и провал микроядра Hurd

К началу 90-х у проекта GNU было почти всё: компиляторы, утилиты, библиотеки. Не хватало только самой важной детали — сердца системы, её ядра. И здесь Столлман совершил свою главную техническую (а может, и стратегическую) ошибку.

В 1990 году началась разработка ядра GNU Hurd. Столлман решил делать всё по красоте и выбрал модную тогда микроядерную архитектуру на базе Mach. В теории всё звучало потрясающе: вместо одного неповоротливого куска кода (монолитного ядра) создается набор маленьких изолированных серверов, которые общаются друг с другом. Это должно было быть супербезопасно и надежно.

Но на практике разработка превратилась в ад. Архитектура оказалась запредельно сложной, баги множились в геометрической прогрессии, а производительность оставляла желать лучшего. Три года ушло только на то, чтобы разработчики Mach выкатили нормальную лицензию. Проект безнадежно буксовал.

И тут в 1991 году на сцену выходит никому не известный финский студент Линус Торвальдс. Он не заморачивается с изящными микроядрами, а просто берет и пишет своё монолитное ядро, которое называет Linux. Получилось грубее, проще, но главное — оно работало прямо здесь и сейчас.

Сначала Линус выпустил ядро под своей проприетарной лицензией, запрещавшей коммерческое использование. Но Торвальдс искренне уважал Столлмана и его философию. Оценив потенциал открытого сообщества, в 1992 году он переводит ядро Linux под ту самую лицензию GPL.

Это был идеальный пазл: ядро Линуса + готовые утилиты GNU. Так наконец-то появилась та самая полностью свободная операционная система, о которой Столлман мечтал почти 10 лет.

Но тут случилась драма, которая не утихает до сих пор. Мир радостно подхватил новую ОС и стал называть её просто «Linux». Ричарда это страшно задевало. Он резонно возмущался: подождите, ядро — это только малая часть системы! Без компиляторов, шелла и утилит GNU ваш Linux — это просто бесполезный кусок кода.

Столлман начал крестовый поход за историческую справедливость, требуя от всех использовать исключительно название GNU/Linux. Торвальдс лишь пожимал плечами: «Называйте как хотите». А вот RMS впал в настоящую ярость. Он может буквально прервать спикера на крупной конференции, если тот посмеет произнести слово «Linux» без приставки «GNU», а зал при этом будет неловко молчать.

(Кстати, GNU Hurd тихо пилится до сих пор. На нем даже можно запустить экзотические сборки вроде Debian GNU/Hurd. Да, ими пользуются полтора землекопа, но сам факт, что разработка не останавливается больше 30 лет, вызывает уважение).

Эксцентричность, “отмена” и возвращение

В 90-е и нулевые Столлман превратился в настоящую рок-звезду от мира IT. Он ездил по миру с лекциями, выступал в университетах, парламентах и собирал полные залы. Его харизма и бескомпромиссность завораживали: студенты выходили с его лекций с горящими глазами и непреодолимым желанием немедленно снести Windows.

Но вместе с популярностью росли и его эксцентричные требования. Вы пригласили Столлмана на конференцию? Будьте добры обеспечить, чтобы в зале не использовалось ни байта проприетарного софта. Был случай, когда он просто развернулся и ушел, узнав, что презентации крутят в Microsoft PowerPoint, а не в свободном LibreOffice. На многие выступления он приносил с собой мягкую игрушку антилопы гну — символ своего движения, а его неопрятная, густая борода стала притчей. На шутки о том, что в этой бороде зародилась собственная экосистема, он отвечал прагматично: время нужно тратить на код и борьбу за свободу, а не на барбершопы.

Среди пользователей Linux даже появилась шуточная утилита vrms (Virtual Richard M. Stallman). При запуске этот виртуальный Столлман сканирует вашу систему и, если находит хоть один проприетарный пакет (например, закрытые драйверы от видеокарты), начинает недовольно ворчать.

Цифровая гигиена Столлмана — это отдельный вид искусства. Он не просто проповедует отказ от проприетарщины, он буквально так живет. Ричард работает исключительно на машинах с полностью свободной ОС и открытым BIOS (Coreboot). Он принципиально не пользуется смартфонами, потому что в них есть закрытые модули связи (baseband), которые пользователь не контролирует. Он не зарегистрирован ни в одной соцсети. Более того, даже обычный веб-серфинг для него — это минные поля. Чтобы не исполнять закрытый JavaScript-код от корпораций, он просматривает сайты через специальные скрипты или терминальные браузеры, иногда просто отправляя запрос на специальный сервер, который присылает ему HTML-код страницы по почте.

D 2021 году Столлман неожиданно возвращается в совет директоров FSF. Это вызвало новый раскол в сообществе: часть разработчиков (включая такие компании как Red Hat) угрожала прекратить финансирование фонда, требуя его окончательного ухода, в то время как тысячи рядовых программистов подписали петицию в его поддержку, заявляя, что без Ричарда движение Free Software потеряет свою суть.

Заключение

Сегодня Ричарду Столлману за 70. В отличие от Гейтса или Джобса, он не построил IT-империю и не заработал миллиардов. Но его влияние на мир трудно переоценить. Философия RMS, его лицензия GPL и проект GNU лежат в основе инфраструктуры, на которой держится современная цивилизация. Серверы, на которых крутится интернет, суперкомпьютеры, марсоходы и миллиарды смартфонов на базе Android в наших карманах — всё это работает благодаря тому, что один упрямый хакер когда-то решил, что программное обеспечение должно быть свободным, и посвятил всю жизнь защите этого права.

Каждый раз, когда вы свободно скачиваете инструмент для работы, читаете исходники библиотеки на GitHub или форкаете чужой проект — вы пользуетесь наследием Столлмана.

Анонсы новых статей, полезные материалы, а так же если в процессе у вас возникнут сложности, обсудить их или задать вопрос по этой статье можно в моём Telegram‑сообществе. Смело заходите, если что‑то пойдет не так, — постараемся разобраться вместе.

ссылка на оригинал статьи https://habr.com/ru/articles/1041420/