Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

История [ править ]

Первоначально эта лицензия называлась Стандартной общественной лицензией для библиотеки GNU и была впервые опубликована в 1991 году. В ней была принята версия 2 для паритета с версией 2 GPL. В версии 2.1, опубликованной в 1999 году, LGPL была пересмотрена незначительно. была переименована в Стандартную общественную лицензию ограниченного применения 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 (категория)

Ссылки [ править ]

  1. ^ «Глава 10. Меньшая GPL» . Авторское лево и Стандартная общественная лицензия GNU: Всеобъемлющее руководство и руководство . 2018.
  2. ^ a b Столмен, Ричард. Почему вам не следует использовать Lesser GPL для вашей следующей библиотеки . Официальный сайт Free Software Foundation .
  3. ^ Стандартная общественная лицензия ограниченного применения Gnu, раздел 4 , pt. г) 0)
  4. ^ Стандартная общественная лицензия ограниченного применения GNU (LGPL) версии 3 . Официальный сайт Free Software Foundation .
  5. ^ Часто задаваемые вопросы о лицензиях GNU - Проект GNU - Фонд свободного программного обеспечения . Официальный сайт Free Software Foundation .
  6. ^ Столмен, Ричард. Re: [open-source] [Fwd: [icecast-dev] Xiph.org объявляет о выпуске Vorbis Beta 4 и Xiph.org
  7. ^ Преамбула к Стандартной общественной лицензии ограниченного применения GNU
  8. ^ LGPLv3 для чистой библиотеки шаблонов C ++?
  9. ^ Тернер, Дэвид. LGPL и Java . Официальный сайт GNU .

Внешние ссылки [ править ]

  • Официальная страница LGPL
  • Производные работы
  • Копилефт Лиспа: внимательное прочтение LGPL Лиспа, 5 Международный обзор закона о свободном и открытом программном обеспечении 15 (2013)