]]>

Licencja GNU GPL/GNU LGPL

GNU General Public License

Powszechna Licencja Publiczna GNU (GNU General Public License) jest jedną z licencji wolnego oprogramowania, która została sformułowana w 1988 przez Richarda Stallmana i Ebena Moglena na potrzeby Projektu GNU, na podstawie wcześniejszej Emacs General Public License. Wersja 2. licencji GNU GPL została wydana w roku 1991.

Celem tej licencji jest przekazanie użytkownikom praw do uruchamiania programu w dowolnym celu (wolność 0), analizowania działania programu i dostosowywania go do swoich potrzeb (wolność 1), kopiowania (wolność 2) oraz udoskonalania i publikowania własnych poprawek (wolność 3) programów i kodu źródłowego tych programów, których programiści postanowili wydać je w oparciu o tę licencję.

GPL jest obecnie najpopularniejszą licencją wolnodostępnego oprogramowania. Licząc według linii kodu w dystrybucji Red Hat Linux 7, 55.30% było udostępnione na licencji GPL, z czego 50.36% wyłącznie GPL.


Założenia

Licencja ma zapewniać użytkownikom programów komputerowych prawo do:

  • korzystania z programu w dowolnym celu
  • badania, w jaki sposób program działa i modyfikowania go
  • prawo do dystrybucji kopii
  • prawo do ulepszania programu i udostępniania poprawek innym

Historia

Pierwsza wersja licencji powstała w styczniu 1989 roku, dwa lata później pojawiła się wersja druga. Obecnie prowadzone są prace nad trzecią wersją GPL. 16 stycznia 2006 Free Software Foundation opublikowało pierwszy szkic tej licencji, który ma być przedmiotem publicznej dyskusji i poprawek przez kolejne miesiące. Spodziewana data ostatecznego zatwierdzenia treści GPL 3 to wiosna 2007 r.

Zmiany w wersji 3 są umiarkowane i mają na celu głównie dostosowanie ochrony licencyjnej do współczesnego stanu informatyki. GPL 3 bierze pod uwagę między innymi systemy prawne poza USA, kwestie patentów na oprogramowanie, ochronę DRM oraz problem istnienia wielu niezgodnych ze sobą licencji.


Kwestie dyskusyjne

Jedną z kluczowych kwestii związanych z GPL jest problem, czy oprogramowanie na innej licencji może być dynamicznie linkowane z bibliotekami GPL. Sama licencja wyraźnie mówi, że wszystkie pochodne prace bazujące na kodzie GPL muszą same opierać się na GPL. Jednak nie jest jasne, czy plik wykonywalny, który jest dynamicznie linkowany z biblioteką może być uważany za pracę pochodną. Środowisko wolnego/otwartego oprogramowania jest podzielone w tej kwestii, Free Software Foundation zakłada, że tak właśnie jest, inni eksperci nie zgadzają się z tym.


Kompatybilność z innymi licencjami

Większość licencji wolnego oprogramowania, jak na przykład licencja MIT, licencja BSD i LGPL jest kompatybilnych z GPL. Znaczy to, że kod źródłowy oparty na nich może być włączony bez problemu do programu na GPL (całość będzie wtedy objęta GNU GPL). Są jednak licencje open source, które nie są kompatybilne z GPL. Z tego powodu wiele osób odradza używanie takich licencji, ponieważ oparty o nie kod trudno jest ponownie użyć w innych projektach.

Kod na licencji GNU GPL nie może być użyty w programach o innych licencjach.


Krytyka GPL

Krytycy GPL często określają licencję jako "wirusową", ze względu na to, że wszelkie prace bazujące na dziele objętym GPL muszą również być oparte o tę licencję. Tak więc GPL oddziałuje na każdy program, który korzysta z kodu GPL. Krytyka tego przymusu najczęściej jest kierowana ze strony zwolenników mniej restrykcyjnych licencji, jak na przykład licencja BSD.


GNU LGPL

GNU Lesser General Public License (pomniejsza ogólna powszechna licencja 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.


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 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.