GNU Lesser General Public License

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
GNU Lesser General Public License
Logo
Autor Free Software Foundation
Wersja 3
Data wydania 29 czerwca 2007
Kompatybilność
Uznana przez FSF tak
Uznana przez OSI tak
Kompatybilna z GPL tak
Copyleft tak
Tekst licencji

GNU Lesser General Public License, LGPL (słabsza powszechna licencja publiczna GNU), poprzednio GNU Library General Public License (powszechna licencja GNU dla bibliotek) - 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.

Założenia[edytuj | edytuj kod]

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 OpenOffice.org lub KOffice.

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 (w tym komercyjnym) 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 | edytuj kod]

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)[1]. 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.[2]

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[3].

Zobacz też[edytuj | edytuj kod]

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]