Материал из РУВИКИ — свободной энциклопедии

GNU General Public License

GNU General Public License
Логотип GNU GPL третьей версии
Логотип GNU GPL третьей версии
Автор Free Software Foundation
Версия 3
Издатель Free Software Foundation, Inc.
Опубликована январь 1989 (первая версия), июнь 1991 (вторая версия), 29 июня 2007 (третья версия)
Совместима с DFSG Да
Свободное программное обеспечение Да
Одобрена OSI Да
Копилефт Да
Допускает компоновку с кодом под другой лицензией Нет (единственное исключение: GNU GPLv3 разрешает перелицензирование под GNU AGPLv3)
Логотип РУВИКИ.Медиа Медиафайлы на РУВИКИ.Медиа

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

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

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

Лицензируя работу на условиях GNU GPL, автор сохраняет за собой авторство[Прим. 2].

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

Свободы и обязательства[править | править код]

GPL предоставляет получателям компьютерных программ следующие права, или «свободы»[6]:

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

В общем случае распространитель программы, полученной на условиях 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. Данная лицензия добавляет возможность получения исходного кода пользователям программы, взаимодействующим с ней только через сеть[2].

Схема GNU GPL[править | править код]

Текст GNU GPL состоит из нескольких пронумерованных разделов. Ниже приведена схема версии 2.0 лицензии. Эта схема не имеет никакой юридической силы и служит только для краткого ознакомления.

  1. Определения
    • (первый абзац) Определение термина «программа»
    • (второй абзац) Область действия лицензии
  2. Право на копирование и распространение
  3. Изменение программы
    • (первый абзац) Право на изменения при соблюдении следующих условий:
      • a) добавление информации об изменении в модифицированных файлах;
      • b) лицензирование модифицированных версий на условиях GNU GPL;
      • c) условное требование интерактивного вывода информации об авторских правах и отсутствии гарантии.
    • (абзацы 2—4) Уточнение термина «производная работа»
  4. Требование предоставления исходного кода
    • (первый абзац) Возможные варианты распространения исполнимого кода:
      • a) распространение вместе с исходным кодом или
      • b) распространение с гарантией предоставления исходного кода или
      • c) (для некоммерческого использования) распространение вместе с такой гарантией, полученной от третьего лица.
    • (второй абзац) Определение термина «исходный код»
    • (третий абзац) Достаточность одинакового доступа для копирования исполнимого и исходного кодов
  5. Прекращение действия лицензии при нарушении её условий
  6. Акты, означающие принятие лицензии
  7. Запрещение дополнительных ограничений при дальнейшем распространении
  8. Внешние ограничения не снимают обязательства выполнять условия лицензии
  9. Возможность географических ограничений
  10. Будущие версии GNU GPL
  11. Запросы на исключения из правил
  12. Отказ от предоставления гарантий
  13. Отказ от ответственности

Совместимость[править | править код]

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

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

GPLv3 была сделана совместимой с лицензией Apache, однако с MPL и её производными она несовместима[7]. Работы под MPL часто одновременно лицензируются и под GPL, и под LGPL (например, код Mozilla Firefox), что частично решает проблему.

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

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

Сложности[править | править код]

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

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

Соответствие законодательству[править | править код]

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

Но, в то же время, международное право имеет примат перед российским для международных договоров и сделок, то есть для правообладателя — гражданина РФ, действие договора под лицензией GPL будет распространяться только на территорию РФ (п. 3 ст. 1235 ГК РФ), а для иностранного гражданина он будет действовать в полную силу раздела VI ГК РФ «Международное частное право»[9].

  • Иногда говорят о возможности провести GNU GPL как договор присоединения согласно статьям (428, 435 ГК РФ). Но единственный такой способ для лицензионных договоров описан в п. 3 ст. 1286 ГК РФ («Заключение лицензионных договоров о предоставлении права использования программы для ЭВМ или базы данных допускается путём заключения каждым пользователем с соответствующим правообладателем договора присоединения, условия которого изложены на приобретаемом экземпляре таких программы или базы данных либо на упаковке этого экземпляра, а также в электронном виде (пункт 2 статьи 434).»). Эта статья даёт возможность для легализации ПО, скачанного из Интернета и предоставляемого по лицензии GNU GPL методом узаконивания заключением юридического полноценного/легального договора, правда, не только с фондом — а и с каждым владельцем авторского права произведения, так как они, хоть признав власть фонда для защиты интересов в суде, не заключали с ним акт передачи своих прав Фонду СПО — в соответствии с законодательством РФ, то есть, передав свои права только голословно (то есть, часто даже и это недоказуемо — будучи без регистрации соответствующим документооборотом). Даже в случае заключения полноценного юридического договора с каждым разработчиком — все программные продукты под GPL, даже производимые на территории РФ, а также обязательного заключения договора и с самим фондом — как представителя их интересов, то есть юридически и принадлежа данному фонду — как иностранному субъекту: подпадают под требование импортозамещения.

Первоисточники[править | править код]

Интересные факты[править | править код]

  • Microsoft распространяет для владельцев нетбуков USB-ключи с программой установки Windows 7. Однако выяснилось, что программа содержит код, находящийся под GPL. В ноябре 2009 года Microsoft извинилась перед покупателями и пообещала открыть код программы[13][14]. 10 декабря 2009 года Microsoft окончательно открыла исходные коды Windows 7 USB/DVD Download Tool под лицензией GPLv2[15].
  • 25 января 2006 года Линус Торвальдс, автор ядра Linux, публично заявил, что оно, скорее всего, будет по-прежнему распространяться по лицензии GPL версии 2[Прим. 3]. В своём сообщении в почтовую рассылку для Linux-разработчиков Линус Торвальдс говорит о том, что ОС Solaris может инициировать переход ядра на новую готовящуюся версию лицензии на свободное программное обеспечение — GNU GPLv3. «Если Sun действительно собирается выпустить OpenSolaris под GPLv3, это может стать хорошей причиной для перехода Linux на новую лицензию» — заявил Торвальдс[16]. «Не думаю, что GPLv3 — такая же хорошая лицензия, как и GPLv2, но с другой стороны, я прагматик, и, если мы можем избежать ситуации с существованием двух ядер, распространяющихся под разными лицензиями, и с вызванными этим разногласиями, я по крайней мере вижу причину для перехода на GPLv3», — пояснил свою позицию главный разработчик Linux-ядра. До этого Торвальдс уже выражал своё недовольство новой версией лицензии GNU GPL, однако после появления последнего чернового варианта GPLv3 стал лучше относиться к этому проекту. Несмотря на это, сам он до сих пор отдаёт предпочтение GPLv2.

Переводы на русский[править | править код]

См. также[править | править код]

Примечания[править | править код]

Комментарии

  1. Пример гарантий: запрещается создавать на основе свободной программы под GPL другой проект, не предоставляя его исходники пользователям. Таким образом, данная лицензия вовсе не позволяет делать с программами «что угодно», как могут ошибочно трактовать данную лицензию плохо знакомые с ней.
  2. Имена авторов обычно указываются в исходном коде или документации (например, файле AUTHORS).
  3. В отличие от многих других GPL-программ, Linux распространяется на условиях только второй версии GPL, а не «версии 2 или более поздней»:GPL V3 and Linux - Dead Copyright Holders (англ.) (недоступная ссылка — история) (28 января 2006). Дата обращения: 10 июля 2010. Архивировано 22 августа 2011 года.

Источники

  1. Джулиан Столлабрасс. ЦИФРОВАЯ ОБЩНОСТЬ. Дата обращения: 19 января 2015. Архивировано 5 марта 2016 года.
  2. 1 2 Free Software Foundation Releases GNU Affero General Public License Version 3 (англ.) (недоступная ссылка — история). Free Software Foundation (19 ноября 2007). Дата обращения: 8 июля 2010. Архивировано 22 августа 2011 года.
  3. Ася Власова. Как украсть Linux? (24 июня 2008). — о FOSS-лицензиях и их применении в России. Дата обращения: 10 июля 2010. Архивировано из оригинала 29 августа 2011 года.
  4. Вопросы применения свободной лицензии GNU GPL, 2013.
  5. Understanding Open Source and Free Software Licensing, 2004, с. 49.
  6. М. Брауде-Золотарев, Г. Гребнев, П. Протасов, А. Ралько, Е. Сербина. Свободное программное обеспечение в организации. Сборник материалов / М. Брауде-Золотарев. — 3-е. — М.: «Интернет-Полиграфия» INFO-FOSS.RU, 22.09.2008. — 124 с. — 1000 экз. — ISBN 978-5-903423-03-3 УДК: 681.3.06 ББК: 32.973.26. Архивная копия от 22 мая 2012 на Wayback Machine
  7. Various Licenses and Comments about Them (недоступная ссылка — история). — Совместимость свободных лицензий с GPL. Дата обращения: 10 августа 2010. Архивировано 22 августа 2011 года.
  8. Bruce Byfield. A GPL requirement could have a chilling effect on derivative distros (англ.) (недоступная ссылка — история). VA Software (27 июня 2006). Дата обращения: 10 августа 2010. Архивировано 22 августа 2011 года.
  9. GPL в России: продолжаем перевод (недоступная ссылка — история). Дата обращения: 15 июля 2010. Архивировано 22 августа 2011 года.
  10. Unofficial Translations (англ.) (недоступная ссылка — история). Дата обращения: 1 августа 2010. Архивировано 22 августа 2011 года.
  11. М. Брауде-Золотарев, Г. Гребнев, П. Протасов, А. Ралько, Е. Сербина / сост. М. Брауде-Золотарев. Свободное программное обеспечение в организации. Сборник материалов. (недоступная ссылка — история). INFO-FOSS.RU. — . — 3-е. — М.: «Интернет-Полиграфия» INFO-FOSS.RU, 22.09.2008. — 124 с. — 1000 экз. — ISBN 978-5-903423-03-3 УДК: 681.3.06 ББК: 32.973.26. о соответствии распространённых, в том числе свободных, лицензионных договоров российскому законодательству. Дата обращения: 15 июля 2010. Архивировано 22 августа 2011 года.
  12. Международная сфера действие лицензии, а также ориентированность на понимание любым грамотным, но не являющимся профессиональным юристом, человеком: GPL в России: трудности перевода
  13. Microsoft admits its GPL violation; will reissue Windows 7 tool under open-source license Архивная копия от 13 августа 2012 на Wayback Machine, zdnet.com, 18 ноября 2009 г.
  14. Protalinski, Emil. Windows 7 tool violates GPL; Microsoft will open source it (англ.), Ars Technica, Condé Nast Digital (16 ноября 2009). Архивировано 25 января 2010 года. Дата обращения: 27 января 2010.
  15. Bantle, Ulrich. Microsoft Puts Windows 7 USB/DVD Tool under GPL (англ.), Linux Magazine, Linux New Media (11 декабря 2009). Архивировано 14 декабря 2009 года. Дата обращения: 27 января 2010.
  16. Dual-Licensing Linux Kernel with GPL V2 and GPL V3 (недоступная ссылка — история) (10 июня 2010). — Сообщение Линуса Торвальдса о возможности перехода Linux на GPLv3 в случае, если Sun выпустит под ней OpenSolaris. Дата обращения: 10 июля 2010. Архивировано 22 августа 2011 года.

Литература[править | править код]

Ссылки[править | править код]