GPLv3 okiem sceptycznego laika
Monday, 28. May 2007, 17:29:39
Zazwyczaj nie poruszało się nazw poszczególnych licencji, jeśli mówiło się o wolnym/otwartym oprogramowaniu. Ostatnio jednak, w kontekście prac nad trzecią wersją GPL, trochę się chyba ten stan rzeczy zmienił.
GPL w wersji 2. jest uważana obecnie za flagową licencję dla wolnego/otwartego oprogramowania. Niestety owa licencja ma dwie, dość poważną wadę. Pierwszą z nich jest duża niezgodność z innymi licencjami. Praktycznie program, który ma licencję GPL w wersji 2, nie może zostać połączony z oprogramowaniem na innej licencji. W szczególności nie można go łączyć z zamkniętym kodem.
Jeśli jednak tak sobie poszukać wśród różnych, popularnych, wolnych/otwartych programów, wiele z nich ma inne licencje. Przeglądarka Firefox jest na potrójnej licencji MPL/GPL/LGPL. Zdecydowanie bardziej liberalnej od GPL i pozwalającej na łączenie z oprogramowaniem o zamkniętym kodzie, aczkolwiek pozwala na relicencjonowanie na czyste GPL. Serwer Apache jest na własnej licencji, znowu bardzo liberalnej i pozwalającej na łączenie z zamkniętym kodem, w dodatku całkiem popularnej, niestety niezgodnym z GPL. Jądra Linux to prawdopodobnie najbardziej znany i najczęściej przytaczany przykład oprogramowania dostępnego na zasadach GPL. Prawdopodobnie jednak w tym przypadku licencja jest masowo łamana (zamknięte moduły), tyle że nikomu nie zależy na ukróceniu tego procederu.
Zmiana licencji na inną jest niestety procesem bardzo skomplikowanym, a często niemożliwym. Trzeba bowiem poprosić wszystkich, którzy posiadają prawa autorskie do programu, aby się na zmianę licencji zgodzili. W przypadku wielu projektów może to być dość duża liczba osób. Istnieje jednak możliwość stworzenia projektu, który będzie też dostępny na licencji, która dopiero powstanie. (Zawsze można w końcu przekazać swoje prawa autorskie dowolnej osobie.) Tak postąpiono w przypadku wielu projektów opartych o GPL, które pozwalają na stosowanie licencji w wersji 2. i późniejszej. Czyli wraz z ukazaniem się nowej specyfikacji, będzie można z miejsca zmienić licencjonowanie na wersję 3. i późniejsze. Pozostaje jeszcze jedna, mała kwestia, co ta nowa wersja licencji będzie wnosiła. Największą zmianą będzie chyba dodanie kilku punktów.
Najwięcej się mówi o wymuszeniu darmowego licencjonowania wszystkich posiadanych patentów odnośnie oprogramowania, które się udostępnia na licencji GPL. Oczywiście jest to kontrowersyjna i delikatna sprawa. Wiele firm do patentów się przyzwyczaiło i jakoś nie chcą się od nich odzwyczajać, więc owe rozszerzenie może negatywnie wpłynąć na współpracę między różnymi podmiotami. W dodatku pojawia się problem patentów, które nie są w posiadaniu osób odpowiedzialnych za tworzenie otwartego oprogramowania, a są w owym oprogramowaniu stosowane. Taka kwestia dotyczy patenty odnośnie kodeków MPEG-4. Chyba nie będzie można takiego oprogramowania relicencjonować... Z drugiej strony, przy obecnej liście patentów, jakie należą do twórców otwartego/wolnego oprogramowania, jest mało prawdopodobne, że ktoś odważy się wejść na drogę sądową, więc nie jest to taka niezbędna zmiana. Wypada jednak zauważyć, że ten punkt ma umożliwić włączenie kodu udostępnionego na licencji Apache’a do projektów GPLv3.
Kolejnym, kontrowersyjnym punktem jest licencja na usługi sieciowe. W obecnej wersji GPL, jeśli oprogramowanie serwerowe danej usługi nie jest udostępniane publicznie, nie trzeba upubliczniać jego kodu, a można dowolnie dużo czerpać z kodu GPL. Wraz z rozwojem Sieci stał się jednak możliwy powrót do potężnych, scentralizowanych komputerów i odejście od autonomicznych komputerów osobistych. Niestety owe rozszerzenie licencji może skomplikować tworzenie małych modyfikacji na własny użytek i wiele osób jest do niego nastawionych sceptycznie.
Ostatnią z trzech popularnych kontrowersji jest podejście do DRM. Obecna wersja GPL nic na ten temat nie mówi. Następna wersja ma tego kategorycznie zakazać. Nie ma wątpliwości, że DRM jest sprzeczne z ideą GPL, ale jest faktem. Największą wadą otwartych systemów jest chyba właśnie to, że są dyskryminowane przez różne systemy DRM, a wprowadzenie tej modyfikacji tylko by pogorszyło sprawę. Cóż, część projektów może dużo stracić, jeśli postawi się w zdecydowanej opozycji.
Z powodu tych kontrowersji owe trzy punkty mogą zostać wprowadzone jako opcje, które jednak też mogą wiele namieszać w świecie wolnego/otwartego oprogramowania. Na koniec jedna uwaga. Tak samo łatwo, jak można przejść z GPLv2+ na GPLv3+, można przejść z GPLv2+ na GPLv2. Czyli faktycznie nowa wersja licencji GPL jest dość istotna i problematyczna.
GPL w wersji 2. jest uważana obecnie za flagową licencję dla wolnego/otwartego oprogramowania. Niestety owa licencja ma dwie, dość poważną wadę. Pierwszą z nich jest duża niezgodność z innymi licencjami. Praktycznie program, który ma licencję GPL w wersji 2, nie może zostać połączony z oprogramowaniem na innej licencji. W szczególności nie można go łączyć z zamkniętym kodem.
Jeśli jednak tak sobie poszukać wśród różnych, popularnych, wolnych/otwartych programów, wiele z nich ma inne licencje. Przeglądarka Firefox jest na potrójnej licencji MPL/GPL/LGPL. Zdecydowanie bardziej liberalnej od GPL i pozwalającej na łączenie z oprogramowaniem o zamkniętym kodzie, aczkolwiek pozwala na relicencjonowanie na czyste GPL. Serwer Apache jest na własnej licencji, znowu bardzo liberalnej i pozwalającej na łączenie z zamkniętym kodem, w dodatku całkiem popularnej, niestety niezgodnym z GPL. Jądra Linux to prawdopodobnie najbardziej znany i najczęściej przytaczany przykład oprogramowania dostępnego na zasadach GPL. Prawdopodobnie jednak w tym przypadku licencja jest masowo łamana (zamknięte moduły), tyle że nikomu nie zależy na ukróceniu tego procederu.
Zmiana licencji na inną jest niestety procesem bardzo skomplikowanym, a często niemożliwym. Trzeba bowiem poprosić wszystkich, którzy posiadają prawa autorskie do programu, aby się na zmianę licencji zgodzili. W przypadku wielu projektów może to być dość duża liczba osób. Istnieje jednak możliwość stworzenia projektu, który będzie też dostępny na licencji, która dopiero powstanie. (Zawsze można w końcu przekazać swoje prawa autorskie dowolnej osobie.) Tak postąpiono w przypadku wielu projektów opartych o GPL, które pozwalają na stosowanie licencji w wersji 2. i późniejszej. Czyli wraz z ukazaniem się nowej specyfikacji, będzie można z miejsca zmienić licencjonowanie na wersję 3. i późniejsze. Pozostaje jeszcze jedna, mała kwestia, co ta nowa wersja licencji będzie wnosiła. Największą zmianą będzie chyba dodanie kilku punktów.
Najwięcej się mówi o wymuszeniu darmowego licencjonowania wszystkich posiadanych patentów odnośnie oprogramowania, które się udostępnia na licencji GPL. Oczywiście jest to kontrowersyjna i delikatna sprawa. Wiele firm do patentów się przyzwyczaiło i jakoś nie chcą się od nich odzwyczajać, więc owe rozszerzenie może negatywnie wpłynąć na współpracę między różnymi podmiotami. W dodatku pojawia się problem patentów, które nie są w posiadaniu osób odpowiedzialnych za tworzenie otwartego oprogramowania, a są w owym oprogramowaniu stosowane. Taka kwestia dotyczy patenty odnośnie kodeków MPEG-4. Chyba nie będzie można takiego oprogramowania relicencjonować... Z drugiej strony, przy obecnej liście patentów, jakie należą do twórców otwartego/wolnego oprogramowania, jest mało prawdopodobne, że ktoś odważy się wejść na drogę sądową, więc nie jest to taka niezbędna zmiana. Wypada jednak zauważyć, że ten punkt ma umożliwić włączenie kodu udostępnionego na licencji Apache’a do projektów GPLv3.
Kolejnym, kontrowersyjnym punktem jest licencja na usługi sieciowe. W obecnej wersji GPL, jeśli oprogramowanie serwerowe danej usługi nie jest udostępniane publicznie, nie trzeba upubliczniać jego kodu, a można dowolnie dużo czerpać z kodu GPL. Wraz z rozwojem Sieci stał się jednak możliwy powrót do potężnych, scentralizowanych komputerów i odejście od autonomicznych komputerów osobistych. Niestety owe rozszerzenie licencji może skomplikować tworzenie małych modyfikacji na własny użytek i wiele osób jest do niego nastawionych sceptycznie.
Ostatnią z trzech popularnych kontrowersji jest podejście do DRM. Obecna wersja GPL nic na ten temat nie mówi. Następna wersja ma tego kategorycznie zakazać. Nie ma wątpliwości, że DRM jest sprzeczne z ideą GPL, ale jest faktem. Największą wadą otwartych systemów jest chyba właśnie to, że są dyskryminowane przez różne systemy DRM, a wprowadzenie tej modyfikacji tylko by pogorszyło sprawę. Cóż, część projektów może dużo stracić, jeśli postawi się w zdecydowanej opozycji.
Z powodu tych kontrowersji owe trzy punkty mogą zostać wprowadzone jako opcje, które jednak też mogą wiele namieszać w świecie wolnego/otwartego oprogramowania. Na koniec jedna uwaga. Tak samo łatwo, jak można przejść z GPLv2+ na GPLv3+, można przejść z GPLv2+ na GPLv2. Czyli faktycznie nowa wersja licencji GPL jest dość istotna i problematyczna.