Scenariusz 1: kilka prostych zmian

Nie każda zmiana w cudzym programie to od razu dzieło zależne. Kilka prostych zmian (np. paru pojedynczych instrukcji, jakiejś nazwy zmiennej, niektórych wartości) nie musi być na tyle twórcze, żeby prowadzić do powstania opracowania. Ich wprowadzenie wymaga wprawdzie zgody autora programu (kontrola nad prawem do modyfikacji – art. 74 prawa autorskiego), ale samo w sobie nie czyni z osoby modyfikującej program twórcy zależnego. W takim przypadku, mimo że coś się zmieniło, to nadal ten sam program (nie ma przecież utworu zależnego), a ten, kto zmian dokonał nie może rościć sobie żadnych praw do niego, ani tym bardziej zmienić zasad licencjonowania.

Oczywiście konia z rzędem temu, kto jest w stanie z całym przekonaniem powiedzieć, że coś nie jest utworem. Przesłanki ochrony prawno-autorskiej są interpretowane przez sądy bardzo liberalnie i nawet dość proste zmiany, zwłaszcza jak zbierze się ich większa ilość, łatwo zostaną zakwalifikowane jako opracowanie. I nie jest to wyłącznie polska specyfika. Nie szukając daleko – w opisywanej przez nas jakiś czas temu sprawie Oracle vs Google sąd pierwszej instancji, mimo ogólnie bardzo przychylnego dla Google’a wyroku, uznał za twórcze (i dopatrzył się naruszenia) dziewięciu linijek kodu przejętych przez Google’a przy tworzeniu Androida (CRN Polska, nr 12/2021).

Scenariusz 2: grzebiemy głębiej

Drugi przypadek to głębsze zmiany w programie na GPL lub wykorzystanie jego kodu jako podstawy przy tworzeniu własnego programu. Czyli bierzemy czyjś kod, grzebiemy, przerabiamy, dopisujemy nowe funkcjonalności, poprawiamy błędy, a później przekazujemy dalej albo korzystamy dla własnych potrzeb. To sytuacja bliska „tradycyjnej” twórczości. Jeżeli nasz wkład jest oryginalny (a przy głębszych zmianach jest to bardzo prawdopodobne) powstanie opracowanie (utwór zależny).

Co z tego wynika? Opracowanie jest nowym utworem. Jego związek z tym, co było materiałem wyjściowym wyraża się w konieczności uzyskania zezwolenia na – jak to określa polska ustawa o prawie autorskim – „korzystanie i rozporządzanie opracowaniem”. W odniesieniu do programów komputerowych przez „korzystanie” rozumieć należy czynności wymienione w art. 74 ust. 4 prawa autorskiego (czyli zwielokrotnianie, wprowadzanie dalszych zmian i rozpowszechnianie). „Rozporządzaniem” jest z kolei dysponowanie autorskim prawem zależnym w zakresie poszczególnych form korzystania z dzieła, obejmujące zarówno przeniesienie autorskich praw majątkowych, jak i dokonywanie innych czynności prawnych zmierzających do umożliwienia innym podmiotom korzystania z dzieła (przede wszystkim udzielenie licencji).

Zezwolenia twórcy programu pierwotnego (pierwotnego programisty, który wypuścił kod na GPL) wymaga więc podjęcie eksploatacji opracowania przez jego twórcę (kolejnego programisty, który wprowadził zmiany) lub osobę trzecią oraz zawarcie umowy przenoszącej autorskie prawa majątkowe do opracowania lub upoważniającej do korzystania z opracowania (licencji). Brak zezwolenia będzie skutkował w pierwszym przypadku naruszeniem autorskich praw majątkowych do utworu pierwotnego, w drugim zaś nieważnością zawartej umowy.

Zezwolenie na korzystanie z autorskich praw zależnych może być udzielone bezpośrednio użytkownikowi (end-userowi) korzystającemu z opracowania (nabywcy praw zależnych lub licencjobiorcy utworu zależnego). Najczęściej jednak zezwolenie takie udzielane jest bezpośrednio twórcy zależnemu (programiście). Po jego uzyskaniu, twórca zależny może, w granicach uzyskanego zezwolenia, samodzielnie zawierać umowy przenoszące autorskie prawa majątkowe i umowy licencyjne, mające za przedmiot dokonane opracowanie. Innymi słowy – jak opracujemy utwór zależny (w naszym przypadku na bazie kodu objętego licencją GPL) musimy uzyskać zgodę na dysponowanie tym „naszym – nie do końca naszym” utworem.

I tu wchodzi klauzula copyletft, która zezwala zarówno twórcy opracowania, jak i jego kontrahentowi (end-userowi) na korzystanie i rozporządzanie opracowaniem tylko na warunkach danej licencji. O ile z korzystaniem problemu nie ma, bo zakres zezwolenia jest bardzo szeroki (trudno jest wskazać czynności objęte zakresem autorskich praw majątkowych, na które np. GPL nie zezwala), to z rozporządzaniem jest. Bo zawarcie przez twórcę opracowania umowy z jakimkolwiek podmiotem trzecim jest możliwe tylko w granicach, na jakie zezwala dana klauzula copyleft (np. w GPL tylko na zasadach GPL). Czyli nie można przenieść praw do opracowania na kontrahenta, nie można udzielić bardziej liberalnej licencji (np. jakiejś licencji „permisywnej”, jak MIT), nie można udzielić takiej bardziej restrykcyjnej. Jak to zrobimy, zawarta umowa będzie nieważna.

Oczywiście to działa (tylko i aż) w relacjach kontraktowych. A przymusu kontraktowania nie mamy. Jeśli więc nie będziemy chcieli nikomu dać naszego oprogramowania i zawierać z kimkolwiek umowy, możemy zachować kod dla siebie. Jak już jednak damy, to nie mamy prawnego sposobu powstrzymania naszego kontrahenta od przekazania go dalej (oczywiście tylko z punktu widzenia prawa autorskiego, wspomniane grupy kapitałowe radzą sobie z tym dość sprawnie w inny sposób).