Читать нас в Telegram
Иллюстрация: Анастасия Феофанова

Что такое open source

Понятия «свободное» и «бесплатное» программное обеспечение — это не синонимы. Один из базовых принципов open source гласит, что пользователь может не только свободно скачивать программу, но также изменять и дорабатывать её. Бесплатная же программа может быть проприетарной, то есть находиться в чьей-то частной собственности и распространяться без исходных кодов.

У философии open source мало общего с пиратством. Те, кто поддерживают движение за свободное программное обеспечение, не посягают на чужую интеллектуальную собственность, уже защищённую авторскими правами, а выступают за отказ от концепции авторских прав как таковой. «Пираты» и сторонники open source могут преследовать общие цели, но там, где первые пытаются в прямом смысле «взломать систему», вторые предлагают менять эту систему в корне.

Также есть разница между «свободным» и «открытым» программным обеспечением. На практике эти понятия разделяют редко и в английском языке обозначают общим free software. Но здесь мы вернёмся к уже упомянутому выше принципу: открытый исходный код может содержать запрет на редактирование (например, если он открыт, но под лицензией, запрещающей редактирование), а свободный можно дорабатывать и изменять. Эта разница всегда была особенно принципиальна для основателя движения Ричарда Столлмана, американского программиста и основателя движения за свободное ПО.

Ричард Столлман

Ричард Столлман. Фото: muycomputer.com

Ричард Столлман против «хищной системы»

Движение за свободное программное обеспечение начало зарождаться в 70-х годах XX века, однако удобной точкой отсчёта можно назвать 1985 год. В это время Ричард Столлман основал Фонд свободного программного обеспечения и описал базовые принципы своей социально-политической философии.

Будущий программист родился в Нью-Йорке 16 марта 1953 года. Свой карьерный путь он начал в компании IBM, где участвовал в разработке языка PL/1. В 1971 году Столлман поступает в Гарвард и параллельно начинает работать в Лаборатории искусственного интеллекта при MIT. Как рассказывает Ричард в документальном фильме Revolution OS, после того, как в университете на компьютеры начали ставить пароли, он предложил своим коллегам отказаться от спущенных сверху правил, на что часть сотрудников согласилась. Уже тогда начала зарождаться антикоммерческая философия Столлмана, который позже скажет: «Несвободные программы — это хищная социальная система, господствующая над людьми, разобщающая их и использующая полученную прибыль для достижения ещё большего господства».

Талисман операционной системы Столлмана

Талисман операционной системы Столлмана — антилопа гну, которая обитает в саваннах Африки. Фото: techtudo.com

В 1983 году Столлман покинул MIT, чтобы целиком посвятить себя разработке GNU. Этот рекурсивный акроним расшифровывается как GNU’s Not UNIX. GNU — операционная система, которая по архитектуре напоминает Unix, но не содержит её кода и, в отличие от своего коммерческого «идейного прародителя», имеет другой юридический статус.

Но один с разработкой GNU Столлман не справился бы. Поэтому тогда же, в начале 80-х гг., он пишет манифест GNU. В нём он призывает программистов помочь ему с разработкой операционной системы, а также просит всех неравнодушных отдавать в дар электронно-вычислительные машины и помогать проекту финансово. В манифесте Столлман приводит ответы на популярные вопросы и возражения: «Не будут ли программисты голодать?», «Может ли программист просить вознаграждение за своё творчество?», «Разве конкуренция — это не двигатель прогресса?» и многие другие. В это же время Столлман создаёт Фонд свободного программного обеспечения — международную некоммерческую организацию, изначально созданную для найма разработчиков. Сейчас Фонд по большей части занимается юридическими и организационными вопросами.

Программист, философ и музыкант

Столлман многими считается «отцом-основателем» движения open source. В этом есть доля правды, ведь именно он сформулировал в своих текстах основные идеи этой социально-политической философии и создал проект GNU, который поддержало огромное число разработчиков. Однако на момент создания движения за свободное программное обеспечение многие уже разделяли подобные идеи и считали, что капиталистическая конкуренция препятствует свободному дружественному обмену информацией. Так что Столлман выступал не столько как идеолог нового движения, сколько просто ретранслировал те настроения, которые уже имели место в среде программистов.

Сегодня Столлман ведёт жизнь странствующего философа и путешествует по миру, пропагандируя идеи свободного ПО. Он принадлежит к музыкальной субкультуре филкеров (Filk music) и выкладывает на сайте GNU собственные песни в этом жанре. Несколько раз Столлман приезжал в Россию: в последний раз это произошло в 2019 году, когда разработчик выступал в Политехническом университете в Москве.

Ричард Столлман в аудитории МГУ

Ричард Столлман в аудитории МГУ с лекцией «Вопросы этики в практике свободного программного обеспечения» (2008). Фото: livejournal.com

А в 2023 году на мероприятии к сорокалетию GNU Столлман сообщил печальное известие о том, что у него диагностирована онкология.

Революция в праве и «копилефт»

Ключевое понятие в разговоре об open source — это лицензия. У каждой программы она своя и содержит ряд правил и ограничений, касающихся распространения, использования и редактирования программы. Так, GNU Ричарда Столлмана распространяется по лицензии GNU General Public License (GPL), которая обеспечивает пользователям четыре базовые свободы: запуск программы с любой целью, изучение её функционала, распространение и улучшение программы.

С GPL тесно связан созданный Столлманом в противовес «копирайту» термин «копилефт». Это лицензия, которая может распространяться не только на компьютерные программы, но также на базы данных и информацию. «Копилефт» гарантирует свободу их изменения без необходимости получать разрешение от владельца авторского права. Если объект авторского права, защищённый «копилефтом», редактируют и дорабатывают, изменённая версия обязана продолжать существование под этой лицензией.

«Копилефт» можно сравнить с вирусом, который «заражает» все последующие версии исходной информации или программы. Это отличается от так называемых пермиссивных лицензий на свободное ПО, которые позволяют накладывать на модифицированную информацию или программу другую лицензию — например коммерческую. Под такими лицензиями существуют родственная Unix операционная система BSD или свободный веб-сервер Apache.

Классификация лицензий Марка Веббинка

Классификация лицензий Марка Веббинка

Таким образом, в некотором смысле «копилефт»-лицензия более запретительная для разработчика, чем пермиссивные лицензии (которые позволяют вам доработать открытый продукт и сделать его закрытым), что и отражено на классификации выше. Но зато «копилефт» обеспечивает большую открытость для всех последующих пользователей всех последующих версий.

Ученик, превзошедший учителя

Самый известный проект в истории open source — это операционная система Linux, разработанная финно-американским программистом Линусом Торвальдсом в начале 1990-х годов. Будучи 12-летним мальчиком, Линус благодаря своему деду занялся программированием, начав писать программы на BASIC и на ассемблере.

В юности Линус познакомился с книгой «Операционные системы: разработка и реализация» Эндрю Таненбаума, известного разработчика и популяризатора программирования, который создал операционную систему Minix. На её основе Линус создал свою полноценную разработку, которая стала распространяться по лицензии GPL. Позже Таненбаум сильно заденет Торвальдса своей критикой Linux, сказав, что если бы Линус был его студентом, он бы не получил положительной оценки за свою работу.

Линус Торвальдс в молодости

Линус Торвальдс в молодости. Фото: zhuanlan.zhihu.com

Тем не менее сегодня Linux — это одна из самых популярных операционных систем, которая имеет множество разновидностей, называемых дистрибутивами. Самые известные — это Ubuntu, Debian, Mint и Fedora (Торвальдс неоднократно признавался, что пользуется именно последним).

Каждый дистрибутив использует ту или иную графическую оболочку (окружение). Наиболее популярные среди них — GNOME, KDE, xfce, Cinnamon и Mate. Почти каждый дистрибутив Linux имеет какую-то свою эстетическую или функциональную особенность. Например, Elementary по дизайну очень напоминает MacOS, а приватный дистрибутив TAILS стал известен благодаря Эдварду Сноудену, который использовал его для передачи журналистам секретных сведений о противоправной деятельности американской разведки.

«Генеалогическое древо» дистрибутивов семейства Ubuntu Linux

Так выглядит «генеалогическое древо» дистрибутивов семейства Ubuntu Linux. Чтобы разместить график со всеми версиями Linux, потребуется отдельная интернет-страница. Фото: commons.wikimedia.org

Талисман Linux, пингвина по имени Tux, придумал американский дизайнер и программист Ларри Юинг. Он использовал свободный растровый редактор GIMP. Идея сделать пингвина талисманом Linux пришла сообществу после того, как Линус Торвальдс обмолвился, что ему нравятся эти животные (по другой версии, талисман предложила жена Линуса). Другой, менее известный талисман Linux, выбранный для версии 2.6.2, — тасманийский дьявол Tuz, нарисованный в свободном векторном редакторе Inkscape. Он был создан в поддержку этих вымирающих животных.

Линус Торвальдс

Линус Торвальдс. Фото: bbc.co.uk

Строго говоря, правильное название проекта должно звучать как GNU/Linux, поскольку Linux – это лишь название ядра. Ядро – это центральная часть операционной системы, но её полноценное функционирование было бы невозможно, если бы не ряд других важных программных компонентов. Именно их и разработал проект GNU, дав жизнь операционной системе, название которой не вполне справедливо упрощается до Linux. Иногда обсуждение названия переходит в заочные споры разработчиков. Так, в интервью 2005 года Столлман заявил: «Сегодня десятки миллионов используют операционную систему, разработанную, чтобы у них была свобода, но они не знают об этом, так как думают, что эта система называется Linux и разработана студентом «ради удовольствия»». Линус Торвальдс ответил на это, что он занимается разработкой программного обеспечения, а не политикой.

Антилопа гну и пингвин Tux — символы GNU и Linux

Надпись на броне антилопы гну и пингвина Tux — аббревиатура названия лицензии General Public License. Фото: gnu.org

Множество интересных фактов о разработке Linux можно найти в книге «Ради удовольствия: рассказ нечаянного революционера», которую Линус Торвальдс выпустил в 2002 году. В ней сформулирован известный принцип, названный программистом Эриком Раймондом «Законом Линуса». Он гласит, что «при достаточном количестве глаз баги выплывают на поверхность». Этот принцип также тесно связан с философией open source, поскольку закрытость исходного кода снижает вероятность того, что ошибки, допущенные небольшой командой программистов, удастся обнаружить.

Эту же тему Эрик Раймонд затрагивает в своём эссе «Собор и Базар» (1999 г.), где он сравнивает два подхода в создании open source проектов. В одном случае во время разработки исходный код доступен лишь ограниченному кругу программистов («соборная модель»). При другом сценарии программа разрабатывается на глазах общественности, и такую модель Раймонд называет «базарной», приводя в качестве примера проект Linux. А ещё на примере этой классификации можно увидеть наглядную разницу между свободными интернет-энциклопедиями. Так, Википедию Раймонд называет «базарным» проектом, а «Нупедия» от тех же создателей, для которой статьи писали эксперты, была «соборной» разработкой.

Open source вокруг нас

В первую очередь термин open source относится к программному обеспечению, которое распространяется под свободными лицензиями. Самые известные примеры — операционные системы GNU/Linux, семейство BSD, Minix и другие. Иногда среди свободного ПО встречаются крайне интересные с культурной точки зрения проекты: например операционная система TempleOS, созданная американским программистом Терри Дэвисом под сильным влиянием христианской эстетики. А самая известная open source разработка, Linux, — это не только операционная система для персональных компьютеров. Она может обеспечивать работу веб-серверов, игровых консолей, суперкомпьютеров, или, например, бортовых компьютеров автомобилей Tesla.

Интерфейс TempleOS

Интерфейс TempleOS. Фото: xakep.ru

Также open source — это разнообразный пользовательский софт: текстовый редактор LibreOffice; растровый и векторный графические редакторы GIMP и Inkscape; веб-браузеры Firefox и Chromium; проигрыватель VLC; архиватор 7-Zip и другие программы, которые часто устанавливаются вместе с Linux (однако при желании их можно использовать на Windows или MacOS). Расхожий формат изображений PNG (ещё один рекурсивный акроним: PNG is Not GIF, хотя официально сейчас — Portable Network Graphics) — это тоже «свободная» разработка, созданная как альтернатива GIF.

К числу open source проектов можно причислить разработки, которыми почти каждый из нас пользуется ежедневно. Скажем, свободная энциклопедия Википедия была создана под началом либертарианца Джимми Уэйлса и существует на гранты и пожертвования. Большая часть текстов и медиафайлов Википедии защищается свободными лицензиями GNU Free Documentation License и Creative Commons Attribution Share-Alike.

Другой пример — мессенджер Telegram, который разрабатывался командой Павла Дурова. Серверная часть Telegram защищается проприетарной лицензией с закрытым исходным кодом, но клиенты распространяются под под лицензией GNU GPL.

Модификации («моды») для компьютерных игр — явление, которое также появилось под влиянием философии open source. Благодаря «модам» умелые игроки восстанавливают вырезанный из игр контент и добавляют собственный, дорабатывают графику и геймплейные механики (зачастую быстрее и лучше, чем оригинальные разработчики), а иногда создают полноценные игры на базе существующих проектов.

Плодами разработчиков свободного ПО часто пользуются большие коммерческие компании. Например веб-браузеры Chrome и «Яндекс браузер» основаны на свободном Chromium, а самая популярная мобильная операционная система Android — это не что иное, как разновидность Linux, которая находится в собственности Google.

Единство теории и практики

Движение за свободное программное обеспечение — это наглядный пример практической социально-политической философии, сторонники которой не просто создают теоретические работы, но и меняют мировое законодательство. Они привлекают сторонников из разных профессий (не только программистов) и влияют на сознание людей, многие из которых не могут представить себе, что продукт интеллектуального труда может быть свободным и некоммерческим.

Философия open source выходит за рамки разработки компьютерных программ и рождает понятие «движение свободной культуры», которое критикует концепцию современного авторского права и выступает за свободный обмен информацией во всех сферах. Самый яркий представитель этой общественной инициативы — американский активист Лоуренс Лессиг, автор книги «Свободная культура» и создатель свободных лицензий Creative Commons.

Лоуренс Лессиг и Джимми Уэйлс, сооснователь «Википедии»

Лоуренс Лессиг и Джимми Уэйлс, сооснователь «Википедии». Фото: flickr.com

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

Источники

  1. Л. Торвальдс. Ради удовольствия: история нечаянного революционера. — Эксмо Пресс, 2002. — 288 с.
  2. Э. Раймонд. Собор и Базар, 1999 [Электронный ресурс]. URL: http://www.lib.ru/LINUXGUIDE/bazar.txt (дата обращения: 01.01.2024).
  3. Р. Столлман. Манифест GNU, 1993.  [Электронный ресурс] URL: http://citforum.ru/operating_systems/articles/manifesto_rus.shtml (дата обращения 01.01.2024).
  4. Р. Столлман. Почему «открытый исходный текст» не передаёт понятия «свободная программа», 2007–2021. [Электронный ресурс] URL: https://www.gnu.org/philosophy/open-source-misses-the-point.html (дата обращения 01.01.2024).
  5. Л. Лессиг. Свободная культура. — М.: Прагматика культуры, 2007. — 272 с.