GNU General Public License (переводят как Универсальная общественная лицензия GNU, Универсальная общедоступная лицензия GNU или Открытое лицензионное соглашение GNU) — лицензия на свободное программное обеспечение, созданная в рамках проекта GNU в 1988 г., по которой автор передаёт программное обеспечение в общественную собственность. Её также сокращённо называют GNU GPL или даже просто GPL, если из контекста понятно, что речь идёт именно о данной лицензии (существует довольно много других лицензий, содержащих слова «general public license» в названии). Вторая версия этой лицензии была выпущена в 1991 году, третья версия, после многолетней работы и длительной дискуссии — в 2007 году. GNU Lesser General Public License (LGPL) — это ослабленная версия GPL, предназначенная для некоторых библиотек ПО. GNU Affero General Public License — усиленная версия GPL для программ, предназначенных для доступа к ним через сеть.

Цель GNU GPL — предоставить пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные праваПример гарантий: запрещается создавать на основе свободной программы под GPL другой проект, не предоставляя его исходники пользователям. Таким образом, данная лицензия вовсе не позволяет делать с программами «что угодно», как могут ошибочно трактовать данную лицензию плохо знакомые с ней.. Принцип «наследования» прав называется «копилефт» (транслитерация c ) и был придуман Ричардом Столлманом. По контрасту с GPL, лицензии проприетарного ПО «очень редко дают пользователю такие права и обычно, наоборот, стремятся их ограничить, например, запрещая восстановление исходного кода».

Согласно подготовленным Фондом разъяснениям по применению лицензии GNU GPL к конкретным лицензируемым программам (эти разъяснения приложены к размещённому на сайте Фонда тексту лицензии), лицензия должна в электронной форме присоединяться к компьютерной программе.

Лицензируя работу на условиях GNU GPL, автор сохраняет за собой авторствоИмена авторов обычно указываются в исходном коде или документации (например, файле AUTHORS)..

GNU GPL не позволяет включать программу в проприетарное ПО. Если данная программа является библиотекой, вероятно, лучшим будет разрешить проприетарному ПО линковаться с ней. Для данной цели необходимо использовать GNU Lesser General Public License вместо GPL.

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

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

История GPL была написана Ричардом Столлманом для использования с программами как часть проекта GNU. Она базируется на сходных лицензиях, использовавшихся для ранних версий GNU Emacs, GDB (отладчика GNU) и Коллекции компиляторов GNU (GCC), унифицирует и обобщает их.

GPL v1 Лицензии-прототипы содержали части, подобные частям GPL, но были специфичными для каждой программы. Целью Ричарда Столлмана являлось создание единой лицензии, которая могла бы использоваться для любого проекта, делая таким образом возможным совместное использование кода различными программами. Такой лицензией и стала первая версия GNU GPL, выпущенная в январе 1989 года.

GPL v2 В 1990 году стало очевидным, что требуется менее ограничивающая лицензия, которая могла бы использоваться для некоторых библиотек ПО; когда версия 2 GPL была выпущена в июне 1991 года, вместе с ней была введена в обращение GNU Library General Public License (GNU LGPL, LGPL), также получившая номер 2, для обозначения того, что эти две лицензии являются взаимодополняющими. Номера версий разошлись в 1999 году, когда была выпущена LGPL версии 2.1, которая была переименована в Lesser General Public License для уточнения её местоположения в философии GNU.

GPL v3 В 2005 году Эбен Моглен и Ричард Столлман написали черновик третьей версии GPL. В разгоревшейся затем 7 апреля 2005 года в Филадельфии дискуссии Столлман сделал несколько заявлений, касающихся патентов на ПО и DRM.

В 2006 году Фонд свободного программного обеспечения начал двенадцатимесячную консультацию о возможных изменениях в GPL. Этот процесс координировался самим Фондом свободного ПО, Правовым центром свободы ПО и Европейским фондом свободного ПО. Целью консультаций являлось создание новой версии лицензии с учётом рекомендаций и опыта всех заинтересованных сторон, но с сохранением приверженности принципам свободного ПО.

Первый черновик был опубликован 16 января 2006 года.

Компании, распространяющие GPLv3-ПО, не могут предъявлять к пользователям GPLv3-продуктов судебные претензии касательно обхода распространяемыми версиями продуктов ТСЗАП и нарушения ими же патентов распространителей. Также запрещена тивоизация.

Окончательная версия GPLv3 была опубликована 29 июня 2007 года.

19 ноября 2007 года была выпущена GNU Affero General Public License v3 — GPLv3 с изменениями на основе Affero General Public License v1, выпущенной в 2002 году Affero Inc. на основе GNU GPLv2. Данная лицензия добавляет возможность получения исходного кода пользователям программы, взаимодействующим с ней только через сеть.

Схема GNU GPL Текст GNU GPL состоит из нескольких пронумерованных разделов. Ниже приведена схема версии 2.0 лицензии. Эта схема не имеет никакой юридической силы и служит только для краткого ознакомления. Определения (первый абзац) Определение термина «программа» (второй абзац) Область действия лицензии Право на копирование и распространение Изменение программы (первый абзац) Право на изменения при соблюдении следующих условий: a) добавление информации об изменении в модифицированных файлах; b) лицензирование модифицированных версий на условиях GNU GPL; c) условное требование интерактивного вывода информации об авторских правах и отсутствии гарантии. (абзацы 2—4) Уточнение термина «производная работа» Требование предоставления исходного кода (первый абзац) Возможные варианты распространения исполнимого кода: a) распространение вместе с исходным кодом или b) распространение с гарантией предоставления исходного кода или c) (для некоммерческого использования) распространение вместе с такой гарантией, полученной от третьего лица. (второй абзац) Определение термина «исходный код» (третий абзац) Достаточность одинакового доступа для копирования исполнимого и исходного кодов Прекращение действия лицензии при нарушении её условий Акты, означающие принятие лицензии Запрещение дополнительных ограничений при дальнейшем распространении Внешние ограничения не снимают обязательства выполнять условия лицензии Возможность географических ограничений Будущие версии GNU GPL Запросы на исключения из правил Отказ от предоставления гарантий Отказ от ответственности

Совместимость

Использование копилефта накладывает определённые ограничения на объединение работ под GPL и другими свободными (в первую очередь, копилефтными) лицензиями в производных работах.

GPLv2 несовместима с лицензиями Common Development and Distribution License (CDDL), Apache Software License и некоторыми другими.

GPLv3 была сделана совместимой с лицензией Apache. Использование MPL-1.0 и MPL-1.1 в GPL проекте запрещено, однако с введением MPL-2.0 сложности были устранены.

Известным примером несовместимости GPL с другой лицензией является невозможность включения файловой системы ZFS, выпущенной Sun Microsystems под CDDL, в ядро Linux, выпущенное под GPLv2.

Любая несвободная лицензия несовместима с GPL.

Сложности GNU GPL требует распространения с бинарными файлами (в том числе неизменными) исходного кода или письменного обязательства его предоставить (своего или чужого; способы зависят от версии лицензии). Некоторые авторы считают, что это требование непривычно для отдельных пользователей и разработчиков и не является для них очевидным и понятным.

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

Соответствие законодательству

Лицензионный договор GPL не допускает модификации под локальное законодательство и в нём не указаны территориальные ограничения. Поэтому такой договор не совместим с правовым режимом, установленным на территории РФ. В то же время международное право имеет примат перед российским для международных договоров и сделок. Для правообладателя — гражданина РФ, действие договора под лицензией GPL будет распространяться только на территорию РФ (п. 3 ст. 1235 ГК РФ), а для иностранного гражданина он будет действовать в полную силу раздела VI ГК РФ «Международное частное право».

Фонд свободного ПО признает официальным только первичный текст лицензии, но не его переводы. Требования в ст. 3 «Сферы использования государственного языка Российской Федерации» закона № 53-РФ в пункте 1 подпункт 1 указывают на обязательность использования русского языка (и, следовательно, русского перевода лицензии) в деятельности организаций всех форм собственности (пункт 2 разрешает использование «наряду с государственным языком Российской Федерации государственного языка республики, находящейся в составе Российской Федерации, других языков народов Российской Федерации или иностранного языка»). Это может привести к сложностям в судебных разбирательствах, поскольку в РФ не выработан официальный перевод GPL для внутреннего использования, в разных частных переводах могут быть разночтенияМеждународная сфера действие лицензии, а также ориентированность на понимание любым грамотным, но не являющимся профессиональным юристом, человеком: GPL в России: трудности перевода.