Открыть сервис

GNU General Public License версии 3

GNU General Public License версии 3 (сокр. GNU GPLv3, GPLv3) — это копилёфтная (copyleft) лицензия на свободное и открытое программное обеспечение, опубликованная Фондом свободного программного обеспечения (Free Software Foundation, FSF) 29 июня 2007 года. Третья версия лицензии пришла на смену GNU General Public License версии 2 (GPLv2) и была разработана для решения юридических и технических проблем, возникших в сфере распространения программного обеспечения за предшествовавшее десятилетие, включая вопросы, связанные с патентами на программное обеспечение, цифровым управлением ограничениями (DRM) и совместимостью лицензий.

История

Предпосылки создания

GNU GPLv2, опубликованная в 1991 году, долгое время оставалась основной лицензией для тысяч проектов, включая ядро Linux. Однако к началу 2000-х годов стали очевидны её недостатки. В частности, лицензия не содержала явных положений, препятствующих использованию патентов для ограничения прав пользователей, а также не учитывала появление технологий цифрового управления ограничениями (DRM), которые могли технически блокировать модификацию и запуск изменённых версий программ. Кроме того, возникли проблемы с так называемыми «тивоизациями» (tivoization) — практикой, при которой производители аппаратного обеспечения (например, компания TiVo) использовали GPL-программы на своих устройствах, но блокировали возможность установки модифицированных версий на аппаратном уровне.

Разработка

Процесс разработки GPLv3 начался в 2005 году. FSF организовал серию публичных обсуждений, в которых участвовали юристы, разработчики, представители бизнеса и сообщества свободного ПО. Было выпущено несколько черновиков, каждый из которых подвергался широкому общественному обсуждению. Одним из ключевых авторов выступил Ричард Столмен, основатель проекта GNU и FSF. Окончательная версия была утверждена и опубликована 29 июня 2007 года.

Реакция сообщества

Принятие GPLv3 было неоднозначным. Многие крупные проекты, включая ядро Linux, ядро операционной системы GNU (Hurd) и некоторые другие, отказались от перехода на новую версию, оставшись на GPLv2. Линус Торвальдс, создатель Linux, публично раскритиковал GPLv3 за излишнюю сложность и идеологическую жёсткость. В то же время многие проекты, такие как Samba, GCC (GNU Compiler Collection), GIMP и ряд других, перешли на GPLv3. В результате сформировалась ситуация, когда обе версии лицензии продолжают активно использоваться.

Основные положения

Копилефт (Copyleft)

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

Патентные положения

Одним из главных нововведений GPLv3 стали явные патентные положения. Лицензия содержит явную патентную лицензию от каждого участника, который распространяет программу, на все патенты, которые он контролирует. Это предотвращает ситуацию, когда разработчик, вносящий код в проект, затем пытается использовать свои патенты для судебного преследования пользователей этого кода. Кроме того, GPLv3 содержит «защиту от патентных агрессоров»: если участник подаёт патентный иск против другого пользователя GPLv3-программы, он автоматически теряет право распространять эту программу.

Защита от тивоизации (Anti-Tivoization)

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

Управление цифровыми ограничениями (DRM)

GPLv3 включает положение, которое лишает юридической силы любые попытки использовать законы об авторском праве (например, DMCA) для запрета обхода технических средств защиты, если эти средства защиты применяются к GPLv3-программе. Фактически, лицензия говорит: «Если вы используете DRM на GPLv3-программе, вы не можете ссылаться на законы об авторском праве, чтобы помешать пользователю его обойти».

Совместимость с другими лицензиями

GPLv3 была разработана с учётом совместимости с рядом других свободных лицензий. В частности, она совместима с GNU Affero General Public License (AGPLv3), которая является её расширением для сетевых сервисов. Также существует механизм «совместимости по выбору»: проект может разрешить распространение своего кода под GPLv3 или более поздней версией, что даёт гибкость при объединении с кодом под более новыми версиями.

Классификация и варианты

GNU GPLv3

Основная версия лицензии, предназначенная для большинства проектов.

GNU Lesser General Public License версии 3 (LGPLv3)

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

GNU Affero General Public License версии 3 (AGPLv3)

Специализированная версия GPLv3, предназначенная для программ, работающих в сети (веб-сервисы, облачные приложения). Она добавляет требование, что если программа предоставляет сетевой доступ к своим функциям, то пользователь, взаимодействующий с ней через сеть, также должен получить доступ к её исходному коду. AGPLv3 была опубликована в 2007 году.

Применение

Крупные проекты

GPLv3 используется тысячами проектов. Среди наиболее известных:

Коммерческое использование

GPLv3 активно используется в коммерческих продуктах. Многие компании, такие как Red Hat (признана иноагентом в РФ), SUSE и Canonical, распространяют свои продукты под GPLv3. Важно отметить, что GPLv3 не запрещает коммерческое распространение — она лишь требует, чтобы исходный код был доступен пользователям.

Критика

Сложность и объём

GPLv3 значительно длиннее и сложнее GPLv2 (около 6000 слов против 3000). Критики, включая Линуса Торвальдса, утверждают, что это делает лицензию трудной для понимания и применения, особенно для небольших проектов.

Идеологическая жёсткость

Некоторые разработчики считают, что GPLv3 слишком идеологически нагружена и пытается навязать определённые политические и этические взгляды (например, в отношении DRM и патентов). Это привело к тому, что многие проекты, включая ядро Linux, отказались от перехода на неё.

Проблемы совместимости

GPLv3 несовместима с GPLv2. Это означает, что код, распространяемый под GPLv2, нельзя напрямую объединять с кодом под GPLv3 в одном проекте. Это создало серьёзные проблемы для экосистемы свободного ПО, так как многие библиотеки и инструменты оказались под разными версиями лицензии.

Интересные факты

  • GPLv3 стала первой лицензией, которая явно учитывала проблемы, связанные с патентами на программное обеспечение, которые особенно актуальны в США.
  • Лицензия была переведена на десятки языков, включая русский, но официальной юридической силой обладает только английская версия.
  • FSF рекомендует всем новым проектам использовать GPLv3, но признаёт, что GPLv2 остаётся легитимной и широко используемой лицензией.

Источники

  • Free Software Foundation. «GNU General Public License, version 3». 2007.
  • Stallman, Richard. «Free Software, Free Society: Selected Essays of Richard M. Stallman». 2002.
  • Rosen, Lawrence. «Open Source Licensing: Software Freedom and Intellectual Property Law». 2004.
  • Moglen, Eben. «Free Software Matters: The GPLv3 Debate». 2006.
  • Linux Foundation. «The GPLv3 and the Linux Kernel». 2007.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →