GNU Lesser General Public License

GNU Lesser General Public License (LGPL) – licencja wolnego oprogramowania zaaprobowana przez FSF, zaprojektowana jako kompromis między GNU GPL a liberalnymi licencjami jak licencja BSD lub licencja X11 (MIT). Napisana w roku 1991 (a następnie poprawiona w roku 1999) przez Richarda Stallmana z pomocą Ebena Moglena.

GNU Lesser General Public License}
Logo
Autor

Free Software Foundation

Wersja

3 (29 czerwca 2007; ponad 16 lat temu)[1]

Data wydania

czerwiec 1991[2]

Kompatybilność
Uznana przez FSF

tak

Uznana przez OSI

tak

Kompatybilna z GPL

tak

Copyleft

tak

Strona internetowa

Założenia edytuj

Licencja LGPL nakłada ograniczenia określane jako copyleft na poszczególne pliki źródłowe, ale nie na cały program pod warunkiem używania odpowiedniego mechanizmu bibliotek współdzielonych (ang. shared library) oraz przestrzegania pewnych dodatkowych ograniczeń. Licencja jest głównie przeznaczona do bibliotek, chociaż używają jej też aplikacje składające się z wielu połączonych ze sobą bibliotek, np. pochodzące z pakietu Calligra.

LGPL różni się od GPL głównie tym, że pozwala na łączenie z programami nieobjętymi licencjami GPL czy LGPL, niezależnie czy będą one wolnym, czy własnościowym oprogramowaniem.

Jedną z cech LGPL jest możliwość przekształcenia każdego kawałka kodu z LGPL na GPL (sekcja 3 licencji). Dzięki temu można stworzyć wersję kodu, której nikt nie będzie mógł rozprowadzać jako oprogramowanie własnościowe.

Nazwa licencji została zmieniona, ponieważ pierwotna nazwa (GNU Library General Public License) sugerowała, że FSF zaleca jej stosowanie dla wszystkich wolnych bibliotek. W 1999 roku, jeszcze przed zmianą nazwy, Richard Stallman napisał esej, w którym odradzał domyślne stosowanie GNU LGPL dla wszystkich tworzonych bibliotek i wyjaśnił, że z punktu widzenia FSF wybór licencji dla konkretnej biblioteki jest kwestią strategii.

Publikacja owego eseju („Dlaczego nie powinniście zastosować Library GPL dla swej kolejnej biblioteki”) bywała błędnie odczytywana jako sugestia, że LGPL jest przestarzała, i zalecenie, by nie stosować jej dla żadnych nowych bibliotek. Tymczasem w tekście tym czytamy:

Stosowanie zwykłej GPL nie dla każdej biblioteki jest szczególnie korzystne. Istnieją przyczyny, dla których w pewnych przypadkach lepiej jest użyć Library GPL.

Dwuznaczność zapisu edytuj

Licencja LGPL zawiera pewne kontrowersyjne sformułowania, tzn. frazę „derived works” w odniesieniu do dzieł pochodnych. Zanim popularne stało się programowanie obiektowe, owa fraza nie sprawiała nikomu problemu. Obecnie, fraza ta jest rozumiana przez niektórych inaczej. Zakładając, że aplikacja napisana obiektowo zawiera klasy dziedziczące (ang. derived) po klasach z biblioteki na licencji LGPL, niektórzy traktują ową aplikację jako dzieło pochodne (derived work) i mogą zażądać udostępnienia kodu aplikacji na licencji LGPL. Właśnie owa możliwość innej interpretacji słów „derived work” sprawiła, że m.in. biblioteki klas projektu Mono są udostępniane na licencji X11/MIT, która nie jest licencją wirusową (ang. viral license)[3]. Na oficjalnej stronie GNU widnieje sprostowanie:

The LGPL contains no special provisions for inheritance, because none are needed. Inheritance creates derivative works in the same way as traditional linking, and the LGPL permits this type of derivative work in the same way as it permits ordinary function calls.[4]

jednakże dopóki nie zostało ono włączone do prawnego tekstu licencji, nie miało ono mocy prawnej i nie mogło zapobiec drugiej z możliwych interpretacji zapisu „derived works”. 29 czerwca 2007 została opublikowana trzecia wersja licencji LGPL, która wyjaśnia w swej treści, jak należy rozumieć obiektowe dziedziczenie w kontekście licencji[5].

Zobacz też edytuj

Przypisy edytuj

  1. Free Software Foundation: GNU Lesser General Public License. GNU, 2007-06-29. [dostęp 2018-01-06]. Cytat: GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 (ang.).
  2. Free Software Foundation: GNU Library General Public License, version 2.0. GNU, czerwiec 1991. [dostęp 2018-01-06]. Cytat: GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 (ang.).
  3. Redirecting… [online], mono-project.com [dostęp 2017-11-23] [zarchiwizowane z adresu 2012-07-10] (ang.).
  4. Turner, David. The LGPL and Java. GNU official website.
  5. GNU Lesser General Public License Version 3

Linki zewnętrzne edytuj