Стандартная общественная лицензия ограниченного применения GNU


GNU Lesser General Public License ( LGPL ) — это лицензия на свободное программное обеспечение, опубликованная Фондом свободного программного обеспечения (FSF). Лицензия позволяет разработчикам и компаниям использовать и интегрировать программный компонент, выпущенный под лицензией LGPL, в свое собственное (даже проприетарное ) программное обеспечение, не требуя по условиям строгой лицензии с авторским левом выпускать исходный код своих собственных компонентов. Тем не менее, любой разработчик, который модифицирует компонент, на который распространяется лицензия LGPL, обязан сделать свою измененную версию доступной под той же лицензией LGPL. Для проприетарного программного обеспечения код под LGPL обычно используется в виде разделяемой библиотеки ., так что существует четкое разделение между проприетарными компонентами и компонентами LGPL. LGPL в основном используется для библиотек программного обеспечения , хотя также используется некоторыми автономными приложениями.

LGPL была разработана как компромисс между строгим авторским левом Стандартной общественной лицензии GNU (GPL) и более либеральными лицензиями , такими как лицензии BSD и лицензия MIT . Слово «Меньше» в названии показывает, что LGPL не гарантирует конечному пользователю полной свободы в использовании программного обеспечения; он гарантирует свободу модификации только для компонентов, лицензированных по лицензии LGPL, но не для каких-либо проприетарных компонентов.

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

В дополнение к термину «работа, основанная на Программе» GPL, LGPL версии 2 ввела два дополнительных поясняющих термина: «работа, основанная на библиотеке» и «работа, в которой используется библиотека». [4] Версия 3 LGPL частично исключила эти термины.

Основное различие между GPL и LGPL заключается в том, что последняя позволяет связывать произведение с (в случае с библиотекой, «используемой») программой, не находящейся под (L)GPL, независимо от того, лицензируется ли она по лицензия семейства GPL или другие лицензии. [5] В соответствии с LGPL 2.1 программа без (L)GPL может распространяться на любых условиях, если она не является производной работой . Если это производная работа, то условия программы должны разрешать «модификацию работы для собственного использования заказчиком и обратный инжиниринг для отладки таких модификаций». Вопрос о том, является ли произведение, использующее программу LGPL, производным произведением или нет, является юридическим вопросом. Автономный исполняемый файл, который динамически связывается с библиотекой через .so ,.dll или аналогичный носитель обычно считается не производным произведением, как это определено в LGPL. Это подпадало бы под определение «работа, в которой используется библиотека». Параграф 5 LGPL версии 2.1 гласит:

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