Programy komputerowe w świetle krajowego prawa autorskiego korzystają ze szczególnej ochrony. Z uwagi na ich specyfikę wyłączono stosowanie niektórych regulacji z ogólnej części prawa autorskiego, w szczególności przepisów dotyczących dozwolonego użytku, który umożliwia w ściśle określonych okolicznościach korzystanie z utworów bez zgody twórcy, a nawet wbrew takiej zgodzie. Co do zasady zatem jakiekolwiek zwielokrotnienie programu komputerowego wymaga zgody twórcy.
Ustawodawca dał nam jednak w zamian instytucję tzw. legalnego użytkownika, tj. osoby która legalnie weszła w posiadanie programu komputerowego, np. nabywając do niego licencję. Taki użytkownik może, nawet bez zgody producenta oprogramowania, zwielokrotniać, tłumaczyć, przystosowywać, zmieniać układ lub dokonywać jakiekolwiek inne zmiany, jeżeli są niezbędne do korzystania z programu komputerowego zgodnie z jego przeznaczeniem, w tym do poprawiania błędów. Uprawnienia takie nie przysługują jednak, jeżeli wprost wyłączono je w umowie.
Nie wymaga zezwolenia producenta oprogramowania także sporządzenie kopii zapasowej, jeżeli jest to niezbędne do korzystania z programu komputerowego, a także obserwowanie, badanie i testowanie funkcjonowania programu komputerowego w celu poznania niechronionych elementów programu komputerowego, czyli idei oraz zasad, na jakich się on opiera (tzw. reverse analysis). Takich czynności może jednak dokonać wyłącznie osoba posiadająca prawo korzystania z egzemplarza oprogramowania, jeżeli, będąc do tych czynności upoważniona, dokonuje ona tego w trakcie wprowadzania, wyświetlania, stosowania, przekazywania lub przechowywania oprogramowania. Jak zauważa się w literaturze przedmiotu, wyniki reverse analysis można wykorzystać nawet przy tworzeniu własnego, konkurencyjnego oprogramowania, „także takiego, który praktycznie „klonowałby” funkcje pierwowzoru[1]”.
Czym innym jest natomiast tzw. inżyniera odwrotna (tzw. reverse engineering) polegająca na zwielokrotnianiu samego kodu źródłowego lub tłumaczenie jego formy (dekompilacja lub dezasemblacja), jeżeli jest to niezbędne do uzyskania informacji koniecznych do osiągnięcia współdziałania niezależnie stworzonego programu komputerowego z innymi programami komputerowymi. Proces więc ten dotyczy badania samego kodu w celu ustalenia, w jaki sposób on funkcjonuje. Co istotne jednak, wyłącznie osoba uprawniona do korzystania z egzemplarza oprogramowania lub licencjobiorca, a także osoba działająca na ich rzecz, może dokonywać inżynierii odwrotnej pod warunkiem że informacje, które mają być pozyskane tą drogą są niezbędne do osiągnięcia współdziałania, nie są uprzednio łatwo dostępne, a czynności te odnoszą się do tych części oryginalnego programu komputerowego, które są niezbędne do osiągnięcia współdziałania. Pozyskane informacje mogą być wykorzystane w ściśle określonym celu, tj. osiągnięcia współdziałania niezależnie stworzonego programu komputerowego, a więc kompatybilności dwóch programów. Nie mogą przy tym być przekazane innym osobom, o ile nie jest to niezbędne do osiągnięcia współdziałania ani wykorzystane do rozwijania, wytwarzania lub wprowadzania do obrotu programu komputerowego o istotnie podobnej formie wyrażenia lub do innych czynności naruszających prawa autorskie. Inżynieria odwrotna służy więc poznaniu największej tajemnicy oprogramowania – jego kodu źródłowego, który jest swoistym DNA, algorytmem oprogramowania, stąd też jej zastosowanie jest mocno ograniczone.
Jak więc widać prawo polskie, w ślad za dyrektywą unijną, dość wąsko traktuje dozwolony użytek w IT – ściśle określone uprawnienia przysługują wyłącznie uprawnionym osobom, które w sposób legalny weszły w posiadanie oprogramowania i nie jest możliwe kopiowanie fragmentu kodu oprogramowania w celu stworzenia konkurencyjnego produktu. Kod źródłowy jest tym co prawo autorskie chroni najbardziej w oprogramowaniu.
Dozwolony użytek programów komputerowych w USA
Nieco inaczej kwestia ta wygląda w prawie amerykańskim gdzie doktryna tzw. fair use ma nie tylko inne oblicze ale również szeroko stosowana jest w odniesieniu do programów komputerowych. Amerykańskie prawo stanowi, że przy badaniu istnienia dozwolonego użytku należy ocenić cel i charakter użytkowania, w szczególności czy takie wykorzystanie ma charakter komercyjny, czy też ma charakter edukacyjny, charakter utworu chronionego prawem autorskim, ilość oraz istotność wykorzystanego fragmentu oraz wpływ takiego wykorzystania na rynek lub wartość chronionego utworu.
Spór Oracle vs. Google
Doktryna fair use była tłem jednego z najgłośniejszych sporów ostatnich lat w branży IT – pomiędzy Google LLC i Oracle America, Inc, dotyczącego wykorzystania przez Google, w drodze inżynierii odwrotnej, takich samych deklaracji w API (Application Programming Interface, interfejs programistyczny) programu Java SE, do którego autorskie prawa posiada Oracle. API stanowi zbiór reguł opisujących w jaki sposób aplikacje komunikują się ze sobą i stanowi narzędzie pracy dla programistów tworzących programy komputerowe.
Spór ma swą genezę w 2005 r. kiedy to Google nabył startup Android Inc i rozpoczął starania by wejść na rynek smartfonów, tworząc platformę do budowy systemów dla urządzeń mobilnych. Platforma w swym założeniu miała być nieodpłatna po to by popularyzować środowisko Google. Jako że język programistyczny Java był wówczas jednym z najbardziej popularnych i powszechnych wśród programistów, Google podjął rozmowy z Sun Microsystems – twórcą Java – na temat licencjonowania całej platformy Java. Ostatecznie zdecydował się jednak na budowę własnej platformy. Aby jednak zapewnić jej powszechność i łatwość stosowania wśród programistów zastosowano w nim nazwy funkcji i formatów danych charakterystyczne dla języka Javy. Google de facto opracował własne odpowiedniki funkcji Javy i nadał im nazwy takie same jak w Javie. Oracle, po przejęciu spółki Sun Microsystems, pozwał w 2010 r. Google o naruszenie przysługujących Oracle praw autorskich i patentów. Zarzucono Google skopiowanie blisko 11 500 linii deklaracji API programu Java (co stanowiło 0,4 % deklaracji). Po długiej batalii przed sądami niższych instancji, sprawa o naruszenie praw autorskich Oracle ostatecznie trafiła na wokandę Sądu Najwyższego w Waszyngtonie.
Sąd Najwyższy orzekł, że użycie przez Google deklaracji API stanowiło dozwolony użytek (fair use). Jak podkreślono w wyroku „Fair use pozwala sądom uniknąć sztywnego stosowania ustawy o prawie autorskim, jeżeli czasami tłumiłoby to samą kreatywność, którą ustawa ta ma wspierać”. Sąd uznał, że działanie Google było „zgodne z kreatywnym „postępem”, który jest podstawowym konstytucyjnym celem samego prawa autorskiego”. Według sądu dozwolony użytek pełni więc istotną rolę w rozwoju oprogramowania, a prawo autorskie nie powinno hamować tego rozwoju.
Bezsporne w ocenie sądu było to, że Google skopiował części kodu Oracle w celu komercyjnym, uznano jednak że efekt działania Google – którym było przyczynienie sią do postępu i rozwoju oprogramowania – stanowił de facto korzyść niekomercyjną.
Wyrok sądu stanowi ciekawą, szeroką interpretację dozwolonego użytku w prawie amerykańskim i niewątpliwie będzie mieć on duży wpływ na branżę IT w Stanach Zjednoczonych. Decyzja amerykańskiego Sądu Najwyższego postrzegana bywa nawet jest jako złagodzenie obostrzeń dla zastosowania dozwolonego użytku. Niewątpliwie konkurencyjność w branży IT – a w efekcie użytkownicy końcowi – zyskają na tym wyroku.
Autorką wpisu jest radca prawny Marta Pasztaleniec, Senior Associate w Kancelarii RKKW.