Programy komputerowe są jednym z kluczowych elementów współczesnego świata technologii. Choć w polskim prawie autorskim nie znajdziemy ustawowej definicji tego pojęcia, to zarówno prawo unijne, jak i orzecznictwo Trybunału Sprawiedliwości Unii Europejskiej (TSUE) precyzują, czym dokładnie jest program komputerowy i które jego elementy mogą podlegać ochronie.
W niniejszym poradniku wyjaśniamy, czym jest program komputerowy w rozumieniu prawa, jakie są jego podstawowe elementy oraz jak wygląda kwestia ochrony interfejsów graficznych.
Pojęcie programu komputerowego
Ustawa o prawie autorskim i prawach pokrewnych nie zawiera definicji programu komputerowego. W tej sytuacji należy sięgnąć do prawa unijnego, a konkretnie do dyrektywy 2009/24/WE w sprawie ochrony prawnej programów komputerowych.
Zgodnie z motywem 7 tej dyrektywy, „program komputerowy obejmuje programy w jakiejkolwiek formie, w tym programy zintegrowane ze sprzętem komputerowym, a także przygotowawcze prace projektowe prowadzące do rozwoju programu komputerowego, pod warunkiem że mają one taki charakter, iż program komputerowy może korzystać z nich na późniejszym etapie”.
Taką wykładnię potwierdził Trybunał Sprawiedliwości UE w wyroku z 22 grudnia 2010 r. (C-393/09), wskazując, że już sam etap projektowania może być traktowany jako element programu, jeśli jego efektem będzie możliwość stworzenia gotowego oprogramowania.
Kryterium ochrony
Dyrektywa 2009/24/WE wskazuje wprost:
„program komputerowy podlega ochronie, jeżeli jest oryginalny w takim rozumieniu, że jest własną intelektualną twórczością jego autora” (art. 1 ust. 3).
Co ważne – nie stosuje się żadnych dodatkowych kryteriów, takich jak poziom estetyczny czy techniczny programu. Ochrona przysługuje każdemu oryginalnemu oprogramowaniu, niezależnie od jego jakości czy przeznaczenia.
Definicje praktyczne
W literaturze i praktyce spotyka się wiele definicji programu komputerowego, które sprowadzają się do jednego: jest to zestaw instrukcji zapisanych w języku programowania, których celem jest osiągnięcie określonego rezultatu po przetworzeniu przez komputer.
Przykładowo, program komputerowy można rozumieć jako:
- algorytm zapisany w języku programowania,
- zbiór poleceń adresowanych do komputera,
- zakodowaną sekwencję działań prowadzących do określonego wyniku.
Elementy programu komputerowego
Programy komputerowe nie stanowią jednolitej całości – składają się z wielu elementów, które mogą być samodzielnym przedmiotem ochrony prawnej. Najważniejsze z nich to:
- algorytmy,
- kody źródłowe,
- interfejsy.
Każdy z tych elementów ma swoją specyfikę i różny status prawny.
Algorytmy
Algorytm to nic innego jak logicznie uporządkowany zestaw działań prowadzących do rozwiązania określonego problemu. W praktyce jest to proces myślowy zapisany w formie tekstowej lub graficznej, który dopiero po zakodowaniu w języku programowania staje się częścią programu komputerowego.
Przykład:
Firma SoftNet z Gdańska opracowała algorytm do automatycznego rozpoznawania gatunków roślin na podstawie zdjęć. Sam algorytm – jako proces myślowy – nie podlega ochronie prawnoautorskiej, ale zapisany w kodzie programu już tak.
Kody
Kod programu jest kluczowym elementem oprogramowania, ponieważ to dzięki niemu możliwa jest komunikacja pomiędzy człowiekiem a komputerem. Kod zapisuje algorytm w określonym języku programowania.
Wyróżniamy:
- kod źródłowy – zapis czytelny dla programisty,
- kod wynikowy (maszynowy) – zapis zrozumiały dla komputera.
Co istotne, kod zapisany w pamięci urządzenia (np. w ROM) staje się częścią sprzętu, ale nadal podlega ochronie jako element programu.
Interfejsy graficzne
Najwięcej wątpliwości w doktrynie budzi kwestia interfejsów graficznych użytkownika (GUI).
TSUE w sprawie C-393/09 uznał, że graficzny interfejs użytkownika nie stanowi formy wyrażania programu komputerowego, ponieważ sam w sobie nie pozwala na jego odtworzenie. Jest jedynie narzędziem komunikacji między człowiekiem a oprogramowaniem.
Jednakże – jeśli interfejs ma charakter twórczy, czyli przedstawia indywidualny i oryginalny układ graficzny, może być chroniony jako odrębny utwór. Ochrona nie obejmuje natomiast elementów czysto technicznych i funkcjonalnych.
Struktura programu komputerowego
Strukturę programu można podzielić na:
- elementy twórcze – objęte ochroną prawnoautorską (np. kod źródłowy, oryginalny interfejs),
- elementy nietwórcze – niepodlegające ochronie (np. standardowe rozwiązania funkcjonalne wymuszone przez technologię).
Takie rozróżnienie ma ogromne znaczenie praktyczne, zwłaszcza przy sporach dotyczących naruszeń praw autorskich do oprogramowania.
Podsumowanie
- Program komputerowy to nie tylko gotowe oprogramowanie, ale również prace projektowe i kody, które umożliwiają jego stworzenie.
- Ochronie prawnoautorskiej podlegają wyłącznie elementy twórcze – oryginalne i będące efektem pracy intelektualnej autora.
- Algorytmy w formie czystej idei nie są chronione, ale ich zapis w kodzie już tak.
- Interfejs graficzny może być chroniony, ale tylko w zakresie oryginalnych elementów graficznych, a nie funkcjonalnych.
Podstawa prawna
- art. 1 ust. 3 – dyrektywa 2009/24/WE w sprawie ochrony prawnej programów komputerowych
- wyrok TSUE z 22.12.2010 r., C-393/09, Bezpečnostní softwarová asociace – Svaz softwarové ochrany v. Ministerstvo kultury
Tematy porad zawartych w poradniku
- „ochrona prawna programu komputerowego”
- „elementy programu komputerowego a prawo autorskie”
- „interfejs graficzny jako utwór w prawie autorskim”