Kiedy dekompilacja jest legalna? Spojrzenie na sprawę w świetle wyroku TSUE
Z technicznego punktu widzenia program komputerowy to zbiór zapisanych zgodnie z pewnymi regułami instrukcji, które, po umieszczeniu na rozpoznawalnym przez komputer nośniku i przetłumaczeniu na język dla niego zrozumiały, powodują, że komputer wykonuje określone zadanie [1]. Z perspektywy przeciętnego użytkownika – to narzędzie ułatwiające codzienną pracę. W rozumieniu prawa natomiast program komputerowy to przejaw działalności twórczej o indywidualnym charakterze, to znaczy utwór, któremu na mocy Ustawy o prawie autorskim i prawach pokrewnych przysługuje ochrona.
Ochrona ta obejmuje wszystkie formy wyrażenia programu komputerowego, a więc: kod źródłowy, kod wynikowy, a także dokumentację projektową programu, o ile na jej podstawie można odtworzyć działający program. Zatem każda ingerencja w program komputerowy powinna być zgodna bądź z przepisami ustawy, bądź z postanowieniami umowy zawartej pomiędzy stroną dysponującą autorskimi prawami majątkowymi do oprogramowania a jego nabywcą.
Ustawa (art. 75 ust. 1) wyjaśnia, jakie czynności przysługujące twórcy utworu (programu komputerowego) lub jego producentowi nie wymagają ich zgody – o ile umowa nie stanowi inaczej – jeżeli są niezbędne do korzystania z programu komputerowego zgodnie z jego przeznaczeniem, w tym do poprawiania błędów przez osobę, która legalnie weszła w jego posiadanie. Ustęp drugi tego artykułu wskazuje, że nie wymagają zezwolenia uprawnionego, (który legalnie wszedł w posiadanie danego oprogramowania) następujące sytuacje:
„1) sporządzenie kopii zapasowej, jeżeli jest to niezbędne do korzystania z programu komputerowego. Jeżeli umowa nie stanowi inaczej, kopia ta nie może być używana równocześnie z programem komputerowym;
2) obserwowanie, badanie i testowanie funkcjonowania programu komputerowego w celu poznania jego idei i zasad przez osobę posiadającą prawo korzystania z egzemplarza programu komputerowego, jeżeli, będąc do tych czynności upoważniona, dokonuje ona tego w trakcie wprowadzania, wyświetlania, stosowania, przekazywania lub przechowywania programu komputerowego;
3) zwielokrotnianie kodu lub tłumaczenie jego formy w rozumieniu art. 74 ust. 4 pkt 1 i 2, 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, o ile zostaną spełnione następujące warunki:
a) czynności te dokonywane są przez licencjobiorcę lub inną osobę uprawnioną do korzystania z egzemplarza programu komputerowego bądź przez inną osobę działającą na ich rzecz,
b) informacje niezbędne do osiągnięcia współdziałania nie były uprzednio łatwo dostępne dla osób, o których mowa pod lit. a,
c) czynności te odnoszą się do tych części oryginalnego programu komputerowego, które są niezbędne do osiągnięcia współdziałania.
4) Informacje, o których mowa w ust. 2 pkt 3, nie mogą być:
a) wykorzystane do innych celów niż osiągnięcie współdziałania niezależnie stworzonego programu komputerowego;
b) przekazane innym osobom, chyba że jest to niezbędne do osiągnięcia współdziałania niezależnie stworzonego programu komputerowego;
c) 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”
Co ważne i należy szczególnie podkreślić to, że postanowienia umów sprzeczne z art. 75 ust. 2 i 3 są nieważne.

Jaki to ma związek z dekompilacją?
Zdarza się, że, z różnych powodów, oprogramowanie nie działa poprawnie; testy wskazują na obecność pewnych defektów, które pojawiły się na przykład wskutek aktualizacji lub wprowadzenia (niewielkich nawet) modyfikacji przez producenta oprogramowania. Istotne defekty należy usunąć, ponieważ mogą one, w skrajnym przypadku, uniemożliwić działanie oprogramowania. Następnie trzeba ponownie przeprowadzić testy, aby upewnić się, że defekty zostały skutecznie usunięte. Otóż naprawienie usterek, które istotnie wpływają na działanie programu komputerowego sprowadza się często do ingerencji w jego kod źródłowy, co z kolei wymaga przeprowadzenia dekompilacji. Zgodnie z definicją słownika języka polskiego polega ona na odtworzeniu postaci źródłowej programu w oparciu o jego kod wynikowy[2]. Podstawową wiedzę na ten temat przywołano w uzasadnieniu do niedawnego wyroku Trybunału Sprawiedliwości UE w interesującej sprawie sporu dotyczącego legalnych okoliczności dekompilacji. Trybunał przypomniał: „(…) program komputerowy jest pierwotnie zredagowany w formie „kodu źródłowego” w zrozumiałym dla człowieka języku programowania, a następnie zostaje zapisany w formie nadającej się do odczytu przez komputer, a mianowicie w postaci „kodu obiektowego”, za pomocą specjalnego programu nazywanego „kompilatorem”. Operacja polegająca na przekształceniu kodu źródłowego w kod obiektowy nosi z kolei nazwę „kompilacji”. W tym względzie należy przypomnieć, że kod źródłowy i kod obiektowy programu komputerowego, jako że stanowią dwie formy jego wyrażenia, zasługują na objęcie ich ochroną prawnoautorską przyznawaną programom komputerowym na podstawie art. 1 ust. 2 dyrektywy 91/250 (zob. podobnie wyrok z dnia 22 grudnia 2010 r.,C-393/09, EU:C:2010:816, pkt 34). Natomiast „dekompilacja” ma na celu odtworzenie kodu źródłowego programu na podstawie jego kodu obiektowego. Dekompilacja odbywa się za pomocą programu zwanego „dekompilatorem”. Jak podkreślił rzecznik generalny w pkt 41 opinii, dekompilacja pozwala z reguły na uzyskanie nie oryginalnego kodu źródłowego, lecz trzeciej wersji danego programu nazywanej „quasi-kodem źródłowym”, którą można z kolei przekształcić następnie w kod obiektowy umożliwiający funkcjonowanie tego programu. Dekompilacja stanowi zatem operację przekształcenia formy kodu programu wiążącą się z powieleniem, przynajmniej częściowym i tymczasowym, tego kodu oraz translacją jego form.”[3]
Dekompilacja wiąże się więc z przeprowadzeniem czynności, które wymagają powielenia (zwielokrotnienia) kodu oraz translacji (tłumaczenia) jego form, te zaś, podobnie jak w polskim prawodawstwie, obwarowane są – ze względu na prawa autorskie – pewnymi warunkami.
Dyrektywa nr 2009/24/WE w sprawie ochrony prawnej programów komputerowych w artykule 6 zatytułowanym “Dekompilacja” stanowi:
„1. Zezwolenie uprawnionego nie jest wymagane, jeśli powielanie kodu i translacja jego form, w rozumieniu art. 4 ust. 1 lit. a) i b), jest niezbędne do otrzymania informacji koniecznych do osiągnięcia interoperacyjności niezależnie stworzonego programu komputerowego z innymi programami, z zastrzeżeniem spełnienia następujących warunków:
a) czynności te są wykonywane przez licencjobiorcę lub osobę mającą prawo do używania kopii programu, lub upoważnioną osobę działającą w ich imieniu;
b) informacje konieczne do osiągnięcia interoperacyjności nie były uprzednio łatwo dostępne dla osób określonych w lit. a); oraz c) czynności te są ograniczone do tych części oryginalnego programu, które są niezbędne dla osiągnięcia interoperacyjności.
2. Przepisy ust. 1 nie upoważniają do tego, by informacje uzyskane na ich podstawie były:
a) wykorzystane do celów innych niż osiągnięcie interoperacyjności niezależnie od siebie stworzonych programów komputerowych;
b) przekazywane osobom trzecim, z wyjątkiem kiedy są konieczne dla interoperacyjności stworzonego niezależnie programu komputerowego; lub
c) wykorzystane w celu rozwijania, produkcji lub obrotu programami komputerowymi znacznie podobnymi w swoim wyrazie lub do jakichkolwiek innych czynności naruszających prawo autorskie. 3. Zgodnie z przepisami konwencji berneńskiej o ochronie dzieł literackich i artystycznych, niniejszy artykuł nie może być interpretowany tak, aby możliwe było jego stosowanie w sposób, który bez uzasadnienia narusza słuszne interesy uprawnionego lub pozostaje w sprzeczności z normalnym korzystaniem z programu komputerowego.”
W świetle powyższego artykułu należałoby przyjąć, że dekompilacja jest legalna tylko wówczas, gdy ma na celu osiągnięcie interoperacyjności (współdziałania) niezależnie od siebie stworzonych programów komputerowych. Tymczasem poprzedzający te przepisy artykuł 5 “Wyjątki od czynności zastrzeżonych” uznaje czynności, na których polega dekompilacja za legalne, gdy są konieczne do użycia programu zgodnie z zamierzonym celem, włącznie z poprawianiem błędów [4]:
- W braku szczególnych przepisów umownych czynności określone w art. 4 lit. a) i b) [trwałe lub czasowe powielanie programu komputerowego jakimikolwiek środkami i w jakiejkolwiek formie, częściowo lub w całości (…), translacja, adaptacja, porządkowanie i jakiekolwiek inne modyfikacje programu komputerowego i powielenie wyników tych działań bez uszczerbku dla praw osoby, która modyfikuje program] nie wymagają zezwolenia uprawnionego, jeśli są konieczne do użycia programu przez uprawnionego nabywcę zgodnie z zamierzonym celem, włącznie z poprawianiem błędów.
Pojawiła się zatem pewna nieścisłość, na której – od strony prawnej – oparł się spór sądowy pomiędzy spółką TopSystem a Królestwem Belgii. Sprawa odbiła się szerokim echem i zakończyła przed Trybunałem Sprawiedliwości UE.

Tło sporu
Spółka Top System, producent oprogramowania komputerowego świadczący również usługi informatyczne współpracowała przez wiele lat z belgijską instytucją publiczną zarządzającą kadrami administracji publicznej – Selor. Na zlecenie Seloru spółka wprowadziła szereg narzędzi informatycznych umożliwiających zgłaszanie online i dalsze przetwarzanie kandydatur na stanowiska publiczne. Top System korzystał przy tym zarówno z komponentów własnego oprogramowania ramowego “Top System Framework” (TSF), jak i z rozwiązań przygotowanych specjalnie dla instytucji. (Selor posiadał oczywiście licencję na oprogramowanie Top System) Współpraca układała się pomyślnie aż do 2008 roku, kiedy to obie strony zawarły umowę, której przedmiotem były instalacja i konfiguracja nowego środowiska programistycznego oraz zintegrowanie i migracja źródeł aplikacji Seloru do tego środowiska. W nowym oprogramowaniu, a konkretnie w komponentach będących częścią Top System Framework, pojawiły się błędy, których spółka nie naprawiła. Selor postanowił usunąć błędy samodzielnie dokonując dekompilacji programu w celu wyłączenia wadliwej funkcji. W odpowiedzi Top System wniósł do sądu gospodarczego w Brukseli skargę przeciwko Selorowi i reprezentującemu tę instytucję państwu belgijskiemu, domagając się w szczególności ustalenia, że Selor dokonał dekompilacji TSF z naruszeniem praw wyłącznych przysługujących spółce Top System do tego oprogramowania. Spółka Top System zażądała jednocześnie zasądzenia od pozwanych odszkodowania z tytułu dekompilacji i powielenia kodów źródłowych tego oprogramowania wraz z odsetkami wyrównawczymi liczonymi od szacunkowej daty dekompilacji. Jak uznał pozywający, dekompilacja jest dozwolona jedynie w celu osiągnięcia interoperacyjności, nie może być natomiast przeprowadzana dla poprawiania błędów mających wpływ na funkcjonowanie danego programu. Sąd pierwszej instancji oddalił żądania Top System, spółka odwołała się zatem do sądu apelacyjnego. Ten zadecydował o wystosowaniu pytań prejudycjalnych [5] w tej sprawie do Trybunału Sprawiedliwości Unii Europejskiej.
Zadano następujące pytania:
1) Czy art. 5 ust. 1 [dyrektywy 91/250] należy interpretować w ten sposób, że zezwala on uprawnionemu nabywcy programu komputerowego na dokonanie dekompilacji całości lub części tego programu, jeżeli dekompilacja ta jest konieczna, aby pozwolić mu na poprawienie błędów mających wpływ na funkcjonowanie tego programu, również w przypadku gdy poprawka polega na wyłączeniu funkcji zakłócającej prawidłowe funkcjonowanie aplikacji, której program ten jest częścią?
2) W przypadku udzielenia odpowiedzi twierdzącej na pytanie pierwsze, czy ponadto muszą zostać spełnione warunki określone w art. 6 dyrektywy lub jakieś inne warunki?”.
Analizując sprawę (sygnatura C-13/20), Trybunał uznał m. in., iż art. 6 dyrektywy 91/250 nie może być interpretowany w ten sposób, że dekompilacja programu komputerowego jest dopuszczalna jedynie w zakresie, w jakim jest ona realizowana w celu osiągnięcia interoperacyjności. Postanowienia art. 6 regulującego w sposób szczególny kwestię interoperacyjności oraz art. 5, mającego na względzie użycie programu zgodnie z zamierzonym celem, włącznie z poprawianiem błędów, odnoszą się w istocie do różnych sytuacji i mają odmienne przeznaczenie. W przedmiocie pytania drugiego, dotyczącego ewentualnych warunków dopuszczalnej dekompilacji uzasadnionej poprawieniem błędów w programie komputerowym, Trybunał rozstrzygnął, że wyjątek [od czynności zastrzeżonych] przewidziany w art. 6 dyrektywy 91/250 różni się pod względem zakresu stosowania i celów od wyjątku przewidzianego w art. 5 ust. 1 tej dyrektywy. W konsekwencji wymogi ustanowione we wspomnianym art. 6 nie znajdują jako takie zastosowania do wyjątku przewidzianego w art. 5 ust. 1 tej dyrektywy. Trybunał zwraca jednak uwagę, że zgodnie z brzmieniem art. 5 ust. 1 dyrektywy 91/250 poprawianie błędów jest dozwolone, z zastrzeżeniem „szczególnych postanowień umownych”.
Ostatecznie orzeczenie brzmi następująco:
1) Artykuł 5 ust. 1 dyrektywy Rady 91/250/EWG z dnia 14 maja 1991 r. w sprawie ochrony prawnej programów komputerowych należy interpretować w ten sposób, że uprawniony nabywca programu komputerowego może dokonać dekompilacji całości lub części tego programu w celu poprawienia błędów mających wpływ na jego funkcjonowanie, również w przypadku gdy poprawienie polega na wyłączeniu funkcji zakłócającej prawidłowe funkcjonowanie aplikacji, której program ten jest częścią.
2) Artykuł 5 ust. 1 dyrektywy 91/250 należy interpretować w ten sposób, że uprawniony nabywca programu komputerowego, który chciałby dokonać dekompilacji tego programu w celu poprawienia błędów mających wpływ na jego funkcjonowanie, nie jest zobowiązany do spełnienia wymogów przewidzianych w art. 6 tej dyrektywy. Niemniej jednak nabywca ten jest uprawniony do przeprowadzenia takiej dekompilacji jedynie w zakresie koniecznym do poprawienia tych błędów i z poszanowaniem, w stosownym przypadku, warunków przewidzianych w umowie z uprawnionym z tytułu praw autorskich do tego programu.”

Co oznacza ten wyrok w praktyce?
Z analizy sprawy przeprowadzonej przez Trybunał oraz wydanego orzeczenia wynika kilka zasadniczych wniosków:
Dekompilacja na potrzeby usunięcia błędów rozumianych jako wady uniemożliwiające właściwe działanie programu komputerowego może być przeprowadzana wyłącznie w tym celu.
Warunkiem legalności dekompilacji jest jej niezbędność – jeśli usunięcie błędów jest możliwe na inny sposób, np. dzięki udostępnieniu przez producenta kodu źródłowego, dekompilacja będzie niezgodna z prawem.
Umowy pomiędzy stronami powinny obwarowywać dekompilację pewnymi wymogami wynikającymi z poszanowania praw autorskich, np. koniecznością konsultacji konieczności dekompilacji z producentem oprogramowania lub zobowiązaniem do skorzystania z obsługi serwisowej dostarczanej przez producenta. Umowy nie mogą natomiast wykluczyć jakiejkolwiek możliwości poprawiania błędów przez legalnego dysponenta oprogramowania.
Choć orzeczenie Trybunału może pozostawiać pewne wątpliwości, choćby co do zakresu regulacji, jakie obejmą dekompilację i jakie mają znaleźć się w umowach pomiędzy stronami, rozstrzygnięcia, które zapadły poszerzają uprawnienia legalnych użytkowników programów komputerowych. Będzie to miało praktyczne znaczenie dla wielu firm korzystających z usług zewnętrznych wykonawców dostarczających oprogramowanie, czy świadczących usługi testerskie lub serwisowe.
Przypisy:
- Według definicji World Intellectual Property Organization
- Definicja dekompilacji – według SJP – dostęp na dzień 15. 10. 2021 r.
- Wyrok Trybunału Sprawiedliwości UE z dnia 6 października 2021 roku w sprawie C-13/20
- Należy zwrócić uwagę, że “błąd” w ujęciu prawnym bliższy jest potocznemu rozumieniu tego słowa i nie odpowiada klasyfikacji ISTQB: “W tym względzie należy zauważyć, że w dziedzinie informatyki błąd oznacza zazwyczaj wadę mającą wpływ na program komputerowy, który jest przyczyną jego niewłaściwego funkcjonowania.” (pkt 59 uzasadnienia do wyroku TSUE w sprawie C-13/20)
- Pytania prejudycjalne przewidziano w artykule 19 ustęp 3 lit. b Traktatu o Unii Europejskiej oraz artykule 267 Traktatu o funkcjonowaniu Unii Europejskiej. Sądy krajowe państw należących do Unii Europejskiej mogą w tym trybie zwracać się do Trybunału Sprawiedliwości UE z wnioskiem o wykładnię czy też stwierdzenie ważności danych przepisów prawa.
Źródła:
- Wyrok Trybunału Sprawiedliwości C-13/20
- Ustawa z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych
- Dyrektywa nr 2009/24/WE w sprawie ochrony prawnej programów komputerowych

Charlotta Lendzion
Starszy Tester Oprogramowania
Prawniczka, certyfikowany tester oprogramowania. Audytor wewnętrzny bezpieczeństwa informacji i systemu zarządzania jakością. Autorka licznych artykułów dotyczących technologii i prawa. W Soflab pełni funkcję Starszego Testera Oprogramowania. Aktualnie w trakcie badań naukowych w zakresie pracy doktorskiej dotyczącej prawa nowych technologii z aspektami prawa umów.