Browsing Tag

prawo it

nowe technologie prawo autorskie prawo IT

Dozwolony użytek programów komputerowych – jak Google pokonał Oracle w USA

9 sierpnia 2021

Dozwolony użytek programów komputerowych w Polsce

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.

Autor wpisu: Marta Pasztaleniec


[1] Komentarz do ustawy Prawo autorskie pod red. Michalaka, 2018 r.

prawo autorskie prawo IT

Cloud computing a transfer oprogramowania w modelu SaaS – jak kształtować umowę?

29 stycznia 2018
cloud computing

Cloud computing od kilku lat zyskuje na popularności tak wśród konsumentów, jak i przedsiębiorców. Zgodnie z badaniami Eurostat[1], w 2016 roku 21% przedsiębiorstw, działających na terenie UE, choć raz skorzystało z usług przetwarzania danych w chmurze. Najczęściej były one związane z obsługą poczty elektronicznej (65%), przechowywaniem dokumentów oraz innych plików (62%), hostingowaniem baz danych przedsiębiorstwa (44%), czy też z korzystaniem z dedykowanych aplikacji finansowych i księgowych (32%). Jednocześnie, w analogicznym okresie, jedynie 8% polskich przedsiębiorstw zdecydowało się na eksploatowanie funkcjonalności chmury obliczeniowej w swojej działalności.

Czym jest cloud computing?

Cloud computingiem (chmurą obliczeniową) określamy model dostarczania, udostępniania i/lub wykorzystania technologii informacyjnych przez wiele podmiotów jednocześnie, za pośrednictwem jednej, współdzielonej infrastruktury. Dostęp do tych technologii, w szczególności w zakresie aplikacji bądź usług, oprogramowania lub przechowywanych danych, jest możliwy w zasadzie z dowolnego urządzenia, podłączonego do sieci internetowej.

Korzystanie z chmury obliczeniowej z pewnością stanowi dla przedsiębiorstw źródło wielu korzyści ekonomicznych. Po pierwsze, przedsiębiorstwa korzystające z chmury nie muszą inwestować w tworzenie własnej infrastruktury informatycznej. Po drugie, model biznesowy przewidziany dla usług chmurowych zakłada ich pełną skalowalność. Oznacza to, że wraz ze wzmożonym zainteresowaniem na konkretne usługi chmurowe, odpowiednie zasoby informatyczne są stopniowo poszerzane w celu utrzymania akceptowalnej dla użytkowników wydajności. Skalowalność jest również istotna z punktu widzenia systemu opłat, który co do zasady funkcjonuje w modelu pay as you go (płacisz za to, co zużyjesz). Stąd też, wielkość opłat za usługi chmurowe będzie zależna od wielkości zasobów, które przedsiębiorca wykorzysta w danym okresie rozliczeniowym.

Zagrożenia dla przedsiębiorców

Z drugiej strony, korzystanie z usług chmurowych niesie dla każdego przedsiębiorcy różnego rodzaju zagrożenia. Co do zasady winny być one eliminowane stosownymi postanowieniami umownymi. Trzeba jednak pamiętać, iż korzystanie z usług chmurowych przez nieskończoną ilość podmiotów często eliminuje możliwość prowadzenia indywidualnych negocjacji co do kształtu warunków umowy, bądź też sprzyja narzucaniu przez usługodawcę konkretnych wzorców. Co więcej, użytkownik końcowy (w tym przedsiębiorca) zyskuje w zasadzie dostęp do konkretnego, już istniejącego rozwiązania informatycznego. Usługodawca nie będzie w takim przypadku zainteresowany dostosowywaniem danej usługi pod potrzeby konkretnego podmiotu.

Cloud computing w obrocie gospodarczym

Z uwagi na powyższe coraz częstszym sposobem udostępniania rozwiązań technologicznych w obrocie gospodarczym – zwłaszcza w zakresie oprogramowania – odbywa się z użyciem chmury, zazwyczaj w ramach modelu SaaS (Software as a Service). W takim przypadku usługobiorca zyskuje zdalny dostęp online do aplikacji, z której może korzystać w dowolnym momencie, bez konieczności jej instalacji na swoim urządzeniu.

Nie dochodzi tym samym do zwielokrotnienia utworu, o którym mowa w art. 74 ust. 4 pkt. 1 ustawy o prawie autorskim i prawach pokrewnych, zgodnie z którym:

Autorskie prawa majątkowe do programu komputerowego, z zastrzeżeniem przepisów art. 75 ust. 2 i 3, obejmują prawo do trwałego lub czasowego zwielokrotnienia programu komputerowego w całości lub w części jakimikolwiek środkami i w jakiejkolwiek formie; w zakresie, w którym dla wprowadzania, wyświetlania, stosowania, przekazywania i przechowywania programu komputerowego niezbędne jest jego zwielokrotnienie, czynności te wymagają zgody uprawnionego.

W praktyce powyższe wywołuje pewne wątpliwości, co do konieczności udzielania usługobiorcom licencji do korzystania z oprogramowania. Wydaje się jednak, że stosowne postanowienia licencyjne winny się w takich umowach znaleźć, chociażby z uwagi na niepewność prawną w tym zakresie.

O jakie postanowienia warto zadbać w umowie?

Udostępnianie oprogramowania w ramach modelu SaaS powinno odbywać się na podstawie zawieranych pomiędzy stronami umów o świadczenie usług. Poza ogólnymi postanowieniami umownymi – określającymi strony bądź przedmiot umowy – ważne są w tym zakresie:

  • postanowienia dotyczące prawa właściwego bądź jurysdykcji;
  • udzielenie licencji (zwłaszcza określenie czasu trwania oraz terytorium obowiązywania licencji; dostosowanie pól eksploatacji do udostępnianego oprogramowania w modelu SaaS; kwestia udzielania sublicencji; odpowiedzialność za wady prawne i usterki);
  • określenie modelu i zasad obliczania wynagrodzenia dla usługodawcy;
  • obowiązki usługodawcy w zakresie zapewnienia odpowiedniego poziomu bezpieczeństwa, tak w zakresie przetwarzania danych osobowych (konieczność dostosowania się do RODO), jak i w zakresie ochrony cyberbezpieczeństwa (konieczność dostosowania się do przepisów dyrektywy NIS oraz ustaw o krajowym systemie cyberbezpieczeństwa);
  • postanowienia dotyczące przenoszalności danych, kształtujących uprawnienie usługobiorcy do migracji danych w celu dalszego ich wykorzystywania, dokonywane w określonym trybie oraz z zachowaniem odpowiednich obowiązków/procedur/terminów;
  • zasady rozwiązywania/wypowiadania umów oraz ważne w tym kontekście ww. postanowienia dot. przenoszalności danych – odpowiednio skonstruowane klauzule pozwolą ograniczyć zjawisko vendor lock-in’u (tj. uzależnienia się od usługodawcy);
  • tzw. klauzule SLA, tj. postanowienia zobowiązujące usługodawcę do zachowania odpowiedniego poziomu usług;
  • określenie procedury zgłaszania błędów oprogramowania (usterek) oraz modyfikacja jego funkcjonalności na żądanie/wniosek usługobiorcy;
  • kary umowne związane z naruszeniem postanowień umownych w zakresie SLA, przenoszalności danych, niezapewnienia odpowiedniego poziomu bezpieczeństwa.

[i] Eurostat, Cloud computing – statistics on the use by enterprises, 2016; http://ec.europa.eu/eurostat/statistics-explained/index.php/Cloud_computing_-_statistics_on_the_use_by_enterprises#Factors_preventing_enterprises_from_using_cloud_computing_.282014_survey.29