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