Blog IT, Blog Marketing

Dekompilować nie każdy może - część 1 z 2

Dekompilować nie każdy może - część 1 z 2

Marcin Sarna , 18.06.2021 r.

Druga część naszych rozważań o prawnych aspektach dekompilacji programów komputerowych.

Dekompilacja jako korzystanie z utworu

Dla osób innych niż autor programu rzeczą bardzo cenną jest więc poznanie sposobu działania programu, zastosowanych rozwiązań programistycznych czy tajników działania interfejsu. W osiągnięciu tego celu pomocna jest dekompilacja programu a więc możliwie dokładne „odzyskanie” kodu źródłowego.

Należy zauważyć, że o ile odzyskanie wartościowych idei czy rozwiązań zawartych w innych utworach (np. książkach lub piosenkach) nie wymaga specjalnych, technicznych zabiegów, o tyle dekompilacja programu takim zabiegiem właśnie jest. Oznacza to, że programista musi wykonać szereg czynności na cudzym programie a żeby je wykonać – musi być do nich uprawniony. Bowiem jak powiedzieliśmy na wstępie, to autor programu decyduje o tym kto może z niego korzystać: kopiować, publicznie prezentować a także i dekompilować.

Prawo do dekompilowania

Najlepiej więc jest przewidzieć konieczność zapewnienia sobie prawa do dekompilowania software’u w umowie licencyjnej na korzystanie z niego. Dekompilacja jest jednym z tzw. pól eksploatacji utworu, czyli sposobów korzystania z niego. W umowach najczęściej zapisuje się to jako prawo do:

  • modyfikowania,
  • przeprowadzania deasemblacji,
  • dekompilacji,
  • adaptacji,
  • rozszyfrowywania sposobu pracy programu,
  • tworzenia opracowań pochodnych, opartych na programie,
  • innego uzyskiwania informacji o wewnętrznej strukturze lub zasadach działania programu.

Nawet jednak jeżeli prawa do dekompilacji nie zapisano w umowie, licencjobiorca może w pewnym ograniczonym zakresie i pod pewnymi warunkami dokonywać dekompilacji na podstawie art. 75 Prawa autorskiego. Prawo to nie może zostać wyłączone w żadnej umowie i pozwala na dekompilację na jeden z dwóch sposobów.

Mid Account Manager

Warszawa
Aplikuj

Testing Engineer 5G (m/w/d) 4500 - 6500 EUR

München
Aplikuj

Senior PHP Developer

Praca zdalna
Aplikuj

Development Engineer FPGA (m/w/d) 4500 - 6500 EUR

München
Aplikuj

Sales Specialist

Błonie
Aplikuj

Dekompilacja „w locie”

Już samo korzystanie z programu oznacza, że w pewnym zakresie użytkownik poznaje jego ideę, funkcje i określone rozwiązania. Dlatego też licencjobiorca ma prawo do obserwowania, badania i testowania funkcjonowania programu komputerowego w celu poznania jego idei i zasad. Muszą być jednak przy tym spełnione razem dwa warunki:

  • „dekompilacja” może być wykonywana jedynie przez osobę posiadającą prawo korzystania z egzemplarza programu komputerowego,
  • osoba ta może zapoznawać się z ideami i zasadami programu tylko podczas wprowadzania, wyświetlania, stosowania, przekazywania lub przechowywania programu komputerowego.

Nietrudno zauważyć, że taka „dekompilacja” ma niewiele wspólnego z tym samym terminem stosowanym przez informatyków.

Dekompilacja dla kompatybilności

Ustawodawca wyszedł z założenia, że prawa autorskie nie mogą hamować rozwoju oprogramowania i konieczne jest zapewnienie twórcom możliwości zapewnienia współpracy ich programów z innymi aplikacjami. Dlatego też dekompilacja programu jest możliwa jeżeli jest to konieczne do uzyskania informacji koniecznych do osiągnięcia współdziałania tworzonego właśnie programu z innym.

Pierwszym warunkiem dopuszczalności dekompilacji jest więc to aby taki reverse engineering służył tylko i wyłącznie zapewnieniu kompatybilności oprogramowania a nie np. celom badawczym czy zwykłej ciekawości kolegów po fachu.

Po drugie, dekompilacja musi być jedynym możliwym środkiem poznania informacji koniecznych do zapewnienia kompatybilności, ewentualnie informacje te nie były uprzednio łatwo dostępne (np. dokumentacja była udostępniana tylko odpłatnie).

Kontynuując przykład z poprzedniej części naszego opracowania zwróćmy uwagę, że Pan Jacek nie mógłby dekompilować dla potrzeb kompatybilności programu GETO Systemy Informatyczne sp. z o.o. ponieważ banki udostępniły dokumentację API. Zamiast więc dekompilować program Pan Jacek powinien skorzystać z innych łatwo dostępnych źródeł informacji, którymi w tym wypadku są same banki (tj. API opublikowane na podstronie internetowej lub przesyłane na żądanie e-mailowe).

Oczywiście taka dekompilacja może być wykonywana przez osobę uprawnioną do korzystania z programu, tj. najczęściej przez licencjobiorcę; można jednak skorzystać z podwykonawcy. Nie trzeba też informować autorów programu o planowanej dekompilacji.

Podstawowym ograniczeniem omawianego rozwiązania jest to, że bez dekompilacji ciężko uprzednio stwierdzić jaka część programu zawiera funkcje, których poznanie umożliwi zapewnienie kompatybilności tworzonej właśnie aplikacji. Zdekompilowanie pozostałych części programu oznacza bowiem naruszenie praw autorskich, ze wszystkimi tego konsekwencjami (w tym np. koniecznością zapłaty odszkodowania).

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej