Как можно быть одновременно лидером влиятельного движения и объектом насмешек? Создавать классные и востребованные продукты и воинственно популяризировать их свободное распространение? Стать легендой в мире информационных технологий и изгоем?
Ричард Столлман знает ответы на эти вопросы. Он подарил миру идею свободного программного обеспечения, но из-за собственной принципиальности оказался её пленником. Его считают одним из самых влиятельных программистов, но за глаза некоторые соратники называют экстремистом и источником ненависти.
Тем не менее Ричард Столлман воплощает целостность и последовательность. Его идеи превращаются в осязаемые плоды, которыми пользуются миллионы людей. Столлман фанатично соблюдает свои принципы и не идёт на компромиссы.
Ричард Столлман посвятил жизнь борьбе за свободу. Его деятельность повлияла и продолжает влиять на сферу разработки программного обеспечения в частности и информационных технологий в целом.
Лисп-машины, Emacs: начало большого пути
Ричард Столлман учился в Гарвардском университете, который окончил в 1974 году и получил степень бакалавра в области физики. С 1971 года первокурсник Гарварда работал программистом в лаборатории искусственного интеллекта Массачусетского технологического института (MIT). В это время Столлман вступил в сообщество хакеров, где общался под ником RMS — Richard Matthew Stallman.
«Ричард Столлман — моё имя для непосвящённых. Зовите меня RMS», — так хакер написал в одной из работ.
В лаборатории искусственного интеллекта MIT Столлман участвовал в разных проектах. Некоторые из них без преувеличения можно назвать революционными в контексте их влияние на сферу информационных технологий.
Примечание — В 70-е годы хакерами называли людей, которые увлекались компьютерами, старались глубоко изучать компьютерные программы и совершенствовать их. Только через несколько десятилетий термин «хакер» стал употребляться по отношению к людям, которые взламывают системы безопасности.
Лисп-машина
Столлман участвовал в работе над знаменитой Лисп-машиной. Так называют компьютеры, созданные для эффективной работы с семейством языков программирования Лисп.
Лисп-машины считаются первыми коммерческими персональными рабочими станциями. С помощью этих компьютеров были созданы многие популярные и коммерчески успешные технологии и устройства, в том числе компьютерная мышь, лазерная печать, сборщики мусора, растровая графика.
Познакомьтесь с Racket — языком семейства Лисп. На Code Basics есть бесплатный курс по основам Racket.
TECO и Emacs
В MIT Столлман работал над текстовыми редакторами TECO и Emacs.
Сотрудники MIT начали разрабатывать TECO ещё в начале 60-х годов. Название редактора — акроним Tape Editor and Corrector, позднее Text Editor and Corrector. В редакторе TECO использовался интерпретируемый язык программирования TECO. С редактором работали операторы компьютеров PDP-6 и PDP-10, которые были установлены в лаборатории искусственного интеллекта MIT.
В TECO есть режимы для ввода, редактирования и чтения текста. То есть человек мог просмотреть текст в режиме чтения, но должен был переключить редактор в режим ввода, чтобы что-то напечатать. В режиме ввода существующий текст не отображался на экране.
Ричард Столлман и Карл Миккельсен реализовали в TECO гибридный режим, в котором текст на экране обновлялся после каждого нажатия клавиши. Фактически это стало первым шагом к внедрению в TECO системы WYSIWYG, которая используется в современных редакторах. Ради справедливости нужно отметить, что Столлман взял идею гибридного режима редактирования из редактора E, который использовался в лаборатории искусственного интеллекта Стэнфордского университета.
Акроним WYSIWYG расшифровывается так: What You See Is What You Get (что видите, то и получите). WYSIWYG обеспечивает интерфейс, в котором контент в режиме редактирования идентичен или максимально приближен к итоговому варианту.
Изначально TECO разрабатывался для работы с перфолентой, поэтому он позволял одновременно работать с одной страницей, соблюдая порядок страниц в файле. Столлман реализовал в TECO возможность читать, редактировать и записывать целый файл как один большой буфер памяти. Этот подход применяется в большинстве современных текстовых редакторов.
В 1976 году Гай Стил и Ричард Столлман написали набор макросов для TECO и назвали его EMACS — Editor MACroS. EMACS стал дефолтным редактором операционной системы ITS, которая использовалась в лаборатории искусственного интеллекта MIT. В следующие несколько лет появилось несколько версий редактора. Одной из самых популярных стал Gosling Emacs, который разработал создатель языка Java Джеймс Гослинг.
В середине 80-х годов Столлман начал работу над GNU Emacs. К этому времени RMS уже посвятил себя проекту GNU, в рамках которого он разрабатывал и популяризировал свободное программное обеспечение.
Свободное программное обеспечение и GNU: главное детище Столлмана
Одну из первых публичных кампаний против ограниченного доступа к программному обеспечению Ричард Столлман провёл во второй половине 70-х в лаборатории искусственного интеллекта MIT. В то время лаборатория сотрудничала с Управлением перспективных исследовательских проектов Министерства обороны США и получала от этого ведомства финансирование.
Военные потребовали ограничить доступ к компьютерам паролями. Ричард Столлман выступил против ограничений, так как считал, что ограниченный с помощью паролей доступ — средство контроля сотрудников лаборатории. RMS взломал систему и стал рассылать сотрудникам лаборатории письма с их паролями. Он предлагал использовать вместо пароля пустую строку. Около 20 % сотрудников лаборатории искусственного интеллекта MIT поддержали этот демарш. Столлман считает эту кампанию успешной, так как она привлекла внимание к проблеме контроля пользователей с помощью ограниченного доступа к компьютерам.
В сентябре 1983 года Ричард Столлман сообщил о создании проекта по разработке свободного программного обеспечения — The GNU Project. К этому времени многие разработчики программного обеспечения перестали распространять исходный код, начали лицензировать программы и использовать авторское право, чтобы ограничить использование своих разработок конкурентами. Столлман относился к такой практике резко негативно.
RMS не скупился на слова: когда создатель языка разметки Scribe Брайан Рид ограничил доступ к этому языку и системе обработки текстов, Столлман назвал этот шаг «преступлением против человечества», ни больше ни меньше.
По мнению Столлмана, каждый пользователь должен иметь доступ к исходному коду, возможность модифицировать его и делиться программами с другими пользователями. RMS считает свободу одной из главных ценностей для отдельного человека и общества в целом. Именно на свободу как моральную ценность опираются взгляды и деятельность Столлмана. То есть он считал и считает, что программное обеспечение должно быть свободным, чтобы люди могли свободно его использовать. Возможные практические преимущества свободного распространения ПО, например, усовершенствование программ усилиями сообщества, Столлман считает второстепенными по отношению к этическим вопросам.
GNU свою линию: общественная организация...
Как сказано выше, в 1983 году RMS запустил «Проект GNU». Эта некоммерческая организация занялась популяризацией идеи свободного программного обеспечения. «Проект GNU» в лице его основателя и руководителя Ричарда Столлмана задекларировал амбициозную цель — создать столько свободного ПО, чтобы пользователи могли легко обходиться без несвободного ПО.
Идеологию проекта Столлман изложил в знаменитом «Манифесте GNU». Также он попросил других программистов присоединиться к проекту и поддержать его.
Многие программисты не рады коммерциализации программного обеспечения. Да, она позволяет разработчикам больше зарабатывать, но ради заработка придётся считать других программистов конкурентами, а не соратниками. Обмен программами — это базовое проявление дружбы между программистами. Маркетинговые ограничения мешают программистам считать друг друга друзьями.
Эта цитата из манифеста GNU показывает, что идеологические и этические вопросы для Столлмана были главными. По сути, RMS бросил вызов не просто коммерциализации программного обеспечения, а всему общественному укладу.
Тем не менее Ричард Столлман не выступал против возможности зарабатывать на программном обеспечении. Он часто подчёркивает, что под свободным ПО подразумевается именно свободное, а не бесплатное ПО.
Примечание — В английском языке используется прилагательное free, которым можно обозначить что-то бесплатное и что-то свободное: free beer for free people — бесплатное пиво свободным людям.
Столлман сформулировал концепцию копилефта — термина, альтернативного копирайту или авторскому праву. На базе этой концепции появились лицензии, которые позволяли модифицировать программу или другую работу без разрешения автора. Полученная в результате модификация программа должна распространяться на таких же условиях.
Есть много лицензий, основанных на концепции копилефта. Одна из самых распространённых — GNU General Public License или GNU GPL, созданная Столлманом. Эта лицензия позволяет копировать, модифицировать, свободно распространять программу в любых целях, в том числе, в коммерческих. По лицензии GNU GPL распространяются такие продукты, как WordPress, Ubuntu, Mozilla Firefox (частично) и другие. «Википедия» использует лицензию GNU FDL — дополнение к GNU GPL для свободной документации.
В 1985 году Столлман создал ещё одну некоммерческую организацию — Фонд свободного программного обеспечения (Free Software Foundation). Эта организация постепенно взяла на себя юридические вопросы, связанные с разработкой и распространением свободного ПО. Фонд свободного программного обеспечения владеет авторскими правами на программы GNU, а также следит за актуальностью GNU GPL и аналогичных лицензий.
...и операционная система
«Проект GNU» начал с масштабной задачи — разработки операционной системы GNU. Ричард Столлман хотел создать альтернативу Unix — популярной операционной системе, выпущенной компанией AT&T. Unix была несвободным ПО, так как распространялась по лицензии, в которой были предусмотрены ограничения на распространение и модификацию кода. А в 80-х годах AT&T начали разрабатывать коммерческую версию Unix. RMS считал, что пользователям нужна похожая на Unix операционная система, которая будет распространяться свободно. Так появилась GNU. Это рекурсивное название: GNU is not Unix или GNU — это не Unix.
Волонтёры «Проекта GNU» в течение нескольких лет создали большую часть компонентов операционной системы GNU, включая набор компиляторов GCC, библиотеку glibc, пакет coreutils, Bash, GNU Debugger и другие. Также разработчики GNU Project использовали созданные другими программистами компоненты, которые распространялись на условиях копилефта. Среди них инструменты для создания графического интерфейса X Window System и система для создания типографики TeX.
Официальное ядро операционной системы GNU — GNU Hurd, созданное на базе микроядра Mach, разработанного в Университете Карнеги-Меллона. Разработка этого ядра не была завершена к началу 90-х годов. Поэтому авторы операционной системы GNU использовали созданное Линусом Торвальдсом ядро Linux. С этого времени обобщённое название Linux закрепилось за разными дистрибутивами операционных систем, в которых используется это ядро.
Ричард Столлман и «Проект GNU» подчёркивают, что операционные системы, созданные с использованием ядра Linux и системных компонентов GNU, корректно называть GNU/Linux. RMS даже не даёт интервью изданиям, которые не соглашаются использовать верный по его мнению вариант названия. Столлмана поддерживают создатели некоторых дистрибутивов, например, Debian.
Линус Торвальдс, разработчик Linux, говорит, что создаёт программы, а не занимается политикой, и уклоняется от прямого ответа на вопрос о правильном названии операционной системы. Спор об именовании GNU/Linux — пример холивара, который продолжается много лет.
Дэвид Чисналл, активный участник опенсорс-комьюнити, попытался объективно разобраться в именовании GNU/Linux. Его выводы сформулированы в статье GNU or Linux?, опубликованной в 2009 году. Небольшой спойлер — Дэвид Чисналл старается использовать названия конкретных дистрибутивов, например, Ubuntu. Когда нужно использовать обобщённое название, он предпочитает GNU. В статье Чисналл объясняет свою позицию:
Называть всю операционную систему в честь небольшого компонента, который легко заменить, например, в честь ядра Linux — это одновременно неточность и несправедливость по отношению к разработчикам, которые работали над другими компонентами системы.
Истории разработки GNU/Linux посвящён документальный фильм Revolution OS. На русский язык название фильма обычно переводят как «Революционная ОС», но существует альтернативная версия перевода — «Операционная система грядущей революции».
Узнайте больше об операционных системах У нас есть курс по операционным системам. Зарегистрированные пользователи могут пройти его бесплатно. Другие бесплатные курсы можно найти по ссылке.
Нет у революции конца: общественная деятельность Ричарда Столлмана
Общественная деятельность RMS тесно связана с его работой над GNU и другим свободным ПО. Столлман подаёт пример приверженности идеям свободного программного обеспечения и бескомпромиссно отказывается от использования проприетарного ПО.
Например, Ричард Столлман не пользуется компьютерами с BIOS, так как BIOS — проприетарный продукт. RMS в разное время пользовался лэптопами ThinkPad T400s и ThinkPad X60, в которых вместо BIOS используется Libreboot. Столлман пользуется дистрибутивом GNU/Linux Trisquel, а также gNewSense.
На персональном сайте Ричард Столлман регулярно делится мнением о продуктах в разделе What's bad about — «Что плохого в...». В этом разделе есть информация о Skype, Facebook, Apple, Airbnb, LinkedIn, Twitter, Zoom и других продуктах, которыми Столлман не рекомендует пользоваться. Например, RMS объясняет, почему не стоит пользоваться Facebook. В числе прочего он отмечает, что Facebook запрещает пользователям регистрироваться под псевдонимами, а это нарушает приватность людей.
Столлман борется против нарушения приватности и контроля действий людей с помощью ПО. RMS не пользуется сотовыми телефонами, так как с их помощью легко отслеживать действия и перемещения человека. Также Столлман подчёркивает, что на рынке практически нет сотовых телефонов, которые используют только свободное программное обеспечение. Столлман публично поддерживает Эдварда Сноудена и Джулиана Ассанжа.
Ричард Столлман много путешествует, часто читает лекции, выступает на конференциях и на митингах. Например, в 2008 году RMS был в Москве. На лекции в МГУ он рассказывал о свободном программном обеспечении.
Важный аспект общественной деятельности Ричарда Столлмана — борьба за корректное использование терминологии. Как сказано выше, спор о правильном названии GNU/Linux вошёл в число классических холиваров в мире разработки программного обеспечения. Это не единственный термин, корректность использования которого отстаивает RMS. На личном сайте Столлмана есть разделы Glossary и Anti-Glossary, в которых можно найти определения и объяснения терминов в стиле Столлмана. Например, RMS предлагает называть людей, зарегистрированных в Facebook, термином Useds of Facebook — использованные «Фейсбуком». RMS считает, что эта соцсеть пользуется своими пользователями.
Столлман подчёркивает разницу между терминами «свободное программное обеспечение» и «программное обеспечение с открытым исходным кодом». По его словам, с практической точки зрения все свободные программы попадают под определение open source или ПО с открытым исходным кодом. Большинство опенсорс-программ свободные, хотя есть исключения. По мнению Столлмана, разница между свободным ПО и ПО с открытым исходным кодом находится в философской плоскости. RMS употребляет термин «свободное ПО», так как это учит людей ценить свободу.
Ричард Столлман очень серьёзно относится к своим убеждениям. Но он не лишён чувства юмора. Это подтверждает участие Столлмана в священной войне редакторов Vi(m) против Emacs. Столлман создал пародийное псевдорелигиозное движение — Церковь Emacs (Church of Emacs). RMS окрестил себя St IGNU-cius — «Святым Игнусиосом». Церковь Emacs называет Vi «редактором зверя», так как если трижды написать название редактора, получаются три римские шестёрки подряд — vi vi vi. Также Столлман утверждает, что «использование Vi(m) — не грех, а наказание за грехи». Так он намекает на удобство Emacs и неудобство Vi(m).
Ценители Vi(m) в ответ создали шуточное движение Культ Vi (Cult of vi). Они подчёркивают неудобство Emacs, аргументируя это тем, что необходимость пользоваться комбинациями клавиш в Emacs вызывает у пользователей карпальный туннельный синдром.
Ричард Столлман — атеист. Он популяризирует инициативу празднования Притяжства — праздника в честь Исаака Ньютона, который сформулировал теорию всемирного тяготения. Энтузиасты отмечают этот праздник 25 декабря. Они наряжают деревья яблоками — это отсылка к яблоку, которое упало на Ньютона и помогло ему осознать земное притяжение.
От любви до ненависти, или Яркие личности редко оставляют людей равнодушными
Личность и деятельность Ричарда Столлмана вызывают противоположные реакции и эмоции. Большинство людей из мира информационных технологий отдаёт должное RMS как популяризатору идеи свободного программного обеспечения и создателю свободных программ. Одновременно многие айтишники негативно реагируют на радикализм Столлмана, а также на его экстравагантные поступки.
Как сказано выше, создатель Linux Линус Торвальдс старается не отвечать прямо на вопрос о корректном названии операционной системы GNU/Linux. Также Торвальдсу принадлежит цитата, в которой он, вероятно, намекает на Столлмана:
В мире свободного программного обеспечения есть экстремисты, и в том числе поэтому я не говорю, что создаю свободное программное обеспечение. Я не хочу, чтобы моё имя было связано с людьми, которые допускают ненависть и отчуждение на почве разработки.
Автор подкаста Linux Action Show и игры Linux Tycoon Брайан Ландьюк говорит, что частично негативное отношение к Столлману можно объяснить тем, что его намеренно очерняют корпорации и создатели проприетарного программного обеспечения. Но в то же время Ландьюк отмечает, что иногда RMS делает «хардкорные» заявления, которые вызывают негативную реакцию. Такие заявления, по мнению Ландьюка, сложно оправдать, и они вредят идее свободного программного обеспечения.
В 2019 году Ричард Столлман ушёл с поста руководителя Фонда свободного программного обеспечения после скандала, связанного с его высказываниями в защиту одного из основателей лаборатории искусственного интеллекта MIT Марвина Мински, который оказался замешанным в деле Джеффри Эпштейна. Эти высказывания Столлмана можно считать примером «хардкорных» заявлений, о которых говорит Брайан Ландьюк.
Рассказ об экстравагантности Столлмана будет не полным, если не упомянуть его причуды в быту и повседневной жизни. Например, некоторые из них описывает в своём блоге Джон Грубер, создатель языка разметки Markdown. Судя по этому рассказу, окружающим не просто общаться с Ричардом Столлманом. Как это влияет на идею свободного программного обеспечения? Это открытый вопрос.
Тем не менее благодаря Столлману и при его непосредственном участии появились Emacs, идея свободного программного обеспечения, GNU/Linux, концепция копилефта и GNU GPL и другие важные идеи и продукты. Фактически Столлман показал способ развития индустрии разработки ПО, альтернативный созданному большими корпорациями. Он дал разработчикам и пользователям возможность выбирать, а это и есть свобода.