GNU LGPL (Lesser General Public License)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:39, 6 июня 2018.
GNU Lesser General Public License
LGPLv3 Logo.png
Latest version 3 (2007; 13 years ago (2007))
Published 1991; 29 years ago (1991)
DFSG compatible Yes
FSF approved Yes
OSI approved Yes
GPL compatible Yes
Copyleft Yes
Linking from code with a different license Yes
Website www.gnu.org/copyleft/lesser.html

GNU Lesser General Public License (рус. Стандартная общественная лицензия ограниченного применения GNU; ранее GNU Library General Public License (рус. Стандартная общественная лицензия GNU для библиотек) — лицензия на свободное ПО, одобренная Фондом свободного программного обеспечения и разработанная как компромисс между GNU General Public License и простыми разрешительными лицензиями, такими как BSD License и MIT License. Она была написана в 1991 году (и обновлена в 1999 и 2007 гг.) Ричардом Столлманом и Эбеном Могленом.

GNU LGPL позволяет компоновать с данной библиотекой или программой программы под любой лицензией, несовместимой с GNU GPL, при условии, что такая программа не является производной от объекта, распространяемого под (L) GNU General Public License|GNU GPL, кроме как путём компоновки.

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

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

История

Images.Gnu lgpl.png

GPL была написана Ричардом Столлманом для использования с программами как часть проекта GNU.[Источник 1]

Лицензия первоначально имела название GNU Library General Public License и была впервые опубликована в 1991 году и имела номер версии "2" для паритета с версией GPL 2. LGPL был пересмотрен в незначительно в версии 2.1 , опубликованной в 1999 году, когда он был переименован в GNU для General Public License, чтобы отразить позицию ФФС о том, что не все библиотеки должны использовать его. Версия 3 LGPL была опубликована в 2007 году в виде списка дополнительных разрешений, применяемых к GPL версии 3. На сегодняшний день существует четыре варианта лицензии, которые нумеруются в порядке появления.

GNU GPL v1.0

Основными позициями GNU GPL v1.0 стали следующие требования: предоставление исходных кодов, доступных для изучения, к бинарным кодам публикуемым с данной лицензией; наследование лицензии в случае модификации исходного кода, то есть модифицированный или объединенный с другим код в результате так же должен быть выпущен под лицензией GNU GPL, следовательно, быть доступным для модификации любым желающим.

Данные требования служат по сути одной цели, предотвратить действие закона об авторском праве на распространяемое открытое программное обеспечение, который запрещает модифицировать и использовать чужой код. [Источник 2]

GNU GPL v2.0

Вторая версия лицензии датируется 1991 годом и основным мотивом провозглашает принцип «Liberty or Death» (Свобода или Смерть). Этот принцип заключен в седьмом и восьмом пункте соглашения:

7. Лицензиат не освобождается от исполнения обязательств в соответствии с настоящей Лицензией в случае, если в результате решения суда или заявления о нарушении исключительных прав или в связи с наступлением иных обстоятельств, не связанных непосредственно с нарушением исключительных прав, на Лицензиата на основании решения суда, договора или ином основании возложены обязательства, которые противоречат условиям настоящей Лицензии. В этом случае Лицензиат не вправе распространять экземпляры Программы, если он не может одновременно исполнить условия настоящей Лицензии и возложенные на него указанным выше способом обязательства. Например, если по условиям лицензионного соглашения сублицензиатам не может быть предоставлено право бесплатного распространения экземпляров Программы, которые они приобрели напрямую или через третьих лиц у Лицензиата, то в этом случае Лицензиат обязан отказаться от распространения экземпляров Программы. Если любое положение настоящего пункта при наступлении конкретных обстоятельств будет признано недействительным или неприменимым, настоящий пункт применяется за исключением такого положения. Настоящий пункт применяется в целом при прекращении вышеуказанных обстоятельств или их отсутствии. Целью данного пункта не является принуждение Лицензиата к нарушению патента или заявления на иные права собственности или к оспариванию действительности такого заявления. Единственной целью данного пункта является защита неприкосновенности системы распространения свободного программного обеспечения, которая обеспечивается за счет общественного лицензирования. Многие люди внесли свой щедрый вклад в создание большого количества программного обеспечения, которое распространяется через данную систему в надежде на ее длительное и последовательное применение. Лицензиат не вправе вынуждать автора распространять программное обеспечение через данную систему. Право выбора системы распространения программного обеспечения принадлежит исключительно его автору. Настоящий пункт 7 имеет целью четко определить те цели, которые преследуют все остальные положения настоящей Лицензии. 8. В том случае если распространение и/или использование Программы в отдельных государствах ограничено соглашениями в области патентных или авторских прав, первоначальный правообладатель, распространяющий Программу на условиях настоящей Лицензии, вправе ограничить территорию распространения Программы, указав только те государства, на территории которых допускается распространение Программы без ограничений, обусловленных такими соглашениями. В этом случае такое указание в отношении территорий определенных государств признается одним из условий настоящей Лицензии.

Как можно заметить, основным мотивом служит следующий принцип: программа не должна распространяться, если конечный пользователь не может в полной мере использовать свое право на модификацию и распространение под той же самой лицензией. [Источник 2]

GNU Lesser GPL v2.1

Данная версия лицензии датируется 1999 годом и содержит одно огромное отличие от обычной лицензии GNU GPL: предназначенная для библиотек, лицензия позволяет использовать их в проприетарном программном обеспечении. Например, библиотеки GNU C распространяются под лицензией GNU Lesser GPL v2.1, для того, чтобы сторонние разработчики могли использовать их в своем ПО, свободном или коммерческом.

GNU GPL v3.0

B788deb6735d1f47a13780c7269d7086.png Последняя на сегодняшний день версия GPL, которая вышла в 2007 году. Изменения, внесенные в лицензию, были призваны оградить пользователей лицензии от судебных исков связанных с патентами, теперь создатели программы не могу подать в суд на пользователя. GPL 3.0 запрещает применять лицензию к программному обеспечению, которое запрещено «обходить» некоторыми законами и директивами (Digital Millennium Copyright Act и the European Union Copyright Directive). То есть, нельзя выпустить под лицензией любое ПО, попадающее под действие этих директив. Таким образом, GPL 3.0 заботится о том, чтобы любое ПО, выпущенное под ее лицензией, можно было свободно модифицировать, обходить или изменять.

Кроме того, GPL 3.0 борется с таким явлением как «тивоизация», когда устройство, на котором установлено программное обеспечение под лицензией GPL, не позволяет вам в силу различных причин модифицировать его. GPL v3.0 запрещает тивоизацию для товаров народного потребления (оставляя возможность тивоизации для медицинских и других важных устройств).

Вместе с GPL 3.0 вышла так же обновленная версия GNU Lesser GPL 3.0, которая продолжает отличаться тем, что позволяет использовать свободные библиотеки в закрытом ПО. [Источник 3] [Источник 2]

Отличия от GPL

Главное различие между GNU GPL и LGPL в том, что последняя явно позволяет такую компоновку с данным объектом других, которая создаёт производную от данного работу, если лицензия скомпонованных объектов позволяет «модификации для внутреннего использования потребителем и обратную разработку для отладки таких модификаций».

То есть LGPL, в отличие от GNU GPL, позволяет связывание библиотеки с любой программой, не обязательно свободной. Спорным является вопрос о том, разрешает ли LGPL статическую компоновку с проприетарным ПО. Явным образом LGPL не запрещает статическую компоновку (этот термин даже не используется в лицензии) и в настоящее время не было прецедентов, доказывающих обратное. В ряде коммерческих программ используется статическая компоновка с библиотеками, распространяемыми под LGPL.[Источник 4] [Источник 5]

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

Многие лицензии практически повторяют принципы, заложенные в GPL и отличаются, в принципе, только тем, что приняты коммерческими или другими организациями. Совместимость означает то, что отдельные части ПО с лицензией совместимого типа можно выпускать в комплексе с GPL-частями и под одной GPL лицензией.

Совместимые только с GPL v3.0 лицензии

  1. GNU Affero General Public License (AGPL) v3 — содержит пункт о том, что пользователи, которые взаимодействуют с программой по сети, так же должны иметь возможность получать исходные коды;
  2. Apache License, Version 2.0;
  3. Educational Community License 2.0;
  4. Freetype Project License;
  5. Microsoft Public License (Ms-PL);
  6. XFree86 1.1 License;[Источник 6]

Совместимые с GNU GPL лицензии (как с v2.0, v2.1 так и с v3.0 версией)

  1. Artistic License 2.0;
  2. Berkeley Database License (aka the Sleepycat Software Product License);
  3. Boost Software License;
  4. Modified BSD license;
  5. CeCILL version 2;
  6. Cryptix General License;
  7. Eiffel Forum License, version 2 — предыдущие версии не были совместимы;
  8. Expat License;
  9. FreeBSD license;
  10. Лицензия the iMatix Standard Function Library;
  11. Independent JPEG Group License;
  12. Лицензия imlib2;
  13. Intel Open Source License;
  14. ISC License;
  15. NCSA/University of Illinois Open Source License;
  16. Лицензия Netscape Javascript;
  17. OpenLDAP License, Version 2.7;
  18. Лицензия Perl 5 и ниже;
  19. Public Domain;
  20. Лицензии Python 2.0.1, 2.1.1, и более новые версии;
  21. Лицензия Ruby;
  22. Standard ML of New Jersey Copyright License;
  23. Unicode, Inc. License Agreement for Data Files and Software;
  24. W3C Software Notice and License; [Источник 7]

Источники

  1. GNU General Public License /Wikipedia [2018-2018]. URL: https://ru.wikipedia.org/wiki/GNU_General_Public_License (дата обращения: 05.05.2018).
  2. 2,0 2,1 2,2 Различные лицензии и комментарии к ним [2018-2018]. URL: https://www.gnu.org/licenses/license-list.html (дата обращения: 05.05.2018).
  3. Неофициальный Перевод GNU GPLv3 // Google Code Archive [2018-2018]. URL: https://code.google.com/archive/p/gpl3rus/wikis/LatestRelease.wiki (дата обращения: 26.04.2018).
  4. GNU LGPL//Wikipedia [2018-2018]. URL: https://ru.wikipedia.org/wiki/GNU_Lesser_General_Public_License (дата обращения: 05.05.2018).
  5. GNU LGPL//Wikipedia [2018-2018]. URL: https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License (дата обращения: 05.05.2018).
  6. Различные лицензии и комментарии к ним [2018-2018]. URL: https://www.gnu.org/licenses/license-list.html (дата обращения: 05.05.2018).
  7. Различные лицензии и комментарии к ним [2018-2018]. URL: https://www.gnu.org/licenses/license-list.html (дата обращения: 05.05.2018).

Ссылки