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.
Założenia
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
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ż
Przypisy
Linki zewnętrzne
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.