GPL
GPL (General Public License) [1] Zasady dystrybucji oprogramowania komputerowego. Założeniem systemów opartych na licencji GPL jest swoboda modyfikowania i rozpowszechniania oprogramowania. Twórcą pojęcia jest Richard M. Stallman, który w 1984 roku rozpoczął walkę o prawa użytkowników komputerów. Każdy rozpowszechniający oprogramowanie GPL w oryginalnej wersji lub przez siebie zmodyfikowane, musi zagwarantować przyszłym użytkownikom prawo do dalszego kopiowania i wprowadzania zmian w rozpowszechnianej aplikacji. Jest to całkowite przeciwieństwo ochrony praw autorskich tzw. Copyrightu ponieważ polega na ochronie możliwości do kopiowania. Podejmując decyzję o skorzystaniu z licencjonowania zgodnego z GPL zostaje podpisana "umowa" o zrzeknięciu się części praw własności intelektualnej. Jedynie oprogramowanie, które będzie redystrybuowane z uwzględnieniem licencji GPL będzie akceptowalne. Proces wejścia w licencjonowanie GPL jest procesem nieodwracalnym. Twórca kodu źródłowego nie jest zwykle świadomy w jaki sposób jego kod jest używany przez innych w części lub całości. Nie odnosi on z tego tytułu żadnych korzyści materialnych lub moralnych. Licencja GPL uznawana jest za licencję wirusową, ponieważ wszystkie aplikacje oraz kopie kodu źródłowego oparte na dziele objętym licencją GPL również muszą być objęte tą licencją. Problem ten nie dotyczy mniej restrykcyjnych w stosunku do GPL licencji BSD. "Wirusowość" GPL jest często wykorzystywana przez programistów, którzy dzięki upowszechnieniu części kodu programu mogą z niego skorzystać z większą pewnością, ponieważ mają gwarancję, że kod który chcą skorzystać bardzo często został przetestowany na innych urządzeniach więc też został pozbawiony błędów napotykanych przy tworzeniu programów.
Prawa użytkowników aplikacji opartych na licencji GPL: [2]
- prawo zastosowania programu w dowolnym celu.
- prawo modyfikacji kodu programu w celu dostosowania do indywidualnych potrzeb.
- prawo rozpowszechniania programu w wersji niezmodyfikowanej.
- prawo wprowadzania zmian w kodzie programu oraz jego rozpowszechnianie w wersji zmodyfikowanej, co zapewnia stały rozwój oprogramowania.
Definicja GPL zakłada w odniesieniu do oprogramowania przede wszystkim jego publiczną dostępność oraz pozbawienie sprawowania nad nim kontroli przez jednostki. Podstawowym założeniem M. Stallmana było stworzenie całego systemu składającego się z wolnych programów. System ten otrzymał nazwę "Systemu GNU". W pierwszym etapie rozwoju Stallman pracował samodzielnie nad tworzeniem tego systemu, a z biegiem czasu coraz więcej informatyków zaczęło rozpowszechniać swoje programy na zasadach zgodnych z definicją "wolnego oprogramowania". Powszechnie znanym systemem opartym na licencji GNU jest utworzone w 1991 jądro Linuxa stworzone przez Linusa Torvaldsa nad którego rozwojem systemu pracują obecnie tysiące informatyków z całego świata.
Wersje GPL
Licencja GPL mimo że stała w swoich założeniach jest licencją w dalszym ciągu rozwijaną i dlatego też przeszła kilka zmian, obecnie znane są trzy oficjalne wersje licencji GNU GPL. [3]
- Pierwsza została wydana w 1989 roku,
- Druga wersja licencji (GNU GPL v2) została wydana w 1991 roku i jest uznawana za najpopularniejszą oraz najczęściej używaną,
- Trzecia wersja (GNU GPL v3) wydana w 2007 roku wprowadziła zmiany punktu widzenia w zakresie nie jedynie własności intelektualnych tj. rozbudowywania oprogramowania i udostępniania go a także zrzekania się go na rzecz innych użytkowników, ale również w zakresie prawa patentowego. Jest ona najaktualniejszą wersją jednak o wiele mniej popularną wśród społeczeństwa free software niż wersja druga licencji.
Prawa użytkowników w licencji GPL
Zastosowanie programu w dowolnym celu
Pierwszym prawem użytkowników w ramach licencji GPL jest możliwość korzystania z programu w dowolnym celu. Oznacza to, że użytkownik może używać oprogramowania zarówno w celach komercyjnych, jak i niekomercyjnych. Licencja GPL nie narzuca żadnych ograniczeń co do zastosowania programu, co daje użytkownikom dużą elastyczność w wykorzystywaniu oprogramowania.
Modyfikowanie kodu programu
Kolejnym ważnym prawem użytkowników jest możliwość modyfikowania kodu programu. Licencja GPL umożliwia użytkownikom dostęp do pełnego kodu źródłowego, co daje im możliwość wprowadzania zmian i dostosowywania programu do swoich indywidualnych potrzeb. To prawo jest szczególnie ważne dla programistów i developerów, którzy mogą dostosowywać oprogramowanie do konkretnych wymagań swoich projektów.
Rozpowszechnianie programu w niezmodyfikowanej wersji
Licencja GPL również gwarantuje użytkownikom prawo do rozpowszechniania programu w niezmodyfikowanej wersji. Oznacza to, że użytkownicy mogą swobodnie udostępniać program innym osobom, bez konieczności dokonywania jakichkolwiek zmian w kodzie programu. To prawo jest istotne dla osób, które chcą dzielić się oprogramowaniem z innymi, zachowując jego pierwotną formę.
Wprowadzanie zmian w kodzie programu i rozpowszechnianie go w zmodyfikowanej wersji
Ostatnim prawem użytkowników w ramach licencji GPL jest możliwość wprowadzania zmian w kodzie programu i rozpowszechniania go w zmodyfikowanej wersji. To oznacza, że użytkownicy mogą nie tylko dostosowywać oprogramowanie do swoich potrzeb, ale również udostępniać te zmodyfikowane wersje innym osobom. Jednakże, istnieją pewne warunki, które muszą być spełnione przy rozpowszechnianiu zmodyfikowanych wersji, takie jak udostępnienie pełnego kodu źródłowego i zachowanie licencji GPL.
Zalety i korzyści licencji GPL
Promowanie idei otwartości i współpracy
Jedną z głównych zalet licencji GPL jest promowanie idei otwartości i współpracy. Licencja ta umożliwia każdemu dostęp do kodu źródłowego oprogramowania, co pozwala na jego analizę, modyfikację i dostosowanie do własnych potrzeb. Dzięki temu, społeczność programistów może wspólnie pracować nad udoskonalaniem oprogramowania, co prowadzi do szybszego rozwoju i większej jakości produktu.
W ramach licencji GPL, twórcy oprogramowania są zobowiązani do udostępniania swojego kodu źródłowego, co wpływa na wzrost przejrzystości i zaufania wśród użytkowników. Dzięki temu, każdy może sprawdzić, jak działa dane oprogramowanie i mieć pewność, że nie zawiera ono ukrytych funkcjonalności, które mogłyby naruszyć prywatność użytkownika.
Rozwój innowacji i wprowadzanie zmian
Licencja GPL sprzyja rozwojowi innowacji i wprowadzaniu zmian w oprogramowaniu. Dzięki dostępowi do kodu źródłowego, programiści mogą łatwo wprowadzać modyfikacje i udoskonalenia w istniejącym oprogramowaniu. To stwarza możliwość szybkiego reagowania na zmieniające się potrzeby i wymagania użytkowników.
Ponadto, licencja GPL zachęca do tworzenia i udostępniania rozszerzeń oraz dodatkowych modułów do istniejącego oprogramowania. Dzięki temu, społeczność programistów może tworzyć i udostępniać narzędzia, które rozszerzają funkcjonalność oprogramowania, co przyczynia się do jego większego zastosowania i popularności.
Wykorzystanie oprogramowania GPL jako podstawy dla produktów firm
Licencja GPL pozwala firmom na wykorzystywanie oprogramowania GPL jako podstawy dla swoich produktów. Dzięki temu, firmy mogą zaoszczędzić czas i koszty związane z tworzeniem oprogramowania od podstaw. Mogą skorzystać z gotowych rozwiązań, dostępnych na licencji GPL, i dostosować je do swoich potrzeb.
Dodatkowo, wykorzystanie oprogramowania GPL jako podstawy dla produktów firm może przynieść korzyści marketingowe. Wielu użytkowników preferuje oprogramowanie otwartoźródłowe ze względu na jego przejrzystość i elastyczność. Dlatego, firma korzystająca z oprogramowania GPL może budować swoją markę jako zwolennika otwartości i współpracy.
Ochrona użytkowników przed ograniczeniami innych licencji
Licencja GPL chroni użytkowników przed ograniczeniami, które mogą wynikać z innych licencji oprogramowania. W przypadku, gdy oprogramowanie jest dostępne na licencji GPL, użytkownicy mają pewność, że nie zostaną ograniczeni w swoim prawie do dostępu do kodu źródłowego, modyfikowania go i dzielenia się nim z innymi.
To daje użytkownikom większą kontrolę nad oprogramowaniem, które używają, oraz większą pewność, że ich inwestycja w oprogramowanie nie zostanie zmarnowana w przypadku, gdy twórca zdecyduje się na zmianę licencji. Licencja GPL chroni użytkowników przed takimi sytuacjami i zapewnia im bezpieczeństwo i stabilność.
Dostępność dla wszystkich dzięki braku opłat licencyjnych
Ostatnią, ale nie mniej istotną zaletą licencji GPL jest jej brak opłat licencyjnych. Oprogramowanie dostępne na licencji GPL jest darmowe do użytku, co oznacza, że każdy może z niego skorzystać bez konieczności ponoszenia kosztów.
To sprawia, że oprogramowanie GPL jest dostępne dla wszystkich, niezależnie od statusu finansowego czy geograficznego. Ma to szczególne znaczenie w przypadku organizacji non-profit, szkół, uczelni czy małych firm, które często mają ograniczony budżet na oprogramowanie.
Wady i kontrowersje związane z licencją GPL
Konieczność udostępniania kodu źródłowego
Licencja GPL, choć z pewnością ma wiele zalet, nie jest pozbawiona wad i kontrowersji. Jedną z głównych wad jest konieczność udostępniania kodu źródłowego. W praktyce oznacza to, że jeśli korzystasz z oprogramowania objętego licencją GPL i wprowadzasz do niego jakiekolwiek zmiany, musisz udostępnić te zmiany wraz z kodem źródłowym.
To może być problematyczne dla firm, które chcą zachować tajemnicę przedsiębiorstwa i nie chcą ujawniać swojego kodu. Konieczność udostępniania kodu źródłowego może prowadzić do utraty konkurencyjności i umożliwić innym firmom skopiowanie i wykorzystanie twojego kodu w swoim oprogramowaniu.
Potencjalne problemy konkurencyjności i tajemnicy przedsiębiorstwa
Ponadto, licencja GPL może stwarzać problemy związane z konkurencyjnością i ochroną tajemnicy przedsiębiorstwa. Jeśli firma udostępnia swój kod źródłowy na licencji GPL, inni mogą swobodnie korzystać z tego kodu i tworzyć konkurencyjne produkty. Oznacza to, że firma może stracić unikalność swojego oprogramowania i przewagę konkurencyjną na rynku.
Dodatkowo, jeśli firma korzysta z oprogramowania objętego licencją GPL, a jednocześnie rozwija własne tajne rozwiązania, może naruszyć zasady tej licencji. Jeśli firma połączy kod GPL z tajnym kodem, to oznacza, że całość musi być udostępniona na licencji GPL. To może prowadzić do utraty tajemnicy przedsiębiorstwa i naruszenia poufności informacji.
Inne licencje oprogramowania otwartego a GPL
Istnieje wiele innych licencji oprogramowania otwartego, które są alternatywą dla licencji GPL. Niektóre z nich, takie jak licencja MIT czy BSD, są mniej restrykcyjne niż GPL i nie wymagają udostępniania kodu źródłowego. To sprawia, że są one bardziej atrakcyjne dla firm, które chcą zachować tajemnicę przedsiębiorstwa.
Jednak, należy zauważyć, że GPL ma również swoje zalety. Jedną z nich jest silniejsza ochrona praw użytkowników, która gwarantuje, że oprogramowanie objęte tą licencją zawsze pozostanie oprogramowaniem otwartym i dostępnym dla społeczności. Licencja GPL również promuje współpracę i wzajemne korzystanie z kodu źródłowego, co może prowadzić do innowacji i rozwoju oprogramowania.
GPL — artykuły polecane |
Ethereum — Licencja BSD — Java — C++ — Ruby — Test driven development — Trójpodział władzy — Sztuczna inteligencja — Ustawa o prawie autorskim |
Przypisy
Bibliografia
- Gawrysiak P. (2008), Cyfrowa rewolucja, Wydawnictwo Naukowe PWN, Warszawa
- Gomulkiewicz R. (2005), General Public License 3.0: Hacking the Free Software Movement's Constitution, Hous. L. Rev., 42
- Jordan T. (2011), Hakerstwo. Media cyfrowe a determinizm technologiczny, PWN, Warszawa
- Kalinowski J. (2011), Wycena licencji wolnego i otwartego oprogramowania (GNU GPL) na przykładzie systemu operacyjnego Linux, UŁ, Łódź
- Papińska-Kacperek J. (red.) (2008), Społeczeństwo informacyjne, Wydawnictwo Naukowe PWN, Warszawa
- Stallman R. (2002), GNU Emacs Manual, Boston, Massachusetts
- Stallman R., McGrath R., Smith P. (2004), GNU Make: A Program for Directed Compilation, Boston, Massachusetts
- Strona internetowa: Oficjalny tekst licencji GNU GPL w wersji 3
- Williams S. (2002), Free as in Freedom: Richard Stallman's Crusade for Free Software
Autor: Krzysztof Krupa, Bartosz Matela