Как можно быть одновременно лидером влиятельного движения и объектом насмешек? Создавать классные и востребованные продукты и воинственно популяризировать их свободное распространение? Стать легендой в мире информационных технологий и изгоем? Ричард Столлман знает ответы на эти вопросы.
Он подарил миру идею свободного программного обеспечения, но из-за собственной принципиальности оказался её пленником. Его считают одним из самых влиятельных программистов, но за глаза некоторые соратники называют экстремистом и источником ненависти.
Тем не менее Ричард Столлман воплощает целостность и последовательность. Его идеи превращаются в осязаемые плоды, которыми пользуются миллионы людей. Столлман фанатично соблюдает свои принципы и не идёт на компромиссы.
Ричард Столлман посвятил жизнь борьбе за свободу. Его деятельность повлияла и продолжает влиять на сферу разработки программного обеспечения в частности и информационных технологий в целом.
Лисп-машины, Emacs: начало большого пути
Ричард Столлман учился в Гарвардском университете, который окончил в 1974 году и получил степень бакалавра в области физики. С 1971 года первокурсник Гарварда работал программистом в лаборатории искусственного интеллекта Массачусетского технологического института (MIT). В это время Столлман вступил в сообщество хакеров, где общался под ником RMS — Richard Matthew Stallman.
«Ричард Столлман — моё имя для непосвящённых. Зовите меня RMS», — так хакер написал в одной из работ.
В лаборатории искусственного интеллекта MIT Столлман участвовал в разных проектах. Некоторые из них без преувеличения можно назвать революционными в контексте их влияние на сферу информационных технологий.
Примечание — В 70-е годы хакерами называли людей, которые увлекались компьютерами, старались глубоко изучать компьютерные программы и совершенствовать их. Только через несколько десятилетий термин «хакер» стал употребляться по отношению к людям, которые взламывают системы безопасности.
Лисп-машина
Столлман участвовал в работе над знаменитой Лисп-машиной. Так называют компьютеры, созданные для эффективной работы с семейством языков программирования Лисп.
Лисп-машины считаются первыми коммерческими персональными рабочими станциями. С помощью этих компьютеров были созданы многие популярные и коммерчески успешные технологии и устройства, в том числе компьютерная мышь, лазерная печать, сборщики мусора, растровая графика.
TECO
В MIT Столлман работал над текстовыми редакторами TECO и Emacs.
Сотрудники MIT начали разрабатывать TECO ещё в начале 60-х годов. Название редактора — акроним Tape Editor and Corrector, позднее Text Editor and Corrector. В редакторе TECO использовался интерпретируемый язык программирования TECO.
В TECO есть режимы для ввода, редактирования и чтения текста. То есть человек мог просмотреть текст в режиме чтения, но должен был переключить редактор в режим ввода, чтобы что-то напечатать. В режиме ввода существующий текст не отображался на экране.
Ричард Столлман и Карл Миккельсен реализовали в TECO гибридный режим, в котором текст на экране обновлялся после каждого нажатия клавиши. Фактически это стало первым шагом к внедрению в TECO системы WYSIWYG, которая используется в современных редакторах. Ради справедливости нужно отметить, что Столлман взял идею гибридного режима редактирования из редактора E, который использовался в лаборатории искусственного интеллекта Стэнфордского университета.
Акроним WYSIWYG расшифровывается так: What You See Is What You Get (что видите, то и получите). WYSIWYG обеспечивает интерфейс, в котором контент в режиме редактирования идентичен или максимально приближен к итоговому варианту.
Столлман реализовал в TECO возможность читать, редактировать и записывать целый файл как один большой буфер памяти. Этот подход применяется в большинстве современных текстовых редакторов.
Свободное программное обеспечение и 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 — бесплатное пиво свободным людям.
Столлман сформулировал концепцию копилефта — альтернативы копирайту или авторскому праву. На базе этой концепции появились лицензии, которые позволяли модифицировать программу или другую работу без разрешения автора. Полученная в результате модификация программа должна распространяться на таких же условиях.
В 1985 году Столлман создал ещё одну некоммерческую организацию — Фонд свободного программного обеспечения (Free Software Foundation). Эта организация постепенно взяла на себя юридические вопросы, связанные с разработкой и распространением свободного ПО. Фонд свободного программного обеспечения владеет авторскими правами на программы GNU, а также следит за актуальностью GNU GPL и аналогичных лицензий.
...и операционная система
«Проект GNU» начал с масштабной задачи — разработки операционной системы GNU. Ричард Столлман хотел создать альтернативу Unix — популярной операционной системе, выпущенной компанией AT&T. Unix была несвободным ПО, так как распространялась по лицензии, в которой были предусмотрены ограничения на распространение и модификацию кода. А в 80-х годах AT&T начали разрабатывать коммерческую версию Unix. RMS считал, что пользователям нужна похожая на Unix операционная система, которая будет распространяться свободно. Так появилась GNU.
Волонтёры «Проекта 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 — пример холивара, который продолжается много лет.
***
Начните погружение в мир IT с бесплатных курсов на Хекслете. Например, по операционным системам, основам разных языков программирования, трудоустройство разработчиков и Git. Заходите и выбирайте.
***
Нет у революции конца: общественная деятельность Ричарда Столлмана
Общественная деятельность 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 и других продуктах, которыми Столлман не рекомендует пользоваться. Например, он объясняет, почему не стоит пользоваться 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 Линусу Торвальдсу принадлежит цитата, в которой он, вероятно, намекает на Столлмана:
В мире свободного программного обеспечения есть экстремисты, и в том числе поэтому я не говорю, что создаю свободное программное обеспечение. Я не хочу, чтобы моё имя было связано с людьми, которые допускают ненависть и отчуждение на почве разработки.
Автор подкаста Linux Action Show и игры Linux Tycoon Брайан Ландьюк говорит, что частично негативное отношение к Столлману можно объяснить тем, что его намеренно очерняют корпорации и создатели проприетарного программного обеспечения. Но в то же время Ландьюк отмечает, что иногда RMS делает «хардкорные» заявления, которые вызывают негативную реакцию. Такие заявления, по мнению Ландьюка, сложно оправдать, и они вредят идее свободного программного обеспечения.
В 2019 году Ричард Столлман ушёл с поста руководителя Фонда свободного программного обеспечения после скандала, связанного с его высказываниями в защиту одного из основателей лаборатории искусственного интеллекта MIT Марвина Мински, который оказался замешанным в деле Джеффри Эпштейна. Эти высказывания Столлмана можно считать примером «хардкорных» заявлений, о которых говорит Брайан Ландьюк.
Тем не менее благодаря Столлману и при его непосредственном участии появились Emacs, идея свободного программного обеспечения, GNU/Linux, концепция копилефта и GNU GPL и другие важные идеи и продукты. Фактически Столлман показал способ развития индустрии разработки ПО, альтернативный созданному большими корпорациями. Он дал разработчикам и пользователям возможность выбирать, а это и есть свобода.