Prawne aspekty oprogramowania open source

Oprogramowanie określane mianem Open Source, czyli tzw. otwarte oprogramowanie, to element szerszej kategorii tzw. wolnego i otwartego oprogramowania (z ang. Free/Libre Open Source Software, w skrócie FLOSS) – oprogramowania licencjonowanego na szczególnych warunkach, których wspólnym mianownikiem jest zagwarantowanie licencjobiorcy dostępu do kodu źródłowego. Drugim wspólnym mianownikiem jest to, że oba modele licencjonowania (udostępniania) oprogramowania dotyczą programów komputerowych, które są z perspektywy prawa autorskiego traktowane jak wszystkie inne programy komputerowe chronione prawnie ? są one utworami w rozumieniu prawa autorskiego, zaś to od decyzji podmiotu tych praw zależy, na jakich warunkach to oprogramowanie będzie udostępniane podmiotom trzecim.
Pomimo tych wspólnych mianowników i wspólnego występowania przedstawicieli obu ruchów w wielu kwestiach, należy zaznaczyć, iż występują różnice pomiędzy nimi w podejściu do szczegółowych kwestii związanych z licencjonowaniem, co oznacza, że nie każda licencja typu Open Source będzie jednocześnie licencją Free Software – wzajemnie. Podczas gdy ruch Open Source ma wymiar bardziej pragmatyczny, tak ruch Free Software ma wymiar bardziej ?wolnościowy? (mówiąc o wolnym oprogramowaniu mamy na myśli swobodę, a nie cenę ? bądź jak to stwierdził Richard Stallman ? główny twórca ruchu wolnego oprogramowania ? ?To understand the concept, you should think of free as in free speech, not as in free Beer.?). Dlatego też na wstępie należy przedstawić główne założenia obu ruchów FLOSS, co przekłada się na przedstawienie głównych założeń licencjonowania. Licencje typu Free Software przyznają użytkownikowi zasadniczo następujące prawa:
– prawo do użytkowania programu w dowolnym celu,
– prawo do analizowania i modyfikowania programu (swobodny dostęp do kodu źródłowego),
– prawo do swobodnego kopiowania programu,
– prawo do swobodnego rozpowszechniania zmodyfikowanych lub niezmodyfikowanych wersji programu.
Typowa licencja Open Source opiera się zaś na następujących założeniach ? zapewnia:
– swobodną redystrybucję: oprogramowanie może być swobodnie przekazywane lub sprzedawane,
– kod źródłowy: musi być dołączony lub dostępny do pobrania,
– programy pochodne: musi być dozwolona redystrybucja modyfikacji,
– integralność autorskiego kodu źródłowego: licencje mogą wymagać, aby modyfikacje były redystrybuowane jedynie jako poprawki do kodu,
– niedyskryminowanie osób i grup: nikt nie może zostać wykluczony,
– niedyskryminowanie obszarów zastosowań: nie wolno wykluczać komercyjnych zastosowań,
– dystrybucja licencji: prawa dołączone do oprogramowania muszą się odnosić do wszystkich odbiorców programu, bez konieczności wykonywania przez nich dodatkowej licencji,
– licencja nie może być specyficzna dla produktu: program nie może być licencjonowany tylko jako część szerszej dystrybucji,
– licencja nie może ograniczać innego oprogramowania: licencja nie może wymagać, aby inne dystrybuowane z pakietem oprogramowanie było typu Open Source,
– licencja musi być technicznie neutralna.
Mnogość licencji FLOSS powoduje, że bardziej szczegółowe omówienie tego zagadnienia powinno polegać na omówieniu już postanowień konkretnej licencji, których obecnie jest kilkadziesiąt. Powyższe zestawienie głównych założeń wystarczy jednak do wyciągnięcia wniosku, iż oprogramowanie typu Open Source (a także oprogramowanie typu Free Software) może być z powodzeniem wykorzystywane w projektach komercyjnych. Należy mieć jednak na uwadze dwa aspekty w tym zakresie. Po pierwsze, oprogramowanie to może być wykorzystane w projekcie komercyjnym jako oprogramowanie czysto użytkowe, czyli jako narzędzie, które jest wykorzystywane w działalności gospodarczej – w codziennym funkcjonowaniu przedsiębiorstwa (i który to aspekt akceptują już nasze krajowe urzędy skarbowe). Po drugie, wykorzystanie tego rodzaju oprogramowania w projekcie komercyjnym może polegać na jego wykorzystaniu jako elementu konstrukcyjnego innego oprogramowania. To drugie wykorzystanie oprogramowania FLOSS wymaga od twórcy oprogramowania szczególnej uwagi, gdyż o ile samo użycie tego oprogramowania jest w każdym przypadku możliwe, to różne mogą być konsekwencje tegoż. Niektóre z licencji FLOSS, tzw. licencje wirusowe, ?infekują? bowiem swoimi postanowieniami cały projekt programistyczny (zawierają tzw. klauzulę ?copyleft?), inne zaś przewidują możliwość dystrybuowania oprogramowania stworzonego na bazie FLOSS także w innych modelach.
Zajmę się teraz bardziej szczegółowym przedstawieniem najbardziej znanej i można powiedzieć wyjściowej licencji typu FLOSS, którą jest Powszechna Licencja Publiczna GNU (GNU General Public Licence) stworzona w 1989 r. przez Richarda Stallmana i Ebena Moglena. Wersja druga licencji GNU GPL została wydana w roku 1991, a wersja trzecia ? 29 czerwca 2007. Jej celem jest zagwarantowanie użytkownikowi swobody udostępniania i zmieniania wolnego oprogramowania, a więc danie pewności, iż oprogramowanie jest wolno dostępne dla wszystkich użytkowników. Licencja GPL dotyczy programów i innych prac, na których umieszczona jest pochodząca od właściciela praw autorskich informacja, że dany program lub praca może być rozpowszechniana na jej warunkach, co potwierdza tezę, że wolne i otwarte oprogramowanie od strony prawnej to model dystrybucji oprogramowania, uzależniony od podmiotu praw autorskich. Licencja GPL nie obejmuje działań innych niż kopiowanie, rozprowadzanie i modyfikowanie – nie mieszczą się one w jej zakresie.
Czynność używania programu nie jest poddana ograniczeniom, a produkty uzyskane z programu objęte są licencją tylko wtedy, gdy ich treść stanowi pracę opartą na programie (niezależnie od stworzenia jej przy użyciu programu). To, czy fakt taki jest prawdą, zależy od tego, co dany program wykonuje. Działając w oparciu o licencję GPL, każdy może modyfikować swoją kopię czy kopie programu oraz dowolne jego części, tworząc przez to pracę opartą na programie, jak również kopiować i rozprowadzać takie modyfikacje – pod warunkiem przestrzegania całości poniższych wymogów:
– należy umieszczać na zmodyfikowanych plikach widocznej informacji o tym, że dane pliki zostały zmienione, wraz z datą dokonania zmian;
– należy doprowadzić do tego, aby każda rozpowszechniana lub publikowana praca, która w całości lub części zawiera program licencjonowany na zasadach GPL, albo pochodzi od niego lub jego części, była w całości i bezpłatnie licencjonowana dla wszelkich stron trzecich na warunkach licencji GPL;
– jeżeli zmodyfikowany program podczas korzystania z niego w normalnym trybie odczytuje polecenia interaktywnie, należy spowodować, aby po uruchomieniu (użyty w interaktywny sposób w najzwyklejszym trybie), wydrukowywał on lub wyświetlał powiadomienie o odnośnym prawie autorskim i braku gwarancji (ewentualnie o zapewnianiu gwarancji), oraz o tym, że użytkownicy mogą redystrybuować ten program na warunkach licencji GPL wraz z informacją, jak użytkownik może zapoznać się z treścią tej licencji (wyjątkiem jest jedynie sytuacja, jeśli sam program jest interaktywny, ale normalnie nie drukuje takiego powiadomienia, to praca oparta na nim też nie musi wydrukowywać takiego powiadomienia).
Z innych istotniejszych postanowień należy wspomnieć o tym, że licencja GPL przyznaje każdemu prawo kopiowania i rozprowadzania programu licencjonowanego na jej zasadach w kodzie wynikowym lub w formie wykonywalnej (na zasadach przedstawionych powyżej), pod warunkiem zrealizowania również poniższych wymogów:
– należy dołączyć do niego odpowiadający mu, kompletny i możliwy do odczytania przez urządzenia cyfrowe kod źródłowy, który musi być rozpowszechniany na warunkach wskazanych powyżej i na nośniku zwyczajowo używanym dla wzajemnej wymiany oprogramowania; lub
należy dołączyć do niego pisemną ofertę, ważną co najmniej 3 lata, przyznającą każdej stronie trzeciej – za opłatą nie przekraczającą kosztu fizycznego wykonywania dystrybucji źródła – kompletną, odczytywalną przez urządzenia cyfrowe kopię odpowiadającego mu kodu źródłowego, rozprowadzaną na warunkach wskazanych powyżej, na nośniku zwyczajowo używanym do wzajemnej wymiany oprogramowania; lub należy dołączyć do niego informację na temat oferty rozprowadzania odpowiedniego kodu źródłowego.
Podsumowując można zaś wskazać, iż jednym z najważniejszych uprawnień przyznawanych przez licencję GPL jest to, że każdy może kopiować i rozprowadzać w dowolnych mediach wierne kopie kodu źródłowego programu w otrzymanej formie pod warunkiem, że w widoczny sposób i odpowiednio poda na każdej kopii właściwą informację o prawie autorskim i zrzeczenie się uprawnień z tytułu gwarancji; wszelkie napisy informacyjne na temat licencji i faktu nieudzielania gwarancji muszą być chronione przed uszkodzeniem, zaś wszystkim innym odbiorcom programu należy wraz z programem wręczać egzemplarz licencji GPL. Licencja GPL przyznaje więc uprawnienia, z których można korzystać jedynie w przypadku wypełnienia określonych obowiązków. Opłaty mogą być pobierane za fizyczną czynność przekazania kopii, a oferowanie ochrony gwarancyjnej jest pozostawione indywidualnej decyzji każdego licencjobiorcy.
Na zakończenie należy podkreślić, że licencje typu FLOSS są pełnoprawnymi licencjami na oprogramowanie i coraz częściej zdarzają się przypadki skutecznego egzekwowania ich postanowień przed sądami. Oczywiście pamiętać trzeba także o tym, że samo oprogramowanie typu FLOSS jest z perspektywy prawa autorskiego – jak już wspomniałem wyżej – takim samym oprogramowaniem jak każde inne i zakres ?dowolności? przy konstruowaniu tego rodzaju licencji jest wytyczany przez obowiązujące przepisy.