(od redakcji: poniższy tekst został pierwotnie opublikowany na łamach serwisu prowadzonego przez Krzysztofa. Zapraszamy też do zapoznania się z innymi opublikowanymi przez nas artykułami na tematy związane z GPLv3.)

GNU General Public License (GPL) jest najbardziej popularną licencją modelową stosowaną w obrocie wolnym oprogramowaniem. Od kilkunastu lat ogromna większość twórców wolnego oprogramowania decyduje się rozpowszechniać swoje programy na jednolitych warunkach tej licencji. W ten sposób powierzają oni niejako kształtowanie swoich praw i obowiązków względem użytkowników autorom GPL, czyli Free Software Foundation (FSF). Miarą tego zaufania jest fakt, że ponad 70 procent zarejestrowanych na SourceForge projektów licencjonowanych jest na zasadach GPL. Obecna, druga wersja GPL (GPLv2) została opublikowana przez FSF w 1991 roku i od tego czasu organizacja ta zachęca twórców oprogramowania do przyjmowania jej postanowień wprost dla swoich projektów.

Licencja ta została uznana przez FSF za zgodną z “Free Software Definition” (FSD), gdyż wyraźnie przyznaje użytkownikom wszystkie 4 wolności określone w tej definicji. Co ważniejsze, licencja ta zawiera także postanowienia, których celem jest aktywna ochrona tych wolności. Jest to istotna różnica w porównaniu do licencji typu BSD, które poprzestają w zasadzie na udzieleniu użytkownikowi praw, o których mowa w FSD lecz nie wymagają od niego poszanowania praw innych użytkowników, a przynajmniej nie w takim stopniu.

Po objęciu konkretnego programu przez indywidualnego twórcę postanowieniami GPL wiąże ona go z indywidualnymi użytkownikami. O ile twórcą tym (uprawnionym do programu) nie jest FSF, to w braku dodatkowych ustaleń nie może ona wpływać na stosunek prawny łączący twórcę i użytkowników. W szczególności, FSF nie mogłaby na przykład rozszerzyć praw użytkowników programu tego twórcy. GPLv2 zawiera jednak postanowienie, które ma na celu umożliwienie FSF takiej ingerencji. Mianowicie, jeżeli twórca obejmie swój program licencją GPLv2 lub “jakąkolwiek późniejszą wersją”, to licencjobiorca może stosować się do wersji drugiej lub kolejnej opublikowanej przez FSF. W ten sposób, FSF uzyskuje status podobny do ustawodawcy prawa powszechnie obowiązującego. Jest tak tym bardziej, że ogromna większość wolnego oprogramowania jest domyślnie objęta tym postanowieniem GPLv2. Istotnym wyjątkiem jest jednak jądro Linux, które zostało udostępnione przez Linusa Torvaldsa z wyraźnym zastrzeżeniem GPLv2 i tylko tej wersji, co wyłącza automatyczną zmianę licencji dla tego programu.

W chwili obecnej toczy się publiczna debata nad projektem wersji trzeciej GPL (GPLv3). FSF przedstawiła szczegółowy projekt wraz z uzasadnieniem oraz dostarczyła środki techniczne w celu zgłaszania uwag i poprawek do projektu. Z uzasadnienia wynika, że głównym celem “nowelizacji” jest dążenie do lepszej ochrony 4 wolności użytkowników. Projekt obejmuje oczywiście także pomniejsze zmiany, ale do podstawowych należy zaliczyć:

  1. zmianę klauzuli “copyleft”;
  2. wprowadzenie ochrony przed patentami na oprogramowanie;
  3. wprowadzenie ochrony przed DRM oraz
  4. wprowadzenie ochrony przed niekompatybilnością licencji.

Poniżej dokonano próby analizy tych wybranych postanowień z punktu widzenia prawa. Uwagi formułowane są na dużym poziomie ogólności, w oparciu o postanowienia samej GPLv3, bez odniesienia do konkretnego systemu prawa (jurysdykcji krajowej).

“Copyleft”

W największym skrócie, “copyleft” jest postanowieniem umownym, które wymaga od licencjobiorcy dalszego licencjonowania programu oraz programów pozostających z nim w określonym związku na zasadach takiej samej licencji. Ogólnie rzecz biorąc, wymóg stosowania postanowień GPL odnosi się do programu oryginalnego oraz programów będących opracowaniami lub utworami zbiorowymi opartymi na tym programie. Konkretnie, można wskazać na przykład, że zdaniem FSF na tej licencji powinny być udostępniane nie tylko programy zawierające kod programu na GPL lub stanowiące jego modyfikację, ale także programy połączone z takim programem chociażby tylko dynamicznie (”dynamic linking”).

Klauzula “copyleft” istnieje już w GPLv2, a w GPLv3 została doprecyzowana. Przede wszystkim wprowadzono wyraźniejsze definicje pojęć określających zakres tej klauzuli oraz działań licencjobiorcy prowadzących do uaktywnienia się wynikających z niej obowiązków. I tak, zgodnie z Sec. 0 pojęcie “utworu opartego na programie” oznacza sam program lub jego opracowanie w rozumieniu prawa autorskiego, czyli utwór zawierający zmodyfikowany lub niezmodyfikowany program lub jego część. Przez “modyfikację” natomiast rozumie się w szczególności tłumaczenie oraz rozszerzenie. Istotnym pojęciem jest także “Pełny odpowiedni kod źródłowy” (”Complete Corresponding Source Code”), który w Sec. 1 został zdefiniowany jako wszelki kod źródłowy konieczny do zrozumienia, przystosowania, modyfikacji, kompilacji, łączenia, instalacji oraz wykonania utworu. Przykładowo wymieniono tam:

  1. skrypty kontrolujące te czynności;
  2. współdzielone biblioteki oraz dynamicznie połączone podprogramy, z których dany utwór korzysta;
  3. pliki definicyjne interfejsu powiązane z plikami kodów źródłowych programu;
  4. kody szyfrowania i autoryzacji konieczne do instalacji i wykonania programu;
  5. kody deszyfrujące konieczne do uzyskania dostępu do wyniku działania programu.

Co istotne, obowiązki z klauzuli “copyleft” uaktywniają się tylko w przypadku podjęcia określonych działań w stosunku do programu, a nie każdego korzystania z niego. GPLv3 posługuje się pojęciem “propagacji” (”propagate”), celowo różniącym się od pojęć wykorzystywanych w prawach autorskich. “Propagacja” obejmuje wszystko to, na co właściwe prawo autorskie wymaga zgody uprawnionego poza wykonaniem programu w komputerze lub dokonaniem modyfikacji na własny użytek. Obejmuje ona w szczególności: zwielokrotnianie, rozpowszechnianie, modyfikacje, sublicencjonowanie. I tak, GPLv3 nie stawia żadnych warunków dla “propagacji”, w wyniku której nikt poza licencjobiorcą nie tworzy lub otrzymuje kopii programu (należeć tu będą zatem np. tzw. “Web Applications”). Natomiast jeżeli “propagacja programu” prowadzi do stworzenia lub otrzymania kopii programu na GPL przez użytkownika, to wtedy konieczne jest przestrzeganie warunków określonych w Sec. 4-6 GPLv3, a więc także i klauzuli “copyleft”.

Z powyższego wynika, że GPLv3 określa zakres “copyleft” szerzej, a już na pewno wyraźniej niż GPLv2. Wskazane jest odłożenie dyskusji na temat prawnej skuteczności takiego posunięcia do czasu opublikowania ostatecznej wersji tej licencji, a być może nawet do wykształcenia się praktyki jej stosowania. Już teraz można jednak wskazać na pojawiające się głosy krytyki, zwłaszcza dotyczące zakresu obowiązku udostępniania kodów koniecznych do uruchomienia programu lub uzyskania dostępu do wyniku jego działania. Na przykład, niektórzy odczytują te postanowienia jako wymóg udostępnienia kluczy prywatnych.

Patenty

Aktywiści ruchu wolnego oprogramowania należą do najzacieklejszych przeciwników udzielania ochrony patentowej wynalazkom, których poziom wynalazczy miałby wynikać z zastosowanego oprogramowania (tzw. “patenty na oprogramowanie”). W największym skrócie, ochrona taka jest wyraźnie dopuszczona w USA od lat 90. podczas gdy w Europie skłania się ku niej praktyka Europejskiego Urzędu Patentowego (EPO). Jednak z uwagi na odrzucenie projektu dyrektywy UE o wynalazkach realizowanych komputerowo, egzekucja patentów przyznanych przez EPO w poszczególnych państwach europejskich w praktyce kształtuje się rozmaicie. Zmianę tego może przynieść wprowadzenie patentu wspólnotowego przez UE, którego projekt znajduje się obecnie w fazie konsultacji.

Projektodawcy GPLv3 dostrzegają możliwość objęcia programów ochroną patentową. Ponieważ jednak uważają oni, że wpływa ona niekorzystnie na 4 wolności użytkownika, zdecydowali się zawrzeć w projekcie postanowienie wyraźnie chroniące przed patentami (Sec. 11). I tak, rozpowszechnianie utworu opartego na programie na GPLv3 oznacza udzielenie licencji patentowej na wszelkie działania określone w GPLv3. Jest to licencja niewyłączna, nieodpłatna oraz nieograniczona terytorialnie, a także obejmuje wszelkie patenty posiadane przez licencjobiorcę dokonującego rozpowszechniania. GPLv3 zobowiązuje ponadto licencjobiorcę do ochrony użytkowników przed roszczeniami z patentów osób trzecich, z których on sam korzysta na podstawie licencji.

Powyższe postanowienie wpisuje się w całokształt rozwiązań GPLv3, skierowanych przeciwko obserwowanym obecnie trendom rozszerzania zakresu praw wyłącznych na dobrach niematerialnych. Jest to jednak rozwiązanie podobne do wykorzystywanych w obrocie technologiami własnościowymi. Producenci tych technologii dość często tworzą przecież wspólne przedsięwzięcia (”joint-ventures”), w ramach których zobowiązują się wzajemnie do niedochodzenia roszczeń patentowych, a wręcz korzystają nawzajem ze swoich wynalazków aby wytworzyć nową jakość (tzw. “patent pools”). GPLv3 Sec. 11 można odczytywać jako próbę stworzenia podobnego przedsięwzięcia pomiędzy użytkownikami wolnego oprogramowania. Zresztą, na takiej zasadzie działa już przecież GPLv2, której klauzula “copyleft” jest odpowiednikiem znanych już od dawna klauzul “grantback”.

DRM

Ogromny rozwój technologii cyfrowych i Internetu zaskoczył wielu producentów dóbr niematerialnych polegających na tradycyjnym modelu biznesowym. Model ten sprowadza się do czerpania zysku ze sprzedaży pojedynczych egzemplarzy. Obecna technologia pozwala jednak każdemu, a nie tylko pojedynczym producentom na stworzenie kopii tej samej jakości co “oryginały”, a także na ich niezwykle tanią dystrybucję. Powszechna i niekontrolowana dostępność takich kopii w Internecie stanowi zatem oczywiste zagrożenie dla strumienia przychodów producenta “oryginałów”. Dążąc do ochrony tych przychodów i zachowania tradycyjnego modelu biznesowego, niektórzy uprawnieni wprowadzają rozmaite techniczne zabezpieczenia mające uniemożliwiać nielegalne rozpowszechnianie (tzw. “Digital Rights Management”, DRM). DRM stanowią jednak także daleko idącą uciążliwość dla użytkowników. Uniemożliwią one zwykle nie tylko nielegalne rozpowszechnianie, ale też i działania legalne, jak na przykład korzystanie z utworów w ramach dozwolonego użytku. Jak pokazuje praktyka, stosowanie DRM prowadzi nawet do naruszeń podstawowych praw człowieka i obywatela, jak na przykład prawa do prywatności. W związku z tym, DRM bywają określane także jako “Digital Restrictions Management”.

Prawodawstwo wielu krajów świata chroni DRM przed nieautoryzowanym obchodzeniem. Jednocześnie jednak ochrona przed zagrożeniami wynikającymi z DRM dla użytkowników wydaje się niewystarczająco uregulowana. Co prawda, na przykład w Teksasie wprowadzenie do obrotu DRM skutkującego uszkodzeniem systemów użytkowników doprowadziło do wystąpienia prokuratora generalnego z pozwem o wysokie odszkodowania na rzecz tych użytkowników. Jednocześnie jednak, rygorystyczna ochrona przed nieautoryzowanym obchodzeniem utrudnia co najmniej identyfikację takich zagrożeń. Przykładowo, w Polsce projektowana jest właśnie nowelizacja prawa autorskiego, która wymagać będzie od uprawnionego stosującego DRM dostarczenia użytkownikowi środków umożliwiających skorzystanie z utworu. Jednocześnie jednak obchodzenie zabezpieczeń lub inżynieria wsteczna środków dostarczonych przez uprawnionego traktowane będzie na równi z naruszeniem prawa autorskiego. Zwraca uwagę także to, że procedury przewidziane na okoliczność niewywiązania się przez uprawnionego z obowiązku dostarczenia środków są długotrwałe i trudno egzekwowalne przez zwykłych użytkowników.

Postanowienie GPLv3 Sec. 3 jest prywatną inicjatywą sprzeciwiającą się takim uciążliwościom, zagrożeniom i szkodom wywoływanym przez DRM. Przede wszystkim zawiera ono wyraźną wskazówkę interpretacyjną, zgodnie z którą GPLv3 nie należy interpretować jako dozwolenia na stosowanie technicznych środków w celu ograniczania wolności użytkowników do kopiowania, modyfikacji i dzielenia się utworami. Ponadto, GPLv3 wyraźnie zastrzega, że licencjobiorca nie może rozpowszechniać objętego nią oprogramowania, które narusza prawo do prywatności użytkowników lub też w sposób uniemożliwiający korzystanie z tego oprogramowania w pełnym zakresie dozwolonym w tej licencji. Dalej, GPLv3 stanowi, że żadne objęte nią oprogramowanie nie może być uznane za “skuteczne techniczne zabezpieczenia” (prawnicze określenie na DRM stosowane np. w polskim ustawodawstwie). Wobec tego, rozpowszechnianie takiego oprogramowania jako części systemu generującego lub umożliwiającego dostęp do określonych danych stanowi według tego postanowienia zgodę co najmniej na tworzenie, rozpowszechnianie oraz korzystanie z innego oprogramowania w celu uzyskania dostępu do tych samych danych.

GPLv3 Sec. 3 jest postanowieniem podobnym do klauzuli “copyleft” oraz do antypatentowej Sec. 11 o tyle, o ile stanowi ono prywatną inicjatywę zmierzającą do wykrojenia obszaru, na którym nie będą miały zastosowania domyślne ograniczenia oraz niedociągnięcia prawa powszechnego. Oczywiście i tu pojawiają się pytania o zakres i skuteczność takiego typu postanowień umownych w konkretnych jurysdykcjach. Klauzula anty-DRM GPLv3 wzbudziła także ożywioną dyskusję zwolenników i przeciwników wolnego oprogramowania. Niektórzy oceniają ją jako nieuprawnione wykroczenie poza świat oprogramowania w świat treści (”content”) takich jak: filmy, muzyka, multimedia. Pojawiają się zatem pytania o stosunek 4 wolności użytkowników oprogramowania określonych w FSD do praw i obowiązków związanych z korzystaniem z innych utworów.

Niekompatybilność licencji

Prawa i obowiązki twórców i użytkowników wolnego oprogramowania nie wynikają bezpośrednio z prawa powszechnie obowiązującego. Jest tak dlatego, że prawo to domyślnie zakazuje wszystkich lub większości czynności wyraźnie dozwolonych przez 4 wolności sformułowane przez Stallmana. Legalne zaistnienie tych wolności jest możliwe tylko o tyle, o ile uprawnieni z tzw. “monopolu autorskiego” zechcą podzielić się nim z użytkownikami. Następuje to właśnie poprzez udzielanie licencji. O ostatecznym kształcie takich licencji decydują jednak zawsze indywidualni uprawnieni, a GPL stanowi tylko jedną z wielu gotowych propozycji takiego kształtu. Praktyka ruchu wolnego oprogramowania doprowadziła do wykształcenia się kilkudziesięciu licencji modelowych.

Istnienie wielu licencji, które różnie formułują obowiązki licencjobiorców w przypadku modyfikowania, łączenia i dalszego rozpowszechniania objętego nimi oprogramowania prowadzi do zjawiska tzw. niekompatybilności licencji. Licencje niekompatybilne nie pozwalają na łączenie oprogramowania nimi objętego, gdyż nowy program powstały w ten sposób nie mógłby być rozpowszechniany w zgodzie ze wszystkimi tymi licencjami jednocześnie. Tymczasem, istota i sukces wolnego oprogramowania polega w dużej mierze właśnie na nieskrępowanym łączeniu, ulepszaniu i rozpowszechnianiu (”code reuse”). Zatem, w praktyce wypracowano różne metody radzenia sobie z niekompatybilnością licencji. Można tu wymienić niedawne sygnały Open Source Initiative deklarującej ograniczenie przyjmowania nowych licencji do certyfikacji. Można także wskazać na praktykę podwójnego licencjonowania przez uprawnionych, co umożliwia licencjobiorcom wybranie licencji, która będzie kompatybilna z licencją innego programu połączonego.

Postanowienia GPLv3 stanowią kolejny krok w celu ograniczenia zjawiska niekompatybilności licencji. O ile klauzula “copyleft” GPLv2 wymagała stosowania tylko tej licencji dla kodu objętego jej zakresem, to GPLv3 Sec. 7 wyraźnie dopuszcza formułowanie dodatkowych postanowień przez licencjobiorców. Jest to możliwe o ile postanowienia takie nie naruszają praw użytkowników określonych przez GPLv3. Rozszerzanie tych uprawnień jest więc w zasadzie możliwe bez ograniczeń. Natomiast stawianie przez licencjobiorców dodatkowych wymagań użytkownikom zostało już poddane skrupulatnej reglamentacji. GPLv3 wymienia tylko 5 rodzajów ograniczeń, jakie można stawiać użytkownikom, a i to tylko w odniesieniu do części programu dodanych przez licencjobiorcę. Ograniczanie uprawnień w stosunku do oryginalnego programu na GPLv3 jest więc niemożliwe, a przynajmniej możliwość taka nie wynika bezpośrednio z treści licencji.

Podsumowanie

Analizowany powyżej projekt GPLv3 jest pierwszą wersją do dyskusji, która ma zakończyć się po roku od jego opublikowania. Projektodawcy podkreślają, że głównym powodem “nowelizacji” nie jest postęp techniczny, a zmiany prawa i praktyka jego stosowania. Stanowią one ich zdaniem zagrożenie dla 4 wolności użytkowników, dla ochrony których wprowadzono GPL. Niezależnie od stanowiska wobec ideologii ruchu wolnego oprogramowania oraz oceny słuszności aktywnej ochrony tych wolności nie sposób lekceważyć znaczenia projektu GPLv3. Ostateczny tekst licencji będzie miał przecież istotny wpływ na dalszy rozwój tego modelu produkcji technologii informatycznych oraz na sytuację na rynku tych technologii.

Ważny jest także szerszy kontekst dyskusji nad GPL. Ostatnimi czasy toczy się coraz intensywniejsza debata nad punktem równowagi pomiędzy kontrolą nad i dostępem do dóbr niematerialnych. Debata ta ma istotne znaczenie dla kształtu społeczeństwa informacyjnego, w którym dobra tego typu stanowią przecież podstawę wzrostu gospodarczego i rozwoju. Ustalenie zakresu praw wyłącznych decyduje, na czyją korzyść przechyli się ta równowaga. GPLv3 odnosi się do tych niebagatelnych i fundamentalnych kwestii, proponując jednocześnie szczegółowe sposoby ich rozwiązania, w odniesieniu do “copyleft”, patentów, DRM i niekompatybilności licencji.

Archiwalny news dodany przez użytkownika: Krzysztof Siewicz.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Przeczytaj też

Oznaczone jako → 
Share →