Od redakcji: Przy okazji wydania czwartego szkicu GNU GPLv3, Richard Stallman opublikował artykuł podsumowujący najważniejsze zmiany wprowadzane przez nową wersję licencji. Zapraszamy do lektury.

Wkrótce zakończą się prace nad trzecią wersją GNU General Public License. Otworzy to możliwość zmiany licencji pakietów wolnego oprogramowania z wersji 2. Poniższy artykuł wyjaśnia, dlaczego aktualizacja licencji jest ważna.

Przede wszystkim, trzeba podkreślić że istnieje możliwość wyboru. GPL w wersji drugiej pozostanie obowiązującą licencją i nie przydarzy się żadna katastrofa, jeśli jakieś programy w dalszym ciągu będą przez nią chronione, a inne przejdą na GPLv3. Te licencje nie są ze sobą w pełni zgodne, ta niekompatybilność nie jest jednak poważnym problemem.

Kiedy mówimy, że GPLv2 i GPLv3 są ze sobą niekompatybilne, oznacza to że nie ma prawnego sposobu połączenia w jednym programie kodu chronionego GPLv2 z kodem chronionym nową wersją licencji. Jest to spowodowane tym, że zarówno GPLv2 i GPLv3 są licencjami copyleftowymi: każda z nich głosi: „Jeśli użyjesz kodu chronionego tą licencją w większym programie, większy program również musi być nią chroniony.” W związku z tym nie ma możliwości wprowadzenia kompatybilności między nimi. Moglibyśmy dodać klauzulę kompatybilności z GPLv2 do nowej wersji licencji, ale to nie załatwiłoby sprawy do końca, ponieważ w GPLv2 musiałby się znaleźć podobny zapis.

Na szczęście niekompatybilność licencji jest ważna tylko wtedy, kiedy chcesz połączyć, zespolić lub zlinkować kod z dwóch różnych programów w jeden nowy program. Nie ma przeszkód w jednoczesnym korzystaniu z programów chronionych GPLv3 i GPLv2. Na przykład, licencja pakietu TeX i licencja Apache są niekompatybilne z GPLv2, ale to nie przeszkadza nam w korzystaniu z TeXa i Apache’a na tym samym systemie, razem z Linuksem, Bashem i GCC. To dlatego, że są to osobne programy. Podobnie, jeśli Bash i GCC zmienią licencję na GPLv3, a samo jądro Linuksa będzie w dalszym ciągu chronione GPLv2, nie będzie konfliktu.

Pozostanie przy licencji GPLv2 również nie jest problemem. Powodem do aktualizacji licencji może być fakt istnienia problemów, które dopiero GPLv3 rozwiązuje.

Jednym z większych niebezpieczeństw, które zostanie zażegnane dzięki GPLv3, jest „tivoizacja”. Tivoizacja oznacza, że komputery (nazywane „urządzeniami”) zawierają oprogramowanie chronione licencją GPL, którego jednak nie możesz zmienić; komputer odmówi działania jeśli wykryje, że oprogramowanie zostało zmodyfikowane. Typowym motywem dla tivoizacji jest umieszczenie w oprogramowaniu cech, które – jak uważa producent – wielu ludziom się nie spodobają. Twórcy tego typu komputerów korzystają z wolności, którą daje wolne oprogramowanie, jednak nie dają tej samej wolności użytkownikom produkowanego przez siebie sprzętu.

Niektórzy uważają, że wolnorynkowa konkurencja między urządzeniami powinna wystarczyć, by te „złośliwe” cechy nie były zbyt rozbudowane. Może czysta konkurencja wyeliminowałaby arbitralne i niepotrzebne problematyczne cechy typu „Musisz się wyłączać między 1 a 5 nad ranem w każdy czwartek”, ale w dalszym ciągu możliwość wyboru swojego pana i władcy nie jest wolnością. Wolność oznacza, że możesz kontrolować, co robi twoje oprogramowanie, a nie tylko błagać lub grozić komuś, kto decyduje za ciebie.

W kluczowym obszarze Systemów Cyfrowych Restrykcji (DRM), gdzie złośliwe cechy zostały zaprojektowane by ograniczyć wykorzystanie danych za pomocą twojego komputera, konkurencja niewiele da, ponieważ została zakazana. Amerykański Digital Millenium Copyright Act i podobne prawa w innych krajach zakazują rozpowszechniania odtwarzaczy DVD, które nie ograniczają użytkownika w sposób przewidziany przez oficjalną zmowę twórców DVD (ich oficjalna strona to http://www.dvdcca.org/, jednak reguł zmowy raczej tam nie znajdziecie). Społeczeństwo nie może zaprotestować przeciwko DRM kupując odtwarzacze bez cech ograniczających odbiorcę, ponieważ nie są one w tych krajach dostępne. Niezależnie z jak wielu produktów przyjdzie ci wybierać, wszystkie z nich mają wbudowane odpowiedniki cyfrowych kajdan.

GPLv3 daje ci pewność, że będzie ci wolno zdjąć te kajdany. Nie zakazuje DRM lub podobnych cech. Nie ogranicza funkcjonalności, którą możesz umieścić w programie – lub ją z niego usunąć. Raczej daje pewność, że będzie ci wolno usunąć złośliwe cechy oprogramowania, jeśli tylko twórca twojej kopii dodałby je do niego. Tivoizacja jest sposobem zabierania ci tych wolności; by je zabezpieczyć, wersja trzecia licencji GPL jej zakazuje.

Zakaz tivoizacji dotyczy każdego produktu, który może być wykorzystywany, nawet rzadko, przez konsumentów. GPLv3 zezwala na tivoizację tylko jeśli dotyczy ona produktów, które są przeznaczone prawie wyłącznie dla firm i organizacji (najnowszy szkic licencji wymienia dokładne kryteria).

Kolejnym zagrożeniem, któremu stawia czoła nowa wersja licencji, są problemy związane z umowami patentowymi podobnymi do tej zawartej przez Novell i Microsoft. Microsoft chce wykorzystać swoje tysiące patentów by zmusić użytkowników GNU/Linuksa do zapłacenia firmie za ten przywilej, i podpisał taką umowę by do tego doprowadzić. Umowa daje klientom Novella raczej ograniczoną ochronę przed patentowymi roszczeniami Microsoftu.

Microsoft popełnił kilka błędów w tej umowie, a GPLv3 jest zaprojektowana tak, by wykorzystać je przeciwko Microsoftowi rozszerzając ograniczoną ochronę patentową na całą społeczność. By wykorzystać tę możliwość, oprogramowanie musi korzystać z licencji GPLv3.

Prawnicy Microsoftu nie są głupi i następnym razem może im się udać uniknąć tych błędów. W związku z tym GPLv3 zapewnia, że nie będzie „następnego razu”. Opublikowanie programu na warunkach licencji GPL w wersji trzeciej ochroni je przed przyszłymi próbami zmuszania dystrybutorów oprogramowania do zbierania pieniędzy na rzecz Microsoftu.

GPLv3 daje również jednoznaczną, wyraźną ochronę patentową użytkownikom przed współtwórcami i redystrybutorami oprogramowania. W przypadku licencji GPLv2, użytkownicy polegają na domniemanej licencji patentowej, która polega na tym że firma, która dostarczyła im kopię nie pozwie ich lub ludzi, którym przekażą oprogramowanie, za naruszenie patentów.

Jednoznaczne zapisy patentowe w GPLv3 nie idą tak daleko, jak byśmy sobie tego życzyli. W idealnej sytuacji chcielibyśmy doprowadzić do tego, że zarówno każdy kto rozpowszechnia oprogramowanie chronione licencją GPL, jak i każdy kto takiego oprogramowania nie rozpowszechnia, rezygnuje ze swoich patentów na oprogramowanie. Patenty na oprogramowanie są błędnym i absurdalnym systemem, który naraża wszystkich programistów na ryzyko bycia pozwanym przez firmy, o których nigdy nie słyszeli, jak również przez wielkie korporacje. Duże programy zwykle łączą w sobie tysiące pomysłów, więc nie jest zaskakujące, gdy część tych pomysłów jest chroniona setkami patentów. Wielkie korporacje zbierają tysiące patentów i wykorzystują je do zastraszania mniejszych twórców. Patenty już teraz utrudniają tworzenie wolnego oprogramowania.

Jedynym sposobem zapewnienia, by tworzenie oprogramowania było bezpieczne, jest zniesienie patentów na oprogramowanie – i chcemy pewnego dnia osiągnąć ten cel. Ale nie zrobimy tego przez licencję na oprogramowanie. Dowolny program, wolny czy nie, może być zniszczony przez patent na oprogramowanie znajdujący się w rękach trzeciej strony, a licencja programu nie może temu zapobiec. Jedynie decyzje sądowe lub zmiany w prawie patentowym mogą zabezpieczyć tworzenie oprogramowania od żądań patentowych. Gdybyśmy próbowali do tego doprowadzić nową wersją licencji, nie udałoby nam się to.

W związku z tym GPLv3 próbuje ograniczyć to zagrożenie. W szczególności staraliśmy się ocalić wolne oprogramowanie od losu gorszego niż jego śmierć: faktycznego przekształcenia go w oprogramowanie własnościowe za pomocą patentów. Jednoznaczne zapisy patentowe w GPLv3 nakazują firmom korzystających z GPL oddania użytkownikom czterech wolności. Uniemożliwiają sytuację, gdy firma wykorzystuje swoje patenty by powiedzieć niektórym użytkownikom: „Wolności, które daliśmy, ciebie nie dotyczą.” Nowe zapisy chronią również przed zmową z innymi właścicielami patentów, która mogłaby doprowadzić do tego samego rezultatu.

Wśród kolejnych zalet GPLv3 są lepsza internacjonalizacja, łagodniejsze wygasanie, wsparcie dla BitTorrenta oraz zgodność z licencją Apache (więcej informacji na te tematy można znaleźć na stronie gplv3.fsf.org.) W sumie – mnóstwo powodów przemawia za aktualizacją licencji.

Po opublikowaniu finalnej wersji GPLv3 nie spodziewamy się nowych zmian. Jeśli pojawią się nowe zagrożenia dla wolności użytkowników, będziemy musieli stworzyć GPLv4. Ważne jest by się upewnić, że nie będzie późniejszych problemów z aktualizacją do GPLv4 kiedy przyjdzie na to czas.

Jednym ze sposobów zapewnienia tego jest opublikowanie oprogramowania na zasadach „licencji GPL w wersji 3 lub dowolnej późniejszej”. Innym sposobem, który mógłby być wykorzystywane przez współtwórców programu, jest wskazanie pełnomocnika który mógłby zadecydować o aktualizacji licencji do przyszłych wersji GPL. Trzecim sposobem jest przekazanie majątkowych praw autorskich jednej osobie, która będzie mogła aktualizować licencje. Jakikolwiek sposób miałby być wybrany, powinien on zapewniać łatwość aktualizacji licencji programu w przyszłości.

Copyright 2007 Richard Stallman
Copyright for the Polish translation 2007 Łukasz Jachowicz

Dosłowne kopiowanie i rozpowszechnianie całego artykułu jest dozwolone na całym świecie, w dowolnej formie, bez konieczności opłat za honorarium autorskie, pod warunkiem zachowania informacji o prawach autorskich.

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

Oznaczone jako → 
Share →