Код
#Мнения

Ричард Столлман: свободное программное обеспечение и стандартная общественная лицензия GNU

Ричард Столлман рассказал о движении за свободное ПО, стандартную общественную лицензию GNU и об изменениях в GNU GPL 3.

Иллюстрация: Apple, Linux, GNU, Jardoan / WikiMedia / Colowgee для Skillbox Media

Ричард Столлман — основатель Фонда свободного программного обеспечения, руководитель разработки операционной системы GNU. В сентябре 2021 года на OSDNConf он рассказал, почему свобода ПО — это важно, какие четыре свободы нужны всем программам и почему он сам не пользуется смартфонами и расплачивается только наличными. Ниже — пересказ его выступления от первого лица.

Я здесь для того, чтобы поговорить о свободном программном обеспечении и новой версии GPL. Свободное программное обеспечение — это первая битва за освобождение киберпространства.

Ричард Столлман на конференции TED
Скриншот: Skillbox Media

Как вы думаете, кто управляет вашим компьютером — вы или какая-то корпорация? Вы скажете, что это ваш компьютер и вы можете делать с ним что хотите. Но не всё так просто. Компьютер — это универсальная машина, которая выполняет команды. Но кто управляет компьютером? Программа, написанная корпорацией. А вас компьютер слушается ровно настолько, насколько позволяет эта программа.

Но чтобы пользователи могли контролировать программу, им нужно свободное программное обеспечение, уважающее человека и общество.

Четыре свободы программного обеспечения

Свобода ПО не означает, что оно должно быть бесплатным. Пользователям нужны четыре основные свободы:

  • Свобода №0. Возможность запускать программу так, как вам нужно, — с любой целью.
  • Свобода №1. Возможность изучать исходный код программы и изменять его так, чтобы программа выполняла те действия, которые нужны вам. Исходным мы называем код, который программисты пишут и изменяют. Но также есть исполняемый файл, предназначенный для машины — это набор символов, который даже программист не может понять. Как правило, его и предоставляют пользователям. Поэтому, чтобы дать реальную возможность изучать и изменять программу, компания должна предоставить вам исходный код.

Имея эти две свободы, каждый пользователь по отдельности может сделать копию программы и изменить её, чтобы заставить делать то, что ему нужно. Это индивидуальный контроль.

Но пользователь-непрограммист не сможет самостоятельно доработать исходный код. Для этого понадобится группа пользователей, среди которых есть программисты.

А это уже коллективный контроль. Он требует ещё двух свобод:

  • Свобода №2. Пользователь может делать точные копии программ и распространять или продавать их, когда захочет.
  • Свобода №3. То же самое, только для модифицированных версий ПО. Вы можете копировать их, а затем дарить и продавать, когда пожелаете.

Если есть эти четыре свободы, то пользователи управляют программой. Но если какая-то из свобод отсутствует, то программа контролирует пользователей, а её, в свою очередь, контролирует разработчик. А значит, программа становится инструментом несправедливой власти разработчика над пользователем.

В чём опасность несвободного ПО

Что происходит, когда у вас установлено проприетарное ПО?

  • Программы могут шпионить за пользователями и передавать данные о них третьим лицам.
  • Программы могут мешать пользователям выполнять те операции, которые они хотят выполнить, — например, наш общий враг Blu-ray.
  • Проприетарная программа может удалить нужный вам контент — как это сделал Amazon с книгами Оруэлла.
Amazon удалил книгу Оруэлла «1984» c компьютеров пользователей
Скриншот: Skillbox Media
  • Иногда компания-разработчик заставляет пользователя устанавливать на компьютер вредоносное обновление, угрожая удалить другие функции, как это делала, например, Sony.
  • Компании могут принудительно изменять программное обеспечение удалённо, как Microsoft может сделать это с Windows через свой универсальный бэкдор.
Microsoft может принудительно изменить Windows через бэкдор
Скриншот: Skillbox Media
  • Проприетарные программы помогают атаковать компьютеры пользователей, как это делает Microsoft, когда сообщает NSA об ошибках Windows.
Microsoft помогает NSA запускать жучков в компьютеры пользователей
Скриншот: Skillbox Media

Владельцы ПО контролируют пользователей и внедряют различные вредоносные функции, чтобы навредить им. Они делают это не из склонности к садизму, а исключительно из-за жадности. И у них есть куча способов извлечь выгоду из такой власти. Но им не стыдно за это: они даже собираются на конференции и обсуждают новейшие способы получения прибыли с помощью власти над пользователями.

Проприетарное программное обеспечение, которое сегодня установлено почти у всех пользователей, — это ПО для простаков. Как вы можете перестать быть жертвами корпораций? Раньше у вас был только один выход — не пользоваться компьютером и интернетом. Сейчас вы можете присоединиться к нам — к тому свободному миру, который мы построили.

Свободная операционная система GNU/Linux

В 1983 году я объявил, что разработаю полностью свободную операционную систему под названием GNU. В 1992 году мы почти закончили её, но не хватало ядра. Тогда мы взяли ядро, разработанное Линусом Торвальдсом, и получили полную операционную систему GNU/Linux.

Существует больше тысячи вариантов (дистрибутивов) GNU/Linux. Некоторые из них — полностью свободные программы. Но в большинство добавлено проприетарное ПО, потому что они поддерживаются людьми, которые свободе предпочли удобство. Поэтому, если вы хотите избавиться от контроля, проверяйте, какой дистрибутив полностью свободный.

Иногда требуется жертва, чтобы сохранить свободу. Например, вам нужны какие-то приложения, но они не свободны — лучше откажитесь от них, даже если вам придётся испытать некоторые неудобства.

Многие браузеры отправляют пользователям проприетарные программы, написанные на JavaScript. Если вы не хотите их запускать, установите Libra.js, которая будет их блокировать.

Иногда серверы могут предложить выполнять вычисления: мол, пришлите нам ваши данные, а мы вышлем вам результаты. Очевидно, что это рассчитано на простаков, ведь вы не видите, что происходит в облаке. Эта услуга лишает вас контроля над вычислениями.

Большая часть мировых веб-серверов работает под управлением GNU/Linux и другого свободного ПО. Это хорошо, но я считаю, что самые важные компьютеры, которым нужно дать свободу, — это ваши компьютеры.

Что препятствует свободному ПО

Свободы нужно добиваться, преодолевая препятствия. Главное из них — это крупные компании, которые зарабатывают много денег, контролируя пользователей. Они не хотят терять свои доходы, но мы должны преодолеть их сопротивление.

Корпорации держат пользователей за горло
Скриншот: Skillbox Media

Другое препятствие — средства массовой информации, которые не говорят о свободном ПО. У них есть другой термин — открытое программное обеспечение. СМИ используют его, чтобы замалчивать этические проблемы.

Свободное и открытое программное обеспечение — это внешне похожие движения, но базируются они на разных идеях. Активисты свободного программного обеспечения требуют свободы для пользователей. А сторонники открытого ПО говорят: «Просто дадим пользователям доступ к исходному коду, чтобы те могли проверять его, улучшать и искать ошибки». Но это менее важная проблема. Если мы хотим сохранить свободу, мы должны говорить именно о ней.

Активисты свободного ПО: «Мы требуем свободы», бустеры Open Source: «Мы хотим улучшить качество»
Скриншот: Skillbox Media

Ещё одно препятствие заключается в том, что во многих школах учат пользоваться проприетарным программным обеспечением. На мой взгляд, это похоже на обучение детей курению — когда навязывают нехорошую зависимость.

Проприетарное ПО насаждает зависимость подобно курению табака
Скриншот: Skillbox Media

Изучение проприетарного ПО противоречит главной обязанности школы — воспитывать сильных и независимых граждан. А это может дать лишь преподавание свободного программного обеспечения.

Есть ещё одна причина изучать свободное ПО в школах: некоторые дети хотят стать программистами, и им интересно знать, как работает программа. Эти знания доступны для тех, кто изучает свободное ПО. Те, кто изучает проприетарную программу, ничему не научатся, потому что знания скрыты от учеников. Поэтому, чтобы поддержать дух образования, в школах должны использоваться только свободные программы.

Изучение проприетарного ПО: ученик ничего не видит. Изучение свободного ПО: ученик видит код программы
Скриншот: Skillbox Media

Школы должны воспитывать дух доброй воли, привычку помогать людям. Если вы принесли программу в класс, то должны поделиться ею с другими, чтобы все могли учиться. Проприетарное ПО может попадать в класс лишь в качестве тренажёра для обучения обратной разработке (процессу, когда по уже работающей программе вы пытаетесь восстановить исходный код, который за ней стоит).

Добавляет проблем и оборудование, для которого мы не можем написать свободное ПО, так как производители не говорят, как им пользоваться. Это шокирует.

Надпись на руководстве пользователя: «Мы ничего вам не скажем»
Скриншот: Skillbox Media

Вам как бы говорят: «Вот несвободная программа, установите её и не беспокойте нас». А как управлять этим оборудованием, умалчивают. Лучшее, что можно сделать в таком случае, — разобраться в алгоритме проприетарной программы с помощью обратного проектирования и написать свободное ПО для этого оборудования.

Как защищать свободу ПО

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

Как это сделать?

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

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

Лицензирование свободного ПО

На это выступление мне выделили всего 14 минут. У меня не было времени на то, чтобы объяснить всё это более подробно. Но оно даёт вам основную идею и позволяет перейти к лицензированию свободного программного обеспечения.

Зачем свободным программам ещё и лицензия? Затем, что она делает их свободными. В условиях войны за авторское право всё, что написано, включая программное обеспечение, защищается авторским правом. И это очень плохая система.

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

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

Может возникнуть ситуация, когда какие-то люди захотят подчинить себе других и внесут в свободную программу какие-то изменения, после чего станут продавать её как проприетарную. Эта мысль возникла у меня ещё в 1984 году — и такой исход стал бы провалом.

Поэтому я придумал способ не допустить этого. Он называется «копилефт» и состоит в том, что в условия использования программы кроме четырёх свобод включается ещё одно: вам не разрешается отнимать у кого бы то ни было эти свободы.

Этот способ уточняет свободы номер два и номер три, которые предполагают распространение точных либо изменённых копий: если вы распространяете эту программу, то распространяйте её под той же лицензией.

То есть люди, которые получают копии от вас, должны получить те же свободы. И когда они передают их другим, то должны передавать те же свободы. Так что, куда бы ни направлялось программное обеспечение, свободы идут вместе с ним. В этом и заключается идея копилефта — освободить весь мир.

Какие версии лицензий ПО существуют

Сначала я написал текст лицензии для своего редактора Emacs. Но нужна была общественная лицензия, подходящая для любого ПО. И в 1989 году я разработал GNU General Public License (GPL). Разработчикам не разрешалось менять её текст, но это и не было нужно — достаточно поместить файл с лицензией в программу.

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

В 1991 году мне пришлось создать вторую версию GPL. Главное отличие заключалось в том, что свободные библиотеки теперь разрешалось использовать в проприетарном ПО. Мы пошли на этот шаг потому, что свободная операционная система, которую мы создавали, ещё не была готова. Разработчикам свободного программного обеспечения приходилось работать на проприетарных Unix-системах, на которых часто не было компилятора C и библиотек. Их нужно было покупать отдельно, и поэтому мы разрешили использовать разработанные нами свободные библиотеки C в проприетарных системах Unix.

В 1992 году Линус Торвальдс освободил Linux, и мы смогли наконец использовать его ядро для своей операционной системы. Мы создали свободную ОС GNU/Linux и перестали использовать несвободные Unix.

Какие изменения внесены в GPLv3

Сначала GPL 2 работала хорошо, но со временем у неё появились недостатки. Так, в конце 1990-х был изобретён BitTorrent. Он предоставлял пользователям удобный способ распространять большие файлы, такие, как целые дистрибутивы GNU/Linux. Но, согласно GPL, если вы распространяете двоичный код, то должны определённым способом отдавать исходный код, иначе свобода номер один будет потеряна. А это потребует дополнительных ресурсов.

Чтобы избежать нарушений, нам пришлось разработать GPL 3. В ней говорится, что распространять GPL-софт через торрент-трекеры теперь можно даже без предоставления исходного кода — достаточно просто оставить ссылку на общедоступный сервер, где этот код выложен. А для тех, кто скачивает торрент, нет никаких ограничений.

Были внесены и другие изменения. Так, мы поговорили с юристами и позаботились о том, чтобы GPL можно было использовать не только в США, но и в других странах.

Ещё мы попытались пресечь такое отвратительное явление, как тивоизация. Оно используется для того, чтобы сделать бесплатное программное обеспечение недоступным для изменения на некоторых устройствах.

Тивоизация началась с видеоплеера TiVo с установленной Linux. Исходный код ПО был доступен, его можно было изменять, но после обратной загрузки новая версия не работала — её блокировал встроенный DRM. Софт мог запустить только обладатель секретного ключа, то есть производитель, а пользователь — нет. Поэтому мы внесли в GPL 3 пункт: вместе с исходным кодом производитель обязан предоставлять все используемые ключи, сертификаты и другую информацию, необходимую для запуска свободного ПО.

Мы надеялись, что Linux перейдёт на GPL 3, чтобы он не стал троянским конём для навязывания DRM пользователям. К сожалению, нам не удалось уговорить Линуса Торвальдса. Он считает, что ядро Linux должно быть доступно для использования на любых устройствах, в том числе на тех, где нельзя заменять ПО без разрешения производителя. Поэтому Linux остаётся на GPL 2.

Нам не удаётся победить DRM, его применение расширяется. Консорциум Всемирной Паутины благословил его как часть веб-стандартов. Идёт кампания по размещению DRM в веб-браузерах.

Мы не используем Firefox, потому что он содержит программу для воспроизведения контента, который контролируется с помощью DRM. Мы не хотим сотрудничать с DRM ни в малейшей степени, и в нашей модифицированной версии GNU IceCat его нет.

Терпеть DRM — означает терять свободу. Я никогда в жизни не проигрывал диски Blu-ray, потому что все они используют DRM. И я не буду смотреть фильмы с ресурсов, использующих DRM.

Ещё мы добавили в GPL 3 возможность защититься от опасностей запатентованных вычислительных решений. Как вы знаете, сегодня любая программа может нарушить какой-нибудь патент, а при разработке больших пакетов такие нарушения исчисляются тысячами. Патентов стало так много, что в них уже невозможно разобраться. Искать их в базе данных по ключевым словам затруднительно — неизвестно, как описано в патенте то или иное решение. Даже опытному юристу трудно понять, что именно покрывает тот или иной патент.

Это приводит к правовому хаосу, который выгоден в первую очередь крупным компаниям. У каждой из них есть множество патентов, и они перекрёстно лицензируют друг друга, чтобы сами эти компании могли быть в безопасности, а другие — в опасности. Такая схема позволяет им сдерживать конкурентов.

Поэтому мы внесли в GPL 3 дополнение: при разработке свободного программного обеспечения не должны быть использованы патенты, так как это автоматически делает программу несвободной, превращает её в частную собственность. Либо патент не должен запрещать свободное использование и модификацию программы, то есть не должен противоречить принципам GPL.

Цели копилефта

Теперь я хочу поговорить о целях развития копилефта:

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

Я хочу свободы больше, чем денег, и не позволю использовать свой код в несвободных программах, даже если мне предложат заплатить за него. Но у нас есть люди, сторонники открытого исходного кода, использующие GPL и получающие деньги за то, что вносят свой вклад в чью-то проприетарную программу.

Думаю, что развивать технологии — это хорошо, но несвободную программу лучше не использовать. Многие находят идею свободного ПО странной и считают, что программа хороша, если она удобна. Мы говорим — нет, программа хороша, если она удобна и уважает вашу свободу. В противном случае она небезопасна, так как это почти наверняка вредоносное ПО.

Приёмы жестокого обращения с пользователями в несвободном ПО

Я знаю много примеров, когда в проприетарных программах заложены функции, предназначенные для насилия над пользователями. Специалисты по кибербезопасности изучили более 1000 популярных приложений для Android и выяснили, что 60% из них следят за пользователями. Они применяли методы тестирования без анализа исходного кода. А если бы была возможность заглянуть в код этих программ, наверняка выяснилось бы, что шпионят все приложения.

Проприетарное ПО совершает и много других неприятных вещей, например ограничивает пользователей с помощью DRM и бэкдоров.

Некоторые продукты привязываются к серверу, и вы можете управлять купленной вами программой только через него. А сервер следит за вашими командами и ответами на них. Есть ещё один неприятный аспект — если компания решит, что купленный вами продукт устарел, то просто выключит сервер или уменьшит его производительность.

Бывает так, что программы вызывают привыкание. Узнать подробнее о вредоносном ПО вы сможете на сайте gnu.org. Там выложены списки программ, сгруппированных по вредоносной функциональности.

Ещё 20–30 лет назад такого не было. Дела обстоят всё хуже и хуже. Сегодня программы специально создаются для того, чтобы вредить пользователям, это их цель. И вы сделаете огромную ошибку, если позволите им войти в свою жизнь.

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

Ещё одна проблема проприетарных платёжных систем — они позволяют богатым людям отмывать деньги, скрывать свои доходы и уходить от налогов. Таким образом они обкрадывают государство. К счастью, мы разработали GNU Taler — надёжную и безопасную систему, обеспечивающую анонимность платежей.

Ричард Столлман — святой Игнуциус

А теперь я хочу представить вам ещё одну мою личность. (Столлман надевает тёмный балахон и имитацию нимба.) Я святой Игнуциус из церкви Emacs. И я благословляю ваши компьютеры, дети мои.

Ричард Столлман — святой Игнуциус
Скриншот: Skillbox Media

Emacs начинался как текстовый редактор, ставший, не побоюсь этого слова, образом жизни для многих пользователей. А потом он стал нашей церковью. У нас есть ритуалы и святые — и один из них я, святой Игнуциус.

Тот, кто хочет стать членом церкви Emacs, не должен запускать несвободное программное обеспечение на своём компьютере. И он должен принять символ веры: «Нет системы, кроме GNU, и Linux — ядро её».

Членство в церкви осуществляется через чтение текстов из наших священных писаний, то есть исходного кода системы. А если вы не знаете Emacs, изучите его и начните пользоваться, а также приобщайте к нему других пользователей. Это будет благословенный поступок.

Ответы на вопросы

Вопрос: Скажите, вы действительно не пользуетесь смартфонами?

Столлман: Иногда пользуюсь чужими, отправляю с них текстовые сообщения. У меня самого смартфона нет. На это есть две причины:

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

Вопрос: Какие процессоры, на ваш взгляд, уважают свободу пользователей?

Столлман: К сожалению, во всех существуют вредоносные модули — такие, как Intel Management Engine. Нечто подобное есть и у AMD, и у процессоров Apple. Сам я использую старый ThinkPad. Он не так хорош, но у него есть ранняя версия такого модуля, и я могу полностью отключить её. Я считаю, что в настоящее время должны быть приняты законы против нарушения прав пользователей.

Вопрос: Можете ли вы предсказать, каким будет следующий вызов свободному программному обеспечению?

Столлман: Сегодня у свободного ПО много проблем, и ситуация ухудшается. Мы не можем ничего противопоставить этому, наши руки связаны.

Вопрос: Считаете ли вы информацию товаром, который можно продавать и покупать?

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

Учись бесплатно:
вебинары по программированию, маркетингу и дизайну.

Участвовать
Школа дронов для всех
Учим программировать беспилотники и управлять ими.
Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована