Celem licencji GNU GPL jest przekazanie użytkownikom czterech podstawowych wolności[4]:
wolność uruchamiania programu w dowolnym celu (wolność0)
wolność analizowania, jak program działa i dostosowywania go do swoich potrzeb (wolność1)
wolność rozpowszechniania niezmodyfikowanej kopii programu (wolność2)
wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność3)
Tylko jeżeli program spełnia wszystkie cztery wolności jednocześnie, wówczas, wedługFSF, może być uznany zawolne oprogramowanie. Wystarczy, że nie spełnia dowolnej z nich, a nie może być tak skategoryzowany (jestoprogramowaniem zamkniętym).
Pierwsza wersja licencji powstała w lutym1989 roku.
Dwa lata później, w czerwcu1991, pojawiła się wersja druga.
29 czerwca2007, po 18 miesiącach prac (w czasie których wydano 4 szkice licencji oraz przeprowadzono kampanię zachęcającą do przejścia na nową wersję za około pół miliona dolarów), wydano trzecią wersję licencji.
Zmiany w wersji 3. są umiarkowane i mają na celu głównie dostosowanie ochrony licencyjnej do współczesnego stanu informatyki. GPLv3 bierze pod uwagę między innymi systemy prawne poza USA, kwestiepatentów na oprogramowanie, ochronęDRM, procedertiwoizacji oraz problem istnienia wielu niezgodnych ze sobą licencji.
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, czyplik wykonywalny, który jest dynamicznie linkowany z biblioteką, może być uważany za pracę pochodną.
Większość licencjiwolnego oprogramowania, jak na przykładlicencja X11,licencja BSD iLGPL jest kompatybilnych z GPL. Znaczy to, żekod ź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 licencjeopen source, które nie są kompatybilne z GPL. Z tego powodu wiele osób odradza używanie takich licencji, ponieważ opartego na nich kodu trudno jest ponownie użyć w innych projektach.
Kod na licencji GNU GPL nie może być użyty w programach opartych na innych licencjach.
Ze względu na to, że wszelkie prace bazujące na dziele objętym licencją GPL muszą również być oparte na tej licencji, licencja GPL jestlicencją wirusową. 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ładlicencja BSD.
↑Free Software Foundation: GNU General Public License. GNU, 2007-06-29. [dostęp 2018-01-06]. Cytat: GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 (ang.).