Меньшая стандартная общественная лицензия GNU
Опубликовано | 1991 год |
---|---|
SPDX- идентификация | LGPL-3.0 или более поздняя версия Только LGPL-3.0 LGPL-2.1 или более поздняя версия Только LGPL-2.1 LGPL-2.0 или более поздняя версия Только LGPL-2.0 |
Совместимость с Debian FSG | Да [1] |
ФСФ одобрено | Да [2] |
OSI одобрено | Да [3] |
Совместимость с лицензией GPL | Да [2] |
Авторское лево | Да [2] ( на основе библиотеки или динамического связывания ) |
Связывание из кода с другой лицензией | Да |
Веб-сайт | www |
GNU Lesser General Public License ( LGPL ) — это лицензия на свободное программное обеспечение , опубликованная Фондом свободного программного обеспечения (FSF). Лицензия позволяет разработчикам и компаниям использовать и интегрировать программный компонент, выпущенный под лицензией LGPL, в свое собственное (даже проприетарное ) программное обеспечение, при этом условия строгой лицензии с авторским левом не требуют выпуска исходного кода своих собственных компонентов. Однако любой разработчик, который изменяет компонент, на который распространяется действие LGPL, обязан сделать свою модифицированную версию доступной под той же лицензией LGPL. Для проприетарного программного обеспечения код LGPL обычно используется в форме разделяемой библиотеки , поэтому существует четкое разделение между проприетарными компонентами и компонентами LGPL. LGPL в основном используется для библиотек программного обеспечения , хотя он также используется некоторыми автономными приложениями.
LGPL была разработана как компромисс между строгим авторским левом ( Стандартной общественной лицензии GNU GPL) и более либеральными лицензиями, такими как лицензии BSD и MIT License . Слово «Меньшее» в названии показывает, что LGPL не гарантирует конечному пользователю полную свободу в использовании программного обеспечения; он гарантирует свободу модификации только компонентов, лицензированных по LGPL, но не каких-либо проприетарных компонентов.
История
[ редактировать ]Лицензия первоначально называлась GNU Library General Public License и была впервые опубликована в 1991 году, и ей был присвоен номер версии 2 для соответствия версии 2 GPL. LGPL была незначительно переработана в версии 2.1, опубликованной в 1999 году, когда она была переименована в GNU Lesser General Public License, чтобы отразить позицию FSF, согласно которой не все библиотеки должны ее использовать. Версия 3 LGPL была опубликована в 2007 году как список дополнительных разрешений, применимых к версии 3 GPL.
В дополнение к термину «работа, основанная на Программе» GPL, LGPL версии 2 ввела два дополнительных поясняющих термина «работа, основанная на библиотеке» и «работа, использующая библиотеку». [4] В LGPL версии 3 эти условия частично исключены.
Отличия от GPL
[ редактировать ]Основное различие между GPL и LGPL состоит в том, что последняя позволяет связать произведение (в случае библиотеки, «используемое») с программой, не подпадающей под (L)GPL, независимо от того, лицензирована ли она под лицензией GPL. лицензия семейства GPL или другие лицензии. [5] В LGPL 2.1 программа без (L)GPL может распространяться на любых условиях, если она не является производной работой . Если это производная работа, то условия программы должны разрешать «модификацию работы для собственного использования заказчиком и обратное проектирование для отладки таких модификаций». Является ли произведение, в котором используется программа LGPL, производным произведением или нет, является юридическим вопросом. Автономный исполняемый файл, который динамически связывается с библиотекой через .so , .dll или аналогичный носитель, обычно не считается производным произведением, как это определено LGPL. Это подпадает под определение «произведения, в котором используется Библиотека». Параграф 5 LGPL версии 2.1 гласит:
- Программа, которая не содержит производных от какой-либо части Библиотеки, но предназначена для работы с Библиотекой путем компиляции или компоновки с ней, называется «произведением, использующим Библиотеку». Такая работа сама по себе не является производной работой Библиотеки и, следовательно, выходит за рамки настоящей Лицензии.
По сути, если это «произведение, использующее библиотеку», тогда должна быть возможность связать программное обеспечение с более новой версией программы, подпадающей под действие LGPL. Наиболее часто используемый метод для этого — использовать «подходящий механизм общей библиотеки для связывания». В качестве альтернативы допускается использование статически связанной библиотеки , если предоставлен исходный код или подключаемые объектные файлы. [6]
Совместимость
[ редактировать ]Одной из особенностей LGPL является разрешение на сублицензирование. [7] под лицензией GPL любая часть программного обеспечения, полученная по лицензии LGPL (см. раздел 3 LGPL версии 2.1 и раздел 2, опция b LGPL версии 3). Эта функция позволяет напрямую повторно использовать код LGPL в библиотеках и приложениях под лицензией GPL.
Версия 3 LGPL по своей сути несовместима с версией 2 GPL. Однако работы с использованием последней, давшие разрешение на использование более поздней версии GPL, совместимы: [8] произведение, выпущенное под лицензией GPLv2 «или любой более поздней версии», может быть объединено с кодом из библиотеки LGPL версии 3, при этом объединенное произведение в целом подпадает под условия GPLv3. [9]
Рекомендации ФСФ по лицензированию библиотек
[ редактировать ]Прежнее название GNU Library General Public License создавало у некоторых впечатление, что FSF рекомендовал всем библиотекам программного обеспечения использовать LGPL, а программам — GPL. В эссе 1999 года «Почему вам не следует использовать Меньшую GPL для вашей следующей библиотеки» Ричард Столлман объяснил, что, хотя LGPL не устарела , не обязательно использовать LGPL для всех библиотек, поскольку использование GPL может дать преимущество разработчикам свободного программного обеспечения. . [5]
С другой стороны, FSF иногда выступает за еще менее строгие лицензии. Например, Столлман одобрил использование лицензии в стиле BSD проектом Vorbis в своих библиотеках в 2001 году. [10]
Спецификации языка программирования
[ редактировать ]В лицензии используется терминология, которая в основном предназначена для приложений, написанных на языке программирования C или его семействе. Franz Inc., разработчики Allegro Common Lisp , опубликовали собственную преамбулу к лицензии для пояснения терминологии в контексте Lisp . LGPL с этой преамбулой иногда называют LLGPL. [11]
Кроме того, в Ada есть специальная функция, generics , которая может побудить к использованию GNAT Modified General Public License (GMGPL): она позволяет коду связываться с модулями, охватываемыми GMGPL, или создавать экземпляры модулей, охватываемых GMGPL, без того, чтобы сам код попадал под действие GPL.
Шаблоны C++ и библиотеки только заголовков имеют ту же проблему, что и дженерики Ada. Версия 3 LGPL рассматривает такие случаи в разделе 3. [12]
Наследование классов
[ редактировать ]Возникла некоторая обеспокоенность по поводу возможности наследования объектно-ориентированных классов в коде, лицензируемом LGPL, кодом, отличным от (L)GPL. Разъяснения даны на официальном сайте GNU:
- LGPL не содержит специальных положений о наследовании, поскольку в них нет необходимости. Наследование создает производные работы так же, как традиционное связывание, и LGPL разрешает этот тип производных работ так же, как и обычные вызовы функций. [13]
См. также
[ редактировать ]- Я приношу Стандартную общественную лицензию GNU.
- Лицензия на бесплатную документацию GNU
- Модифицированная Генеральная общественная лицензия GNAT
- Исключение привязки GPL
- Программное обеспечение, использующее LGPL (категория)
Ссылки
[ редактировать ]- ^ Информация о лицензии Debian
- ^ Перейти обратно: а б с «Различные лицензии и комментарии к ним» . Фонд свободного программного обеспечения . 26 июня 2018 года . Проверено 2 августа 2018 г.
- ^ по лицензиям и стандартам с открытым исходным кодом Инициатива
- ^ «Глава 10. Меньшая GPL» . Авторское лево и Универсальная общественная лицензия GNU: комплексное руководство и руководство . 2018.
- ^ Перейти обратно: а б Столлман, Ричард. « Почему вам не следует использовать Меньшую GPL для вашей следующей библиотеки ». Фонда свободного программного обеспечения . Официальный сайт
- ^ Gnu Lesser General Public License, Раздел 4 , pt. г) 0)
- ^ «сублицензия» . Викисловарь . 7 декабря 2020 г.
- ^ GNU Lesser General Public License (LGPL), версия 3 . Фонда свободного программного обеспечения . Официальный сайт
- ^ Часто задаваемые вопросы о лицензиях GNU — Проект GNU — Фонд свободного программного обеспечения . Фонда свободного программного обеспечения . Официальный сайт
- ^ Столлман, Ричард. Re: [с открытым исходным кодом] [Вперед: [icecast-dev] Xiph.org анонсирует Vorbis Beta 4 и Xiph.org
- ^ Преамбула к Gnu Lesser General Public License
- ^ LGPLv3 для библиотеки шаблонов Pure C++?
- ^ Тернер, Дэвид. LGPL и Java . GNU . Официальный сайт