Licencja GNU General Public License w wersji 3 (GPLv3) to jedna z najważniejszych licencji wolnego i otwartego oprogramowania (FOSS), opracowana przez Free Software Foundation pod kierunkiem Richarda Stallmana i opublikowana jako następca GPLv2 w 2007 roku (pierwsza GPL ukazała się w 1989 roku).
GPLv3 gwarantuje cztery kluczowe wolności: uruchamiania programu w dowolnym celu, badania jego działania dzięki dostępowi do kodu źródłowego, redystrybucji kopii oraz modyfikacji i dystrybucji wersji zmienionych – zawsze na tej samej licencji.
W erze open source GPLv3 pozostaje fundamentem wielu projektów GNU (np. Bash, GCC), chroniąc wolność użytkowników i deweloperów przed zagrożeniami, takimi jak patenty, DRM czy tivoizacja. Ten materiał omawia historię, kluczowe zapisy, zasady użycia, porównanie z innymi licencjami oraz praktyczne wskazówki oparte na źródłach Free Software Foundation (FSF).
Historia i ewolucja licencji GNU GPL
Pierwsza wersja GPL (GPLv1) pojawiła się w 1989 roku jako odpowiedź na postępującą komercjalizację oprogramowania. W 1991 roku wydano GPLv2, wzmacniając ochronę użytkowników. Po 16 latach, w 2007 roku, ukazała się GPLv3 – pierwsza znacząca aktualizacja, przygotowana w 18‑miesięcznym, międzynarodowym procesie konsultacji.
Główne zmiany w GPLv3 dostosowują licencję do współczesnych wyzwań:
- patenty na oprogramowanie – wprowadzenie klauzuli odwetu patentowego i automatycznej licencji patentowej dla kontrybutorów, co minimalizuje ryzyko agresji patentowej;
- ochrona przed DRM i tivoizacją – zakaz praktyk uniemożliwiających instalację zmodyfikowanego oprogramowania na dostarczonym sprzęcie, nawet jeśli stosowany jest DRM;
- międzynarodowy charakter – doprecyzowania zgodne z prawem poza USA, w tym definicje czynności prawnych dotyczących rozpowszechniania;
- większa kompatybilność – lepsze zgrywanie z innymi licencjami FOSS oraz precyzyjne rozróżnienie pojęć „propagate” (propagowanie) i „convey” (przekazywanie).
GPLv3 dopuszcza przyznawanie dodatkowych uprawnień oraz pewnych dodatkowych warunków (sekcja 7), przy czym nie wolno wprowadzać ograniczeń naruszających prawa przyznane przez licencję.
Tłumaczenie kluczowych zapisów GPLv3
Pełny tekst GPLv3 jest dostępny po polsku na stronie GNU jako nieoficjalne tłumaczenie informacyjne (gnu.org/licenses/gpl-3.0.pl.html). Wiążąca prawnie jest wyłącznie wersja angielska.
Preambuła i wolności użytkownika
Preambuła podkreśla, że celem licencji jest realna ochrona wolności użytkownika i wspólnoty. W praktyce oznacza to cztery nienaruszalne wolności:
- uruchamianie programu – w dowolnym celu, bez ograniczeń;
- studiowanie działania – dostęp do pełnego kodu źródłowego umożliwia analizę i naukę;
- redystrybucja kopii – możesz udostępniać program dalej tym samym lub innym użytkownikom;
- modyfikacja i dystrybucja zmian – wolno zmieniać kod i publikować wersje pochodne na tej samej licencji.
Sekcja 0 – definicje
„The Program” oznacza każdy program objęty GPLv3 (konkretny utwór), natomiast „convey” (przekazywanie) to czynność udostępnienia programu lub jego kopii innym – pojęcie szersze i precyzyjniejsze niż „distribute” znane z GPLv2.
Sekcja 2 – podstawowe wolności
Każda dystrybucja zmodyfikowanej wersji musi oferować licencję GPL wszystkim stronom trzecim, a modyfikacje powinny być wyraźnie oznaczone wraz z udostępnieniem źródła.
Sekcje 4–6 – udostępnianie źródła
Jeśli przekazujesz binaria (np. pliki wykonywalne), musisz zapewnić równoważny, łatwy dostęp do pełnego kodu źródłowego – w tym skryptów budujących i instalacyjnych – w tym samym miejscu i bez dodatkowych obostrzeń.
Przykład: dystrybuując pakiet binarny na swojej stronie, udostępnij obok niego archiwum ze źródłami lub ważną ofertę dostępu przez sieć.
Sekcje 7–8 – patenty i kompatybilność
Kontrybutorzy automatycznie udzielają licencji patentowej na swój wkład w wersję kontrybutora. Łączenie z innymi licencjami jest dozwolone tylko wtedy, gdy spełnione są warunki kompatybilności i nie narusza to postanowień GPLv3.
Sekcja 13 (AGPLv3, wariant sieciowy)
W przypadku AGPLv3 oprogramowanie udostępniane wyłącznie przez sieć musi zapewniać użytkownikom zdalnym dostęp do kodu źródłowego poprzez interfejs sieciowy.
Dodatkowe klauzule
„W wersji 3 lub dowolnej późniejszej” – dołączenie takiej formuły w nagłówku licencji projektu pozwala skorzystać w przyszłości z ewentualnych aktualizacji FSF.
Opłaty – możesz pobierać wynagrodzenie za nośnik, dystrybucję, wsparcie lub gwarancję, ale nie możesz nakładać dodatkowych ograniczeń licencyjnych odbierających użytkownikom prawa wynikające z GPLv3.
Zasady użytkowania GPLv3 – krok po kroku
GPLv3 to licencja o silnym copyleft: prace pochodne i komponenty łączone w jeden program muszą być licencjonowane na warunkach GPLv3. Oto praktyczne reguły:
-
Używanie prywatne – możesz kopiować i uruchamiać program bez ograniczeń i bez obowiązku udostępniania źródła;
-
Modyfikacje – dokumentuj zmiany w kodzie; dystrybuuj zmodyfikowane wersje wyłącznie na GPLv3, z wyraźnym oznaczeniem modyfikacji;
-
Dystrybucja binariów – zapewnij pełne źródła (wraz z plikami build/instalacyjnymi, np. Makefile) w sposób równoważny do udostępniania binariów;
-
Łączenie z innymi kodami – oto krótkie zestawienie:
Scenariusz Wymaganie GPLv3 Statyczne linkowanie z kodem GPLv3 cały program musi być na GPLv3 Dynamiczne linkowanie z biblioteką LGPLv3 dozwolone bez „zakażania” programu; biblioteka pozostaje na LGPLv3 Udostępnianie wyłącznie przez sieć (AGPLv3) źródło musi być dostępne użytkownikom sieciowym -
Sprzęt i DRM – zabronione jest uniemożliwianie instalacji zmodyfikowanego oprogramowania (tivoizacja), nawet gdy obowiązują mechanizmy DRM;
-
Patenty – przekazując program, udzielasz licencji patentowej na swój wkład; naruszenie praw patentowych może unieważnić twoje uprawnienia na mocy GPLv3.
Nie możesz ukrywać źródeł ani nakładać dodatkowych ograniczeń licencyjnych odbierających użytkownikom prawa z GPLv3; łączenie z kodem zamkniętym w sposób tworzący jeden program wymaga zgodności z copyleft (w przeciwnym razie jest niedozwolone).
Porównanie GPLv3 z pokrewnymi licencjami
Dla szybkiego porównania charakteru copyleft i zastosowań zobacz poniższą tabelę:
| Licencja | Copyleft | Zakres | Kluczowa cecha | Przykłady |
|---|---|---|---|---|
| GPLv3 | silny (cały program) | binarne + źródło przy dystrybucji | ochrona przed DRM i tivoizacją, klauzule patentowe | Bash, GCC |
| LGPLv3 | słabszy (głównie biblioteki) | kompatybilna z oprogramowaniem właścicielskim | dynamiczne linkowanie bez rozszerzania copyleft na całość | wybrane biblioteki systemowe |
| AGPLv3 | silny + warunek sieciowy | aplikacje web/serwerowe | źródło także dla użytkowników zdalnych | oprogramowanie SaaS |
Na tle licencji permisywnych (np. MIT, Apache-2.0) GPLv3 jest bardziej wymagająca, ale skuteczniej chroni wolność użytkowników i społeczności.
Często zadawane pytania (FAQ) i pułapki
Na podstawie oficjalnego FAQ FSF warto pamiętać o następujących kwestiach:
- czy GPLv3 wpływa na urządzenia specjalnego przeznaczenia – licencja dotyczy wyłącznie dystrybuowanego oprogramowania; sama w sobie nie nakazuje zmian w sprzęcie (poza zakazem tivoizacji przy dystrybucji oprogramowania na nim);
- relacja z AGPLv3 po stronie klienta – klienci łączący się z usługą AGPLv3 nie muszą udostępniać źródła serwerowi, o ile sami nic nie udostępniają użytkownikom sieciowym;
- uruchamianie bez dystrybucji – wyłącznie lokalne użycie nie rodzi obowiązków udostępniania kodu źródłowego;
- typowe pułapki – niejasności wokół dodatkowych warunków z sekcji 7, kwestie DRM w urządzeniach o krytycznym znaczeniu oraz błędne przekonanie, że nie wolno pobierać żadnych opłat (wolno, byle nie naruszać praw z GPL).
Wpływ GPLv3 na branżę i przyszłość
GPLv3 wciąż kształtuje ekosystem open source, zapewniając równowagę między swobodą użytkowników a wymogami transparentności dla dystrybutorów. Niektóre organizacje unikają jej w określonych komponentach z powodu konsekwencji silnego copyleft dla modeli biznesowych, jednak wiele nowych projektów świadomie wybiera GPLv3 lub nowszą, aby trwale zabezpieczyć wolności użytkowników i społeczności.






