Licencja wolnego oprogramowania – licencja oprogramowania zezwalająca użytkownikom na modyfikację i redystrybucję zmodyfikowanych wersji oprogramowania, co zwykle zabronione jest przez prawo autorskie. Licencja wolnego oprogramowania gwarantuje jego odbiorcom wolność w postaci zgody na modyfikację i dystrybucję dzieła objętego prawem autorskim.
Historia
[edytuj | edytuj kod]Wśród licencji wolnego oprogramowania nie ma jednej, uznawanej powszechnie za „pierwszą”. Jednymi z pierwszych licencji wolnego oprogramowania były m.in. licencja systemu profesjonalnego składu drukarskiego TeX i licencja "okienkowego" systemu graficznego X11.
W połowie lat 80. XX wieku Projekt GNU tworzył osobne licencje dla każdego ze swoich pakietów, powstały m.in. Powszechna Licencja Publiczna Emacsa (ang. Emacs General Public License) czy Powszechna Licencja Publiczna GCC (ang. GCC General Public License). W styczniu 1989 wszystkie z nich zastąpione zostały 1. wersją Powszechnej Licencji Publicznej GNU (ang. GNU General Public License). Wersja 2. tej samej licencji, wydana w styczniu 1991, stała się najczęściej używaną licencją wolnego oprogramowania.
Klasyfikowane przez organizacje
[edytuj | edytuj kod]Free Software Foundation (FSF), najważniejsza instytucja sponsorująca Projekt GNU i wydawca definicji wolnego oprogramowania, publikuje listę licencji wolnego oprogramowania zgodnych z tą definicją[1]. Lista dzieli licencje wolnego oprogramowania na zgodne z licencją GNU GPL, będącą przykładem copyleftu, i na niezgodne z GPL. Zawiera ona także przykłady licencji uznawanych przez FSF za niewolne z różnych powodów, jak np. Artistic License 1.0 lub Open Public License.
Open Source Initiative, inna organizacja zajmująca się promocją oprogramowania, publikuje swoją własną listę licencji otwartego oprogramowania. Obie organizacje, zarówno OSI, jak i FSF, zgadzają się co do wszystkich powszechnie używanych licencji wolnego oprogramowania. Lista prowadzona przez OSI różni się od tej publikowanej przez FSF, zawiera m.in. uznawane za niezgodne z copyleft lub GNU GPL Common Development and Distribution License, Common Public License czy Mozilla Public License.
Obostrzenia
[edytuj | edytuj kod]W celu zachowania wolności do uruchamiania, analizowania, modyfikowania i redystrybucji wolnego oprogramowania dla wszystkich jego użytkowników, większość licencji wolnego oprogramowania zawiera obostrzenia i wymagania dla jego dystrybutorów. Z tego powodu w społeczności wolnego oprogramowania pojawiły się dyskusje, które z obostrzeń ochraniają wolności użytkownika, a które z nich je ograniczają.
W latach 90. XX wieku w licencjach zaczęły pojawiać się klauzule mające na celu zapobiegnięcie w przyszłości procesom sądowym o naruszenie patentu, wśród nich m.in. tzw. "odwet patentowy", które wcześniej nie miały miejsca. Stało się to główną przyczyną stworzenia 2. wersji GNU General Public License[2]. Kolejne obostrzenia pojawiły się w następnej, 3. wersji GNU GPL. Mają one zapobiec rozprzestrzenieniu się procesu tzw. tiwoizacji, przed którą – oprócz już istniejącej GPLv3 – nie chronią żadne inne licencje wolnego oprogramowania.
Copyleft
[edytuj | edytuj kod]Od połowy lat 80. XX wieku licencje autorstwa Richarda Stallmana zapoczątkowały nowy rodzaj systemu licencjonowania praw autorskich zwany copyleft (ang. lewo autorskie, gra słowna od słowa copyright oznaczającego prawo autorskie). Copyleft wymusza na autorach zmodyfikowanej wersji oprogramowania udostępnienie go na zasadach licencji oryginalnej wersji, co powoduje, że wszystkie rozszerzenia i ulepszenia programów udostępnionych na zasadach copyleft muszą być także copyleftem. Działania takie nazywane bywają także share and share alike (ang. dzielić sprawiedliwie) lub quid pro quo (łac. coś za coś).
Tiwoizacja
[edytuj | edytuj kod]Tiwoizacja to praktyka używania oprogramowania licencjonowanego na zasadach copyleft w połączeniu ze sprzętem, który nie pozwala użytkownikowi na uruchomienie zmodyfikowanej wersji tego oprogramowania. Nazwa procederu pochodzi od nazwy amerykańskiego przedsiębiorstwa TiVo, które od roku 2006 stosuje ją w swoich urządzeniach DVR. W celu zabronienia takich działań w przyszłości Free Software Foundation opublikowała w czerwcu 2007 roku 3. wersję licencji GNU GPL.
Uznanie autorstwa, zrzeczenie się odpowiedzialności i noty prawne
[edytuj | edytuj kod]Większość licencji wolnego oprogramowania wymusza, aby każda zmodyfikowana wersja oprogramowania była wyraźnie oznaczona. Niektóre licencje wymagają także dodatkowo wyróżnienia posiadaczy praw autorskich do oprogramowania. Jedną z takich licencji jest 2. wersja licencji GNU GPL, która zabrania usuwania noty o prawach autorskich ze zmodyfikowanych wersji przeznaczonych do dalszej redystrybucji.
Wiele z licencji wolnego oprogramowania, jak np. licencja BSD zawiera informacje o zrzeczeniu się odpowiedzialności do oprogramowania.
Oprogramowanie to jest dostarczone przez <nazwa projektu> bez żadnej gwarancji i jakiejkolwiek odpowiedzialności lub gwarancji domniemanej (...). W żadnym przypadku twórcy projektu <nazwaprojektu> lub ich współpracownicy nie będą odpowiedzialni za jakąkolwiek szkodę bezpośrednią, pośrednią, przypadkową, przykładową oraz za konsekwencje wynikające z użycia tego oprogramowania.
Podobną treść zawiera także najpopularniejsza licencja wolnego oprogramowania, GNU GPL:
Ponieważ program jest licencjonowany bezpłatnie, nie jest objęty gwarancją w zakresie dozwolonym przez obowiązujące przepisy. O ile na piśmie nie stanowi się inaczej, posiadacze praw autorskich i/lub inne strony zapewniają program w stanie, w jakim jest ("jak widać") bez jakiejkolwiek gwarancji, ani wyraźnej, ani domyślnej, w tym między innymi domyślnych gwarancji co do przydatności handlowej i przydatności do określonych zastosowań. Całość ryzyka w zakresie jakości i skuteczności działania programu ponosisz sam. W razie gdyby program okazał się wadliwy, ponosisz koszt całego niezbędnego serwisu, naprawy i korygowania.
Praktyczne problemy do uniknięcia
[edytuj | edytuj kod]Zgodność licencji
[edytuj | edytuj kod]Jeśli licencje dwóch programów zawierają sprzeczne wymagania, niemożliwe jest połączenie ich kodu źródłowego w celu stworzenia nowego programu[3].
Na przykład, jeśli licencja jednego programu zawiera treść "zmodyfikowane wersje oprogramowania muszą muszą informować o oryginalnych autorach w każdym materiale reklamowym", a licencja innego programu mówi, że "zmodyfikowane wersje oprogramowania nie mogą zawierać dodatkowych wymagań dotyczących autorstwa", niemożliwe będzie spełnienie obu tych wymagań jednocześnie w przypadku połączenia dwóch programów w jedną całość. Oznacza to więc, że licencje obu programów nie są ze sobą zgodne[4].
Rozmnożenie się licencji
[edytuj | edytuj kod]Powstawanie nowych licencji pogłębia dodatkowo problem z ich zgodnością. Wymusza to na programistach, dystrybutorach i użytkownikach oprogramowania zapoznanie się z większą liczbą tekstów prawnych.
Niedopuszczalne obostrzenia
[edytuj | edytuj kod]Zezwolenia wyłącznie na prywatne użycie oprogramowania są generalnie nieakceptowane przez społeczność wolnego oprogramowania. Przykładami mogą być brak zezwolenia na użycie oprogramowania w celach militarnych, porównawczych, nieetycznych[5] lub komercyjnych[6]. Z tego powodu licencje zawierające takie obostrzenia nie są uznawane za wolne przez Free Software Foundation, Open Source Initiative, projekt Debian lub projekty dystrybucji z rodziny BSD.
Definicja wolnego oprogramowania stosowana przez FSF nie zezwala na ograniczenie możliwości rozwoju i dystrybucji oprogramowania[7]. Dlatego sprzedaż wolnego oprogramowania jest akceptowalna i stała się bardzo częsta.
Filozofia BSD
[edytuj | edytuj kod]Wielu programistów i użytkowników systemów z rodziny BSD wyznaje inne poglądy na temat licencji oprogramowania niż te promowane przez Free Software Foundation. Uważają oni, że licencje typu copyleft, a w szczególności GNU General Public License, są zbyt skomplikowane i zawierają wiele niepotrzebnych obostrzeń. Licencja GNU GPL wymaga, aby wszelkie prace pochodne od prac udostępnionych na jej zasadach były także objęte GNU GPL; nie wymaga tego licencja BSD. Jedynym wymaganiem licencji BSD jest uznanie autorstwa oryginalnych twórców oprogramowania i brak restrykcji wobec sposobu wykorzystania jego kodu źródłowego. Z tego powodu kod udostępniony na zasadach licencji BSD może być wykorzystywany w zamkniętym oprogramowaniu, które w notach prawnych wymienia jego oryginalnych autorów. Przykładem może być obsługa protokołu TCP/IP wykorzystywana w Microsoft Windows i OS X, wywodzące się oryginalnie z kodu udostępnionego na zasadach licencji BSD.
Zwolennicy GNU GPL argumentują, że wymuszenie, aby prace pochodne od wolnego oprogramowania pozostały wolne powoduje ciągły wzrost społeczności wolnego oprogramowania i wymusza na wszystkich użytkownikach równy wkład w jej rozwój. Programiści pracujący nad kodem objętym GNU GPL muszą udostępnić kod źródłowy każdemu, kto otrzymał lub kupił plik obiektowy. Nie wymaga to, aby wszystkie zmiany w oprogramowaniu były upublicznione; wymaga tylko, aby kod źródłowy towarzyszył kodowi obiektowemu, jeśli ten jest rozprowadzany. Programiści mogą nie upubliczniać zmian w swoim oprogramowaniu; wymaga się od nich tylko, aby dzielili się kodem źródłowym z każdym, kto otrzymał kod obiektowy.
Zwolennicy licencji BSD uważają natomiast, że zapewnia ona użytkownikom większą wolność, ponieważ zezwala na wykorzystanie kodu źródłowego w dowolnie wybranym przez użytkownika celu, ustępując tylko oprogramowaniu będącemu własnością publiczną. Taka natura licencji BSD spowodowała coraz częstsze umieszczanie dobrze rozwiniętego kodu w zamkniętym oprogramowaniu. W odpowiedzi na te argumenty zwolennicy licencji GNU GPL wykazują, że jest to bardziej władza niż niezbędna wolność[8]. Dlatego prawo do stworzenia oprogramowania o zamkniętym kodzie źródłowym nie jest wpisane do czterech podstawowych wolności współczesnej definicji wolnego oprogramowania.
Kod udostępniony na zasadach licencji BSD może być udostępniony na zasadach GNU GPL bez zgody wszystkich jego autorów, gdyż jest ona zgodna z licencją GPL. Natomiast kod udostępniony na zasadach GNU GPL nie może być udostępniony na zasadach licencji BSD bez zgody wszystkich jego autorów, ponieważ GPL nie jest zgodna z BSD. Projekty rozwijające systemy operacyjne z rodziny BSD starają się unikać umieszczania kodu udostępnionego na zasadach GNU GPL w podstawowych częściach swoich systemów. Wyjątki zdarzają się tylko wtedy, gdy nie istnieją alternatywy dla kodu objętego GPL lub istniejące alternatywy są znacznie mniej zaawansowane. Przykładem takiego oprogramowania może być GNU Compiler Collection.
Debian
[edytuj | edytuj kod]Projekt Debian w stosunku do licencji stosuje kryteria wypisane w swoich Wytycznych dotyczących wolnego oprogramowania (ang. Debian Free Software Guidelines, DFSG). Od poglądów Free Software Foundation projekt Debian różni się tylko w spojrzeniu na Artistic Licence 1.0 oraz GNU Free Documentation License.
Free Software Foundation uznaje 1. wersję Licencji Artystycznej za niewolną, projekt Debian uważa natomiast, że spełnia ona wszystkie kryteria DFSG. Różnica w poglądach nie ma jednak zbyt wielkiego wpływu na oprogramowanie, ponieważ Artistic License 1.0 jest prawie zawsze używana w połączeniu z GNU General Public License (tzw. podwójne licencjonowanie, ang. dual-licensing).
Projekt Debian podjął decyzję, że jego Wytyczne należy stosować nie tylko do oprogramowania, ale także np. do tekstów lub dokumentacji. FSF uważa jednak, że dokumentacja różni się znacząco od oprogramowania i należy w stosunku do niej stosować inne kryteria. Różnice w stanowiskach na temat GNU FDL doprowadziły do długotrwałej dyskusji i ostatecznie głosowania w projekcie Debian na jej temat[9]. Zgodnie z wynikiem głosowania, projekt Debian uważa, że prace udostępnione na zasadach GNU FDL są wolne wtedy, gdy nie zawierają tzw. Części Stałych (ang. Invariant Sections), na których usunięcie nie zezwala ta licencja.
Kontrowersje
[edytuj | edytuj kod]Zdecydowana większość wolnego oprogramowania udostępniona jest na licencjach będących z pewnością – ponieważ wobec ich wolności nie pojawiły się większe kontrowersje – licencjami wolnego oprogramowania. Pomimo tego wśród społeczności wolnego oprogramowania odbywały lub odbywają się dyskusje na temat wolności konkretnych innych licencji.
Przykładami licencji, które wywołały spore dyskusje, może być seria 1.x licencji Apple Public Source License, uznana przez Open Source Initiative, a nieuznana przez Free Software Foundation i Debiana; RealNetworks Public Source License, uznana przez OSI i FSF, a nieuznana przez projekt Debian i – w roku 2007 – Common Public Attribution License, uznana wyłącznie przez Open Source Initiative[10].
Przypisy
[edytuj | edytuj kod]- ↑ FSF: Licencje (ang.)
- ↑ FSFEurope: Transcript of Richard Stallman at the 5th international GPLv3 conference; 21st November 2006 (ang.)
- ↑ LinuxDevices: How GPLv3 tackles license proliferation. [zarchiwizowane z tego adresu (2012-05-25)]. (ang.).
- ↑ Przemówienie Richarda Stallmana na temat zgodności licencji podczas dyskusji o 3. wersji GNU General Public License (ang.)
- ↑ GNU.org: Problem HESSLA
- ↑ FSFEurope: Transcript of Richard Stallman at the 3nd international GPLv3 conference; 22nd June 2006 (ang.)
- ↑ GNU.org: Czym jest Wolne Oprogramowanie?
- ↑ GNU.org: Wolność czy władza
- ↑ General Resolution: Why the GNU Free Documentation License is not suitable for Debian main (ang.)
- ↑ Opis na stronie Open Source Initiative (ang.)