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

GPLv3

GPLv3 (GNU General Public License version 3, GNU Общественная лицензия версии 3) — это копилётная лицензия на свободное и открытое программное обеспечение, разработанная и опубликованная Проектом GNU (США) в 2007 году. Она является третьей основной версией GNU GPL и предназначена для гарантирования пользователям четырёх фундаментальных свобод: запускать программу, изучать её код, распространять копии и улучшать её, а затем публиковать улучшения. GPLv3 считается одной из самых строгих копилётных лицензий, требующей, чтобы производные работы распространялись на тех же условиях.

История

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

Первая версия GPL (GPLv1) была выпущена в 1989 году, вторая (GPLv2) — в 1991 году. К началу 2000-х годов в сообществе свободного ПО назрели проблемы, которые GPLv2 не могла решить. Основными вызовами стали:

  • Патентные войны: компании, владеющие патентами на программные алгоритмы, могли угрожать судебными исками разработчикам свободного ПО, а GPLv2 не содержала явных положений о патентной защите.
  • Тивенизация (tivoization): производители устройств (например, компания TiVo) начали выпускать аппаратуру с предустановленным ПО под GPLv2, но блокировали возможность установки модифицированных версий (например, с помощью цифровых подписей). Это противоречило духу свободы, но формально не нарушало лицензию.
  • Совместимость с другими лицензиями: GPLv2 была несовместима с рядом популярных свободных лицензий (например, Apache License 2.0), что затрудняло комбинирование кода.

Процесс разработки

Работа над GPLv3 началась в 2005 году под руководством Фонда свободного программного обеспечения (Free Software Foundation, FSF, США). Процесс был открытым: черновики лицензии публиковались для общественного обсуждения, а FSF провёл несколько раундов консультаций с юристами, разработчиками и сообществом. В общей сложности было получено более 9000 комментариев. Финальная версия была утверждена 29 июня 2007 года.

Основные изменения по сравнению с GPLv2

  • Патентная защита: GPLv3 содержит явный патентный грант — любой участник, распространяющий код под GPLv3, автоматически предоставляет пользователям лицензию на все свои патенты, которые покрывают этот код. Если участник подаёт патентный иск против пользователя, он теряет право распространять код.
  • Защита от тивенизации: лицензия требует, чтобы на устройствах, поставляемых с ПО под GPLv3, пользователь мог установить модифицированную версию и запустить её. Это достигается требованием предоставления «информации, необходимой для установки» (Installation Information), включая ключи цифровых подписей.
  • Совместимость: GPLv3 стала совместима с рядом других свободных лицензий, включая Apache License 2.0 и GNU Affero General Public License v3.
  • Уточнение терминологии: лицензия более чётко определяет понятия «распространение», «производная работа», «пропаганда» и «конверсия» (например, в отношении DRM).

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

Копилефт

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

Четыре свободы

Лицензия гарантирует пользователю:

  1. Свобода 0: запускать программу для любых целей.
  2. Свобода 1: изучать, как программа работает, и изменять её.
  3. Свобода 2: распространять копии программы.
  4. Свобода 3: распространять модифицированные версии программы.

Требования к распространению

При распространении кода (в исходном или исполняемом виде) необходимо:

  • Предоставить полный исходный код.
  • Приложить копию лицензии GPLv3.
  • Сохранить все уведомления об авторских правах.
  • Если распространяется исполняемый файл, то вместе с ним должен быть предоставлен исходный код (или письменное предложение его предоставить).

DRM и антиобходные законы

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

Критика и споры

Принятие сообществом

GPLv3 вызвала раскол в сообществе свободного ПО. Многие крупные проекты, такие как Linux (ядро), остались на GPLv2, аргументируя это тем, что GPLv3 слишком сложна, содержит избыточные положения (например, о патентах) и может отпугнуть корпоративных участников. Линус Торвальдс, создатель Linux, высказывался против GPLv3, называя её «политически мотивированной».

Критика со стороны корпораций

Некоторые компании, включая Microsoft (США), изначально критиковали GPLv3 за её патентные положения, утверждая, что они создают неопределённость для бизнеса. Однако позже Microsoft включила поддержку GPLv3 в свои продукты (например, в драйверы для Linux).

Поддержка

Проекты, перешедшие на GPLv3, включают:

  • GNU Compiler Collection (GCC) — с версии 4.2.
  • Samba — с версии 4.0.
  • GIMP — с версии 2.8.
  • WordPress — с версии 2.0 (лицензия GPLv2 или новее).

Применение

Область использования

GPLv3 широко применяется в проектах, где важна защита от коммерциализации и тивенизации. Она популярна в:

  • Операционных системах (например, GNU/Linux-дистрибутивы, использующие GPLv3 для утилит GNU).
  • Графических редакторах (GIMP, Inkscape).
  • Системах управления контентом (WordPress, Drupal).
  • Библиотеках и фреймворках (например, GTK+).

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

GPLv3 совместима с:

Несовместима с:

  • GPLv2 (если проект не указал «GPLv2 или новее»).
  • BSD-лицензии (2- и 3-пунктные).
  • MIT-лицензия.

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

  • GPLv3 была переведена на более чем 20 языков, включая русский (официальный перевод выполнен Фондом свободного программного обеспечения).
  • В 2007 году, сразу после выхода GPLv3, компания Google (США) объявила, что её внутренние проекты не будут использовать эту лицензию, предпочитая Apache License 2.0.
  • GPLv3 содержит так называемую «анти-тивонизационную» клаузулу, которая стала одной из самых обсуждаемых в сообществе.

Источники

  • Free Software Foundation. GNU General Public License version 3. — 2007.
  • Stallman, R. Free Software, Free Society: Selected Essays of Richard M. Stallman. — GNU Press, 2002.
  • Rosen, L. Open Source Licensing: Software Freedom and Intellectual Property Law. — Prentice Hall, 2004.
  • «GPLv3: A Legal Analysis» — Journal of Intellectual Property Law, 2008.
  • Официальный перевод GPLv3 на русский язык (Фонд свободного программного обеспечения, 2008).

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

На главную BFOmetr →