GNU General Public License
- 1 year ago
- 0
- 0
GNU Lesser General Public License ( LGPL ) — это лицензия свободного программного обеспечения за авторством Free Software Foundation (FSF). Лицензия позволяет разработчикам и предприятиям использовать и внедрять программное обеспечение, лицензированное на условиях LGPL в их собственном (даже проприетарном ) программном обеспечении, при этом отсутствует обязательное требование предоставления исходного кода собственных компонентов под копилефт лицензией. Необходимым условием лицензии является только возможность модифицировать программное обеспечение, лицензируемое под LGPL, конечными пользователями, предоставляя им для этого исходный код. В проприетарном программном обеспечении код под лицензией LGPL обычно используется в форме разделяемой библиотеки , так что существует четкое разделение между проприетарными компонентами и LGPL-компонентами. LGPL в основном используется библиотеками программного обеспечения , впрочем, она также используется некоторыми автономными приложениями. Ранее лицензия называлась GNU Library General Public License и была впервые опубликована в 1991, номер версии 2 был взят для сходства с лицензией GPL версии 2. LGPL претерпела незначительные изменения в версии 2.1, выпущенной в 1999, тогда же была переименована в GNU Lesser General Public License для отражения позиции FSF, который считал, что лицензия применима не для всех библиотек. Версия 3 LGPL вышла в 2007 в виде расширяющего GPL версии 3 списка дополнительных разрешений.
LGPL разработана как компромисс между строгой копилефт лицензией GNU General Public License (GPL) и более разрешительными лицензиями, такими как лицензии BSD и лицензия MIT . Слово «Lesser» в названии указывает, что LGPL не гарантирует конечному пользователю полную свободу использовать программное обеспечение как угодно; она гарантирует свободу изменения тех его компонентов, которые лицензированы под LGPL, но не проприетарных компонентов.
Ранее лицензия называлась GNU Library General Public License и была впервые опубликована в 1991, номер версии 2 был взят для сходства с лицензией GPL версии 2. LGPL претерпела незначительные изменения в версии 2.1, выпущенной в 1999, тогда же была переименована в GNU Lesser General Public License для отражения позиции FSF, который считал, что лицензия применима не для всех библиотек. Версия 3 LGPL вышла в 2007 в виде расширяющего GPL версии 3 списка дополнительных разрешений.
Главное отличие GPL от LGPL в том, что последняя позволяет лицензируемой под ней работе линковаться (в случае библиотеки, «использоваться») с не-(L)GPL программным обеспечением, вне зависимости от того, свободное это программное обеспечение или проприетарное . Не-(L)GPL программное обеспечение затем может распространяться под любыми условиями, если не является производной работой вышеупомянутого ПО. Если это не так, программное обеспечение должно позволять «модификацию конечным пользователем для целей использования данного программного обеспечения, а также обратную разработку для отладки внесенных изменений.» Впрочем, лицензия устанавливает это юридическое требование вне зависимости от того, является ли программное обеспечение под лицензией LGPL производной работой или нет. Автономный исполнимый модуль, динамически линкующийся с библиотекой путём .so , .dll или схожим способом, является приемлемым и не является производной работой, это определено в LGPL. Он характеризуется определением «работы, которая использует библиотеку». В параграфе 5 LGPL версии 2.1 указано:
По существу, если это «работа, которая использует библиотеку», тогда должна быть возможность линковки программного обеспечения с новой версией продукта, лицензируемого под LGPL. Самый часто используемый метод это сделать — использовать «подходящий механизм разделяемых библиотек для линковки». В качестве альтернативы разрешена статическая линковка , если предоставлен исходный код или объектные файлы для линковки.
Одним из прав, предоставляемых LGPL, является право под лицензией GPL любой части программного обеспечения, полученного на условиях LGPL (смотрите секцию 3 LGPL версии 2.1, и секцию 2 опцию b LGPL версии 3). Это право позволяет прямое использование кода под LGPL в библиотеках и приложениях под лицензией GPL.
Версия 3 LGPL не является автоматически совместимой с версией 2 GPL. Тем не менее работы, использующие последнюю, с разрешением использовать более позднюю версию GPL, совместимы: работа, лицензируемая под GPLv2 «и более поздними», может быть совмещена с кодом под лицензией LGPL версии 3, получившаяся работа подпадает под условия лицензии GPLv3.
Раннее имя «GNU Library General Public License» создавало впечатление, что рекомендуемые FSF библиотеки используют LGPL, а программное обеспечение — GPL. В феврале 1999 г. лидер проекта GNU Ричард Столлман написал эссе Почему вы не должны использовать Lesser GPL в вашей следующей библиотеке , объяснив, что LGPL не была объявлена неподдерживаемой , но, что она не обязательно непременно должна использовать LGPL для всех библиотек:
Столлман и FSF, мысля стратегически, временами отстаивают использование даже менее ограничивающих, чем LGPL, лицензий. Ярким примером является поддержка Столлмана использования лицензий BSD проектом Vorbis в своих библиотеках.
Лицензия использует терминологию, применимую в основном в приложениях, написанных на C и языках его семейства. Franz Inc. опубликовало собственное введение в лицензию для разъяснения терминологии в контексте Lisp . На LGPL с этой преамбулой иногда ссылаются как LLGPL.
В дополнение к этому, в Ada имеется специальная возможность , которая предлагает использовать : она позволяет коду линковаться c или создавать экземпляры компонентов, покрываемых лицензией GMGPL, без покрытия кода лицензией GPL.
Поднялось некоторое беспокойство по поводу возможности наследовать классы объектно-ориентированного программирования из программного обеспечения по лицензии LGPL в программном обеспечении в не-(L)GPL коде. Разъяснение дано на официальном сайте GNU: