GNU свою линию: Free Software Foundation vs Open Source Initiative
Сторонники свободного ПО и Open Source хотят изменить мир к лучшему, но не могут договориться о способах. История двадцатилетнего противостояния.
Иллюстрация: Wikimedia Commons / Freesoftwaremagazine / Annie для Skillbox Media
«Тру хакеры» — те самые, что стояли у истоков IT, — были идейными людьми и сформировали уникальную культуру. Их идеалы свободы и принципы сотрудничества легли в основу движений Free Software Foundation и Open Source Initiative.
Несмотря на общие цели, представители организаций не могут договориться уже более 20 лет. И с каждым годом конфликт между ними разгорается всё сильнее.
Идеалисты: свобода превыше всего
В 1983 году американский программист и активист Ричард Столлман, в сети известный как RMS, запустил GNU Project. Масштабный проект должен было вернуть пользователям свободу и контроль над программным обеспечением.
В 1985 году Ричард создал Фонд свободного ПО (Free Software Foundation, FSF). Эта некоммерческая организация поддерживает разработчиков свободного ПО, спонсирует проект GNU и владеет правами на большую часть свободных программ и следит за их соблюдением.
Понимая, что полная свобода невозможна без свободной операционной системы, Столлман назвал её создание «главной целью GNU». Кстати, GNU — это рекурсивный акроним, который означает «GNU is not Unix!» («GNU — это не Unix»). Таким образом, будущая свободная система противопоставлялась несвободной Unix.
Однако в 1991 году Линус Торвальдс представил ядро Linux, разработанное отдельно от GNU Project. А в следующем году выпустил его под GNU General Public License. Соглашение гарантировало пользователям «четыре свободы», которые Столлман сформулировал в 1985 году в Манифесте GNU:
0. Запускать программу по своему желанию и с любой целью.
1. Изучать и изменять её исходный код.
2. Распространять точные копии программы.
3. Распространять её модифицированные версии.
Пользователь может и вовсе удалить часть программы. А если таких свобод у него нет, значит, он не контролирует программу. В таком случае её контролирует разработчик, который может с помощью софта влиять на пользователей. Именно такие программы Столлман и его последователи называют несвободными.
С появлением Linux главная цель GNU была достигнута, и частники проекта переключились на разработку других свободных программ и общественную деятельность. Один из самых популярных продуктов GNU — легендарный текстовый редактор GNU Emacs, написанный Столлманом на C и Emacs Lisp.
Свобода слова, а не бесплатное пиво
«Свободное ПО» на английском звучит как free software. Слово free можно перевести и как «свободное», и как «бесплатное», но в случае с free software акцент ставится именно на свободе, а не на стоимости. Столлман приводит следующий пример, чтобы объяснить разницу:
«Чтобы верно воспринимать эту концепцию, вы должны понимать слово „свободный“ в том смысле, который заключается в выражении „свобода слова“, а не „бесплатное пиво“».
Другими словами, свободное ПО может быть платным, но у пользователя всегда остаётся право его копировать, модифицировать и даже продавать копии. Иногда вместо (или вместе с) free используют слово libre, чтобы подчеркнуть, что речь идёт о свободе. Так появилась аббревиатура FLOSS (Free/Libre and Open-Source Software). К слову, бесплатное ПО (freeware) часто бывает несвободным и может распространяться с закрытым исходным кодом.
Более того, сторонники свободного ПО настаивают на важности коммерческой разработки и платного распространения ПО. Иначе свободное ПО просто не попадёт в руки пользователей, а разработчикам будет не на что его создавать. Об этом говорит и сам Столлман:
«Это (коммерческая разработка. — Ред.) позволит избежать затратного и бессмысленного дублирования усилий. Вместо этого программисты смогут заняться развитием технологий».
Многие свободные программы распространяются по принципу копилефта («авторского лева»): передавая программу, вы не можете ограничивать базовые свободы пользователей. По этой причине различные версии GPL несовместимы со многими другими лицензиями — каждая из них так или иначе нарушает свободу пользователей.
Open Source — шанс, которого ждали 20 лет
3 февраля 1998 года соосновательница аналитического центра Foresight Institute Кристин Петерсон придумала термин «открытый исходный код» (open source). К тому времени свободным ПО интересовались не только бородатые хакеры, но и менее «маргинальная» публика. Однако термин «свободное ПО» вводил неискушённых пользователей в заблуждение: они думали, что речь идёт о «бесплатном пиве».
«На этом этапе разговор о ПО сводился к обсуждению цен на алкогольные напитки».
Кристин Петерсон,
соосновательница Foresight Institute
Кристин стала перебирать альтернативные варианты и не придумала ничего лучше «программного обеспечения с открытым исходным кодом» (open source software). 5 февраля Петерсон встретилась с единомышленниками. Среди них был Эрик Реймонд (известный как ESR) — знаменитый американский хакер, автор трилогии «Собор и Базар», редактор и хранитель «Файла жаргона»; программист Тодд Андерсон и другие хакеры старой закалки.
Петерсон предварительно обсудила новый термин с Андерсоном, но тот, вместо того чтобы сразу поделиться им с остальными, поступил хитрее. Во время отвлечённого разговора он, как бы невзначай, вбросил словосочетание open source.
«Через несколько минут один из присутствовавших, продолжая рассуждать о чём-то, повторил словосочетание open source, сам того не заметив. Тодд и я переглянулись: да, мы оба заметили, что произошло».
Кристин Петерсон,
соосновательница Foresight Institute
В конце встречи вопрос о принятии нового термина подняли официально. Участники сначала предлагали свои варианты: «свободно распространяемое» (freely distributable), «совместно разработанное» (cooperatively developed), «свободное ПО» (free software), «ПО с открытым исходным кодом» (open source) и «исходный продукт» (sourceware). Тодд агитировал за open source, его поддержал Эрик Реймонд, а остальные согласились.
Вскоре Кристин и её коллеги зарегистрировали сайт opensource.org, а через пару недель термин уже использовали O’Reilly & Associates и Netscape.
Незадолго до этой исторической встречи Netscape объявила, что выложит исходники своего браузера в сеть. Петерсон, Реймонд и их товарищи были уверены: настал подходящий момент, чтобы привлечь внимание корпораций к разработке свободного софта. Как сказал Эрик Реймонд в интервью журналу Salon, этого момента хакерская культура ждала 20 лет:
«Я сразу понял — это мегавозможность. Все 20 лет, которые я посвятил Unix и GNU, начиная со времён, когда интернет состоял из 500 никому не известных инженеров, у нас был отличный способ писать программы и обмениваться результатами работы. Но нас никто не слушал. Решение Netscape позволило нам донести своё послание до корпоративных кабинетов».
Благодаря Реймонду понятие «открытый исходный код» быстро попало в медиапространство и ушло в массы. В 1998 году он вместе с Брюсом Перенсом, программистом и сторонником свободного ПО, основал Инициативу открытого исходного кода (Open Source Initiative, OSI).
В том же году Брюс опубликовал определение открытого исходного кода (Open Source Definition). Документ определяет, какое ПО можно маркировать сертификационным знаком опенсорса, и постулирует 10 принципов:
- Свободное распространение. Программное обеспечение можно распространять бесплатно или продавать.
- Доступ к исходному коду. Исходный код должен прилагаться к копии программы или находиться в свободном доступе.
- Свобода модификации. Лицензия должна разрешать модифицировать программу и распространять модифицированные версии.
- Целостность исходного кода автора. Лицензии могут потребовать внесения изменений, которые будут распространяться только в виде патчей.
- Никакой дискриминации отдельных лиц или групп. Все пользователи софта наделяются равными правами.
- Никакой дискриминации бизнеса. Корпоративные пользователи не могут быть лишены права использовать программу.
- Распространение прав. Пользователи наделяются правами, изложенными в лицензии, автоматически при получении ПО.
- Лицензия не должна быть специфичной для конкретного продукта. Программа не может быть лицензирована только как часть более крупного дистрибутива.
- Лицензия не должна ограничивать другое программное обеспечение. Нельзя требовать, чтобы ПО, распространяемое вместе с опенсорсным, также имело открытый исходный код.
- Лицензия должна быть технологически нейтральной. Нельзя требовать от пользователя принять условия щелчком мыши или иным образом, специфичным для носителя программного обеспечения.
Особого внимания заслуживает девятый пункт: он наглядно показывает разницу между свободным ПО и опенсорсом.
Даже «хорошие» программы могут быть плохими
Поначалу, когда Кристин только придумала термин «опенсорс», Ричард Столлман взял его на вооружение, но вскоре отказался. Выяснилось, что Open Source имел мало общего с Free Software. Если Open Source был подходом к разработке, то идеи Столлмана затрагивали политику и социальную сферу. Поэтому на сайте gnu.org «open» находится в списке слов, употребления которых следует избегать.
Между сторонниками свободного ПО и опенсорса наметился идеологический раскол. По мнению Реймонда, идеология, которой придерживались сторонники FSF, лишь мешала распространению свободного софта. Он объяснял ситуацию так:
«Никто не знал, как интерпретировать слово „free“. Всё это (движение. — Ред.) было завязано на идеологии сумасшедшего парня из Бостона — Ричарда Столлмана. Наши же аргументы основывались на экономике, развитии и ожидаемой отдаче. Мы не хотели бросаться на баррикады, как коммунисты. Это проигрышная стратегия».
В отличие от сторонников свободного ПО, для которых на первом месте были права и свободы, лидеры движения Open Source сфокусировались на более насущных проблемах. Например, Эрик Реймонд считал, что ненадёжное ПО приносит куда больше вреда, чем «несвободное»:
«Главной проблемой в разработке ПО всегда была надёжность. Надёжность у нас в целом — дерьмо».
Чтобы программа была надёжной, нужно предоставить экспертам доступ к её исходному коду. Тогда они смогут его оценить, выявить проблемные места и исправить ошибки.
«Четыре столпа интернета — Bind, Perl, Sendmail и Apache — имеют открытые исходники, и каждый из них супернадёжен. Интернет бы просто не работал, если бы было иначе. И они супернадёжны именно потому, что люди смотрели в исходники, находили косяки и исправляли их».
Эрик Реймонд,
сооснователь Open Source Initiative
А вот адепты Free Software во главу угла ставят идеологию. Паоло Колонелло, создатель блог-платформы Bligoo, так объясняет разницу между движениями:
«Сторонник свободного ПО, глядя на Windows, скажет: „Эта программа аморальна, потому что мы не можем посмотреть на её исходный код и узнать, что она делает с компьютером“. А сторонник опенсорса скажет: „Это ПО низкого качества, потому что в его разработке участвовало мало людей и его развитие зависит от одной компании (Microsoft)“».
Брюс Перенс объяснил разницу ещё проще:
«Ричард (Столлман. — Ред.) считает, что всё программное обеспечение должно быть свободным, а я думаю, что свободное и несвободное ПО могут сосуществовать. Это единственное различие между нами».
На практике это означает, что ряд «свободных» лицензий требует, чтобы любые результаты использования свободного ПО соответствовали исходной лицензии. Некоторые называют это «принуждением к свободе». Правда, со временем подход Столлмана эволюционировал и появились более «мягкие» варианты лицензий. Например, GNU LGPL обязывает предоставить исходный код только свободной библиотеки, а проприетарная часть может остаться скрытой. Опенсорс-лицензии изначально были гибче и не запрещали использовать программы с открытыми исходниками вместе с закрытым ПО.
Ричард Столлман посвятил не одну статью разъяснению принципиальных отличий между FSF и OSI.
«Free Software Foundation выступает за свободу и справедливость. А в основе идей Open Source Initiative лежит практичность — о принципах речи не идёт. Вот почему мы не согласны с ними и не используем их термин „опенсорс“».
Ричард Столлман,
основатель Free Software Foundation
Свобода важна для всего общества, потому что упрощает обмен идеями и сотрудничество. А поскольку роль электронных устройств с каждым днём растёт, свободное ПО становится важным для свободы вообще. Столлман критикует сторонников опенсорса за их прагматизм. Если Реймонд ухватился за Netscape, чтобы убедить бизнес-сообщество в важности опенсорса, то Столлману интересно совсем не это:
«Одни сторонники опенсорса использовали этот термин в „рекламной кампании за свободное ПО“, которая привлекла внимание предпринимателей, сулила практические выгоды и в то же время не затрагивала вопросов добра и зла, о которых бизнесмены не стали бы слушать. Другие сторонники просто отвергали этические и социальные ценности Free Software».
Ричард Столлман,
основатель Free Software Foundation
Если брать за основу качество программы и её надёжность, то сторонник опенсорса может пользоваться проприетарной программой — если она хорошо сделана. Но для активиста FSF это неприемлемо.
«Надёжная программа может быть плохой».
Ричард Столлман,
основатель Free Software Foundation
Такая программа лишает пользователя свободы, а если она полезная и качественная, то закабалит его ещё сильнее.
#ОтменитьСтоллмана, #ЗабанитьРеймонда
Борьба за свободу и открытый исходный ход осложнялась внутренними противоречиями и скандалами в обоих лагерях. В 2020 году из-за разногласий по поводу лицензий OSI покинул один из её основателей — Брюс Перенс. Дело в том, что OSI и FSF разработали массу лицензий, и их обилие иногда усложняет работу даже самих организаций. Перенс так прокомментировал причину ухода:
«Мы создали „вавилонскую башню“ лицензий, но не проработали критерии соответствия лицензионным требованиям. Теперь у нас с этим огромная проблема, которая не решается. Мы не можем судиться с нарушителями копирайта».
Другими словами, проблема в том, что нет чётких критериев, где можно использовать проприетарное ПО, а где нельзя. В лицензиях есть правовые лазейки, которыми пользуются недобросовестные пользователи.
В том же 2020 году сооснователя OSI Эрика Реймонда забанили в двух списках рассылки организации за сообщения, нарушившие правила поведения. Реймонд в ответ даже создал страничку The right to be rude («Право быть грубым»), где обвинил OSI в бюрократизации и ущемлении свобод.
Куда более серьёзный скандал произошёл с Ричардом Столлманом. Его обвинили в женоненавистничестве, оправдании сексуального насилия над несовершеннолетними, трансфобии и эйблизме — негативном отношении к инвалидам. В доказательство последнего, приводят следующую его фразу: «Если у плода синдром Дауна, вы должны сделать аборт и попробовать ещё раз».
Началось всё в 2019 году из-за высказываний Столлмана о деятельности американского миллиардера Джеффри Эпштейна, которого обвинили в торговле девушками (в том числе несовершеннолетними). В публичной переписке Столлман высказал мнение, что девушек не принуждали к сексу, а они сами этого хотели.
В первые же дни после заявления в прессе поднялась волна возмущения. Столлман поспешил признать, что был неправ и его не так поняли. Но было уже поздно. RMS оставил пост президента фонда и ушёл из Массачусетского технологического института, где он читал лекции.
В 2021 году, когда страсти, казалось бы, улеглись, Столлмана вернули в совет директоров FSF — в конце концов, он же его создал. В ответ на это в Сети опубликовали открытое письмо с призывом лишить Столлмана всех руководящих позиций. Его подписали более 3 тысяч человек. Среди них оказались лидеры Open Source Initiative, глава GNOME Foundation Нил Макговерн и другие. Проект Fedora разорвал отношения с фондом, а Red Hat объявила о прекращении финансирования. К санкциям присоединились EFF, Mozilla, Tor Project и многие другие.
В то же время несогласные с травлей известного борца за свободу опубликовали открытое письмо в поддержку Столлмана, которое подписали почти 7 тысяч человек. Защитники RMS подробно разобрали каждый пункт обвинения и объяснили их несостоятельность. Некоторые даже усмотрели в этом попытку расправиться с движением за свободное ПО. И тут противостояние OSI и FSF вышло на новый уровень.
В защиту RMS выступила Лия Роу, автор и ведущий разработчик дистрибутива Libreboot. Помимо прочего, она прошлась по главным критикам Столлмана:
Борьба продолжается
На данный момент очевидны несколько важных вещей. Несмотря на идеологические разногласия, попытки «отмены» ключевых персонажей и другие проблемы, FSF и OSI ведут активную деятельность.
Вряд ли стоит ожидать, что все производители ПО «покаются» и сделают свои продукты свободными или выложат их исходники. Но борцы за свободу достигли немалых успехов. Если приглядеться, то окажется, что опенсорс повсюду: в Wi-Fi-роутерах, автомобилях, веб-серверах, банковском ПО, аэропортах и больницах, суперкомпьютерах и много где ещё.
А вот бесплатное пиво всё ещё большая редкость :)