Wprowadzenie
Na stronie PARP od pewnego czasu jest dostępny tekst pod powyższym tytułem: Ochrona programów komputerowych w prawie własności intelektualnej . Autor zaczyna od słów:
Wraz ze wzrostem znaczenia programów komputerowych w obrocie gospodarczym, rośnie także potrzeba ich należytej ochrony przed naruszeniami. Jej obecny kształt w polskim prawie jest rezultatem długoletnich prac, zarówno na szczeblu międzynarodowym, jak i krajowym.
Opracowanie jest godne uwagi gdyż rzeczowo opisuje stan prawny rynku oprogramowania w obszarze wartości intelektualnych. Z uwagi na to, że autor dokonał analizy z perspektywy prawnej, postanowiłem na przykładach praktycznych pokazać przyczyny i skutki opisywanych prawnych aspektów inżynierii oprogramowania.
Wprowadzenie
Cytat (wszystkie nieoznaczone cytaty pochodzą z powyższego opracowania):
W toku dyskusji nad wyborem adekwatnego reżimu prawnego dla ochrony oprogramowania, rozważano trzy rozwiązania: — ochrona na gruncie prawa autorskiego tj. traktowanie programów jako utworów, — ochrona na podstawie prawa własności przemysłowej tj. patentowanie programów jako wynalazków, — stworzenie specjalnego, odrębnego systemu ochrony. Mimo, że intuicja może podpowiadać słuszność drugiego ze wskazanych rozwiązań ? program komputerowy kojarzymy jako rozwiązanie o charakterze technicznym i bardziej użytkowym, niż artystycznym ? to w porządku europejskim jako podstawowy przyjęto model ochrony prawnoautorskiej.
I właśnie intuicji bym w to mieszał. Generalnie w każdej inżynierii, oprogramowania także, utrwalenie określonej konstrukcji może zostać wyrażone w postaci: opisu w formie dokumentacji technicznej, specyfikacji technologii wytwarzania (tak zwana receptura, to też dokumentacja) oraz zmaterializowanego ostatecznego produktu. Są to kolejno: rysunki techniczne Projektu Technicznego, procedury opisujące wytworzenie: materiały, narzędzia i czynności, oraz produkt, który ostatecznie powstał. Pierwsze dwa to: dokumenty i ich treść chronione jest prawem autorskim, bo są to utwory (rysunki, schematy, opisy, wykazanie ich unikalności moim zdaniem nie jest trudne).
Trzeci to praca wytwórcza „pod dyktando” (wykonanie implementacji) i mieści wyłącznie w kategoriach „starannego działania” . Projekt Techniczny jest utworem pierwotnym, opracowana technologia wytwarzania jest utworem zależnym, ostateczny produkt jest rzemiosłem .
To co wyróżnia inżynierię oprogramowania, to abstrakcyjność realizowanego mechanizmu i opisującego go kodu, bo już
Z perspektywy filozofii oprogramowania, komputer to właśnie uniwersalny mechanizm, i definiujemy go jako procesor, pamięć i program. Więc ten ostatni – oprogramowanie – z zasady nie jest samodzielnym bytem . Produktem końcowym z zasady jest zawsze działający komputer. Dlatego określenie, że program to:
…zestaw rozkazów lub instrukcji przeznaczonych do użycia bezpośrednio lub pośrednio w komputerze w celu osiągnięcia określonego rezultatu. Określenia programu komputerowego przewidziane w ustawodawstwach innych krajów nie odbiegają zasadniczo od definicji wyżej cytowanej, skupiając się na trzech ww. elementach, czyli 1) zestawie instrukcji, 2) adresowanych do komputera, 3) których wykonanie prowadzi do określonych rezultatów.
wydaje się jak najbardziej adekwatne. Uważam, że utworem z zasady jest każdy projekt np. wyrażony jako rysunki techniczne (tak jak w budownictwie czy branży lotniczej).
Własność przemysłowa a utwór
Czy program jest własnością przemysłową? W Polsce nie można patentować oprogramowania jako takiego, ale oprogramowanie będące integralną częścią patentowanego urządzenia owszem (np. program sterujący wtryskiem silnika benzynowego czy komputerowy sterownik pralki, patrz: mechatronika). Jednak program często niesie także know-how (np. opis wspomnianego mechanizmu).
Popatrzmy na mapkę poniżej:
Ta mapa, jako grafika, jest chroniona prawem autorskim. Jednak jej treść to know-how pirata, który schował skarb i udokumentował jak do niego dotrzeć: to jest chronione know-how. To znaczy, że powyższa mapa to utwór chroniony prawem autorskim, jej treść (informacja jaką niesie) to tajemnica przedsiębiorstwa, chroniona jako know-how.
Identycznie to wygląda, gdy mamy do czynienia z rysunkami technicznymi czy nawet graficznymi projektami np. bucików (producenci butów, mają precyzyjny projekt każdego nowego modelu butów: rysunki – projekty graficzne, które coraz częściej natychmiast rejestrują u notariuszy, to chroni ich przed nieuczciwym konkurentem, który chciałby bez zgody produkować identycznie wyglądające buty, treść i poświadczona notarialnie data powstania takiej dokumentacji jest dowodem na to „kto był pierwszy”, a szczegółowość i unikalność projektu czyni go utworem w rozumieniu Ustawy).
Tak więc owszem: produkty inżynierii, inżynierii oprogramowania także, chroni prawo autorskie, bo treść (postać) dokumentacji technicznej jest unikalnym utworem. A kod programu? Jeżeli kod jest pierwszym utrwaleniem określonej wiedzy (treści, opisu mechanizmu działania) to tak. Jeżeli jednak stanowi realizację (implementację) mechanizmu wyrażonego w postaci algorytmów, wzorów matematycznych i sformalizowanych schematów blokowych, to jako tekst kodu źródłowego, stanowi utwór zależny (o ile programista miał jakąś swobodę w tej pracy), a najczęściej jedynie produkt starannego działania, niechroniony już prawem autorskim (dlatego często mówimy nie programista a developer).
Autor słusznie zwraca uwagę na fakt, że
…nie będziemy mogli danego programu komputerowego uznać za utwór, jeśli został on w pełni zdeterminowany przez czynniki zewnętrzne, takie jak np. zamierzony cel oprogramowania. Innymi słowy, aby móc mówić o spełnieniu przesłanki ?indywidualności?, programista musi dysponować odpowiednim stopniem swobody twórczej.
W kwestii dodatkowych regulacji. Moim zdaniem nie ma żadnego powodu by systemy informatyczne miały jakikolwiek dedykowany rozdział w prawie, jest to inżynieria jak każda inna. Nie przypadkiem w orzeczeniach i uzasadnieniach przewijają się np. analogie do prawa budowlanego (projekt, wykonanie, nadzór autorski).
Autor pisze:
Gwoli ścisłości trzeba wyjaśnić, że w ani w ustawie, ani w orzecznictwie nie ustalono w sposób precyzyjny i jednoznaczny generalnego minimalnego poziomu indywidualności, który musi reprezentować dany wytwór intelektualny, żeby mógł zostać uznany za utwór w rozumieniu prawa autorskiego.
Owszem nie ma ścisłego kryterium, jednak ocena na ile drugi „podobny” utwór „przypadkiem” jest podobny do pierwszego, jest dość łatwa.
Czym jest model jako projekt
Kilka linii tekstu lub jeden bardzo ogólny i nieformalny schemat blokowy może budzić wątpliwości (prawo nie chroni idei), jednak jeżeli jest to opis mechanizmu, to nawet prosty szkic może mieć walory unikalności. Poniższe np. trudno nazwać tylko ideą czy przypadkowym rysunkiem:
W zasadzie identyczny mechanizm może realizować komputer wyposażony w odpowiednie oprogramowanie, które można zaprojektować (ściśle udokumentować) nie wskazując nawet konkretnego języka programowania (nazywa się to Platform Independent Model, patrz MDA). Nie trudno też wykazać unikalność powyższego szkicu i nie jest trudnym wykazanie, że to wartość przemysłowa.
Idea a projekt i prawa autora
Bardzo ważnym elementem stanu prawnego jest to, że idee nie są chronione. Innymi słowy wymagania wyrażone spisem potrzeb: lista wymagań funkcjonalnych i poza-funkcjonalnych, user story itp. formy, nie są chronione. Generalnie odkrycia naukowe także nie są chronione bo to co odkryto nie jest dziełem człowieka. W nauce dziełem człowieka człowieka jest zrozumienie i udokumentowanie mechanizmu określonego zjawiska (efektów dokonywanych obserwacji). Jednak specyfikacje mechanizmu działania czegoś, będącego wynalazkiem a nie odkryciem, są chronione. Dla jasności; nauka opisuje to co już istnieje, inżyniera tworzy nowe:
Wiele emocji budzą prawa majątkowe do oprogramowania. Moim zdaniem jest to niezrozumienie tego, że treść programu komputerowego rozumiana jako utwór literacki może być przedmiotem rozważań o unikalności tekstu, jednak istotą programu komputerowego jest to, że jako zestaw instrukcji dla procesora nie jest nigdy samodzielnym bytem: ma wartość jedynie jako część komputera (uruchomienie go z pomocą procesora i pamięci). W zasadzie skopiowanie treści programu stwarza zagrożenie tylko gdy planowane jest wykonanie go w komputerze lub odczytanie i skopiowanie zaimplementowanego w nim mechanizmu, mogącego stanowić wartość intelektualna (know-how, rewers-inżynieria).
Owszem, nie trzeba „rozumieć” kodu i zaimplementowanego w nim mechanizmu, by odnieść korzyści majątkowe z użycia go jako działającego programu (znakomita większość oprogramowania użytkowego), jednak generalnie chronimy mechanizm, a prawa majątkowe do programu to prawa dysponowania nim, bez względu na formę wyrażenia: użytkownik kalkulatora korzysta z oprogramowania implementującego określone algorytmy, realizując złożone operacje matematyczne. Odnosi korzyści mimo tego, że nie zna i nie rozumie kodu programu wykonywanego w tym kalkulatorze (który jest komputerem).
Autorstwo. Kto jest twórcą programu komputerowego? Ten kto pierwszy go zaprojektował i utrwalił, bez względu na formę wyrazu (instrukcje i algorytmy przetwarzania danych, wyrażone jako schematy blokowe to też program). Tak więc programista, który napisze kod w określonym języku programowania (Java, C++, .Net, PHP, itp.), na podstawie projektu, nie jest jego twórcą, podobnie jak nie jest twórcą ekipa budowlana budująca na podstawie projektu architektonicznego.
Autor i autorskie prawa osobiste. Autor utworu (osoba) jest określony, autor utworu (jego dane) jest jego – utworu – atrybutem niepodlegającym zmianie. Pana Tadeusza napisał Adam Mickiewicz, i nic tego nie zmieni, jednak korzyści majątkowe może czerpać każdy inny, komu przekazane zostaną prawa majątkowe do tego utworu (pierwszym zbywającym musi być jednak autor).
Autorskie prawa osobiste są bardzo ważne, ich celem jest generalnie ochrona dobrego imienia autora. Co do zasady mamy ważne pojęcie integralności utworu: nie wolno ingerować w jego treść bo firmuje ją swoim imieniem autor. Za zgodą autora mogą powstawać utwory zależne, jednak nie wolno zmienić treści utworu pierwotnego, wolno go cytować, tworzyć adaptacje, jednak także za zgodą autora. Zmiana treści utworu, tu jest to zmiana projektu (podobnie jak w prawie budowlanym) jest możliwa wyłącznie „rękami autora”, który jako jedyny zna intencję tego co stworzył i ponosi odpowiedzialność za skutki. Co ciekawe prawo autorskie wyłącza ten konkretny zakaz dla kod programu, co także wskazuje na to, że ostateczny produkt: kod, jest raczej rzemiosłem niż dziełem.
Autor w zakończeniu pisze:
Jednak jak to zwykle bywa, to, co jedni uważają za zalety, inni traktują jako słabości. I tak właśnie pośród przeciwników systemu prawnoautorskiego przeważają argumenty krytykujące nadmierny liberalizm w uzyskiwaniu ochrony prawnoautorskiej ? tzn. ochrona przyznawana jest również rozwiązaniom wtórnym z punktu widzenia użyteczności i funkcjonalności. Prawo autorskie chroni bowiem jedynie formę wyrażenia, a nie pomysł czy właśnie określone funkcjonalności. Poza tym krytyka dotyczy również zbyt długiego okresu ochrony autorskich praw majątkowych.
Z tym akurat trudno mi się zgodzić bo:
- nie rozumiem problemu rozwiązań wtórnych, bo albo coś jest niezależnym odrębnym utworem albo jest jakąś formą utworu zależnego,
- prawo autorskie chroni formę wyrażenia, ta z zasady niesie określoną treść jednak prawo autorskie to jedynie ochrona formy wyrażenia,
- pomysł, czy właśnie określone funkcjonalności, to opis pokreślonego mechanizmu działania, nie ma znaczenia czy dany mechanizm jest bardzo precyzyjnie opisany tekstem i wzorami matematycznymi, czy precyzyjnym schematem blokowym, w ww. przykładzie chroniony jest mechanizm regulatora Watt’a, bez względu na to czy został wyrażony takim czynnym schematem lub opisem, kluczem jest unikalność, jednak do ustalenia kto pierwszy „wymyślił mechanizm”, wystarczy dowolna, ale precyzyjna, forma jego udokumentowania i data jej ustalenia (utwór).
W moim osobistym odczuciu, szkodliwe jest wydzielenie i oddzielenie praw majątkowych od prawa osobistych autora. Ochrona autora to moim zdaniem, przede wszystkim jego dobre imię. Prawa do czerpania biernych przychodów z praw majątkowych niszczą ekonomię, powodują także, że autorzy są wykorzystywani (np. prawo pracy z zasady przenosi prawa majątkowe do produktów pracy z autora na jego pracodawcę). Osoba tworząca, mająca takie zdolności i umiejętności, powinna być wynagradzana raz za pracę jaką wykonała, prawo autorskie powinno gwarantować brak możliwości podszywania się pod cudze dzieła oraz chronić przed powtórnym „sprzedaniem” tego samego, ale cudzego, efektu pracy (plagiat). Używanie prawa autorskiego to „licencjonowania”, podobnie jak prawo patentowe, rodzi wątpliwości natury ekonomicznej i etycznej. Na świecie od lat toczą się dyskusje na ten temat.
W przypadku oprogramowania, chronione są cechy realizujące mechanizm, np. mechanizm naliczania upustu na fakturze. Pojawiają się często spory o to czy program służący do wystawiania faktur (ich treść jest regulowana prawem) może być chroniony prawem autorskim. Otóż owszem, bo faktura, jako efekt końcowy działania programu, może być stworzona wieloma różnymi mechanizmami, dającymi jako efekt (produkt) tę samą, zgodną z prawem fakturę. Więc wzór na wyliczenie podatku VAT nie może być przedmiotem ochrony, jednak wzór na upust wg. programu lojalnościowego, owszem. Do tego sposób (metoda) wytworzenie treści dokumentu (architektura oprogramowania, użyte algorytmy i metody) jakim jest faktura, nie jest zdeterminowany jego ostateczną postacią (treścią, efektem), więc mamy tu pole do „indywidualnej twórczości” autora. W ten sposób są np. chronione różne technologie wytwarzania takiego samego produktu (substancji, itp.).
Podsumowanie
Własność intelektualna to efekty twórczej działalności ludzkiego intelektu, posiadające charakter niematerialny, ucieleśnione w materialnej postaci. Innymi słowy jest to to wszystko, co unikalnego i oryginalnego jest w stanie wymyślić człowiek. Własność intelektualna jest obecna we wszystkich sferach życia, w edukacji, rozrywce i oczywiście w biznesie, bez względu na wielkość i zasięg działania firmy. W kreatywnych i innowacyjnych branżach własność intelektualna często ma fundamentalne znaczenie, ale jest równie potrzebna podmiotom z bardziej tradycyjnych sektorów. Prawa własności intelektualnej dzielimy na dwie podstawowe kategorie:
– prawa własności przemysłowej obejmujące patenty na wynalazki, wzory użytkowe, wzory przemysłowe, znaki towarowe, oznaczenia geograficzne i topografie układów scalonych;
– prawa autorskie i prawa pokrewne.
Tak więc można stwierdzić, że:
- Prawo autorskie chroni utwory, czyli wszelkie treści o unikalnym charakterze . Są to więc także wszelkiego rodzaju rysunki techniczne, schematy blokowe, wyrażone matematycznie lub graficznie algorytmy wraz tekstami komentarzy do nich.
- Własność przemysłową, czyli szeroko pojęte konstrukcje inżynierskie, chroni Prawo Patentowe, w przypadku oprogramowania w Polsce nie ma bezpośredniego zastosowania, o ile oprogramowanie to nie jest częścią patentowanego urządzenia.
- Treść utworu może nieść informację stanowiącą tajemnicę przedsiębiorstwa, zwaną także know-how . Informacją tą może być opis wewnętrznej konstrukcji urządzenia lub tylko mechanizmu jego działania, dotyczy to także architektury i mechanizmu działania oprogramowania (jego projekt techniczny).
- Oprogramowanie powstające na podstawie projektu technicznego ma status utworu zależnego, nie może więc powstać bez zgody autora pierwotnego Projektu (wymagane prawa do tworzenia utworów zależnych). Wykonawca oprogramowania (developer) nie ma prawa do dysponowania nim bez zgody autora Projektu.
- Dostosowanie oprogramowania (np. zmiana lub rozszerzenie funkcjonalności), z perspektywy praw autorskich, wymaga podjęcia decyzji o metodzie dostosowania i zabezpieczenia praw autorskich do tych zmian (patrz artykuł: Kastomizacja oprogramowania).
Wyczerpujący opis kwestii ochrony praw autorskich i know-how w branży informatycznej zawiera moje opracowanie na stronie: Ochrona wartości intelektualnych i know-how w organizacji.
Zakończę ten wpis cytatem z pewnej publikacji naukowej:
“Jak twierdzi laureat nagrody Nobla z 2001 r. J. E. Stiglitz: „Prawa własności intelektualnej stanowią najbardziej dramatyczną ilustrację sprzeczności między międzynarodowymi porozumieniami handlowymi a podstawowymi wartościami”60.”
Dodatek: komputer a chroniony program komputerowy
[2022-07-02] Po opublikowaniu tego artykułu dostałem kilka pytań, między innymi od prawników, które to pytania generalnie dotyczyły prośby o dodatkowe uzasadnienie i wyjaśnienie tez jakie tu zaprezentowałem. Drugim powodem napisania tego dodatku była lektura świeżo wydanej książki prof. Okonia, szczególnie Rozdział II: Przedmiotowy zakres ochrony .
Komputer to…
Komputer z perspektywy konstrukcji to: procesor, pamięć i program. Można to zobrazować jak poniżej:
Powstaje więc pytanie co tak naprawdę jest przedmiotem umowy na dostawę i wdrożenie w branży IT? To co powszechnie nazywamy programem komputerowym samo z siebie do niczego nie służy, jest zwykłym ciągiem znaków, tekstem wyrażonym w jakimś języku (programowania). Tak więc jak najbardziej, taki tekst może i powinien być traktowany jak dzieło literackie i nic ponad to. Dopiero program komputerowy umieszczony w pamięci oraz procesor, łącznie jako komputer, mogą stanowić użyteczne 'urządzenie’. Innymi słowy kod maszynowy jest częścią urządzenia . Na tym tle zdanie wyrażone przez prawnika „Komputery, a w zasadzie procesory,” jest po prostu fałszywe: nie jest prawdą, że komputer = procesor. Warto pamiętać, że przeciętny np. system ERP to właśnie takie urządzenie.
Autor ten słusznie zwraca uwagę, że Prawo Autorskie chroni dzieła przeznaczone do percepcji przez człowieka. Skoro tak, to program komputerowy, jeżeli ma być chroniony prawem autorskim, musi mieć także postać zrozumiałą dla człowiek, i taką postacią jest właśnie opis mechanizmu działania programu komputerowego.
Oprogramowanie to…
Podkreślić trzeba także, że:
- szeroko pojęty program (oprogramowanie komputera) jest bardzo skomplikowany, kluczowe jego części to aplikacja realizująca pożądany mechanizm oraz system operacyjny, udostępniający procesor pamięć,
- system operacyjny, pamięć i procesor to elementy dostarczane w stanie gotowym, jako tak zwana platforma systemowa,
- przedmiotem projektu potocznie zwanego jako 'dostawa oprogramowania ERP’ jest wyłącznie aplikacja realizująca określony, wymagany mechanizm.
Wymagania lub wymagane funkcje systemu, potocznie zwane wymaganiami na oprogramowanie, modelowane są często jako tak zwane 'przypadki użycia systemu’, graficznie reprezentowane np. w notacji UML jak poniżej:
Powyższe jednak nic nie mówi o mechaniźmie działania 'maszyny’, jest jedynie ideą. I dalej. Z perspektywy szerszego pojęcia jakim jest 'system’, komputer jest definiowany jako 'uniwersalny mechanizm’ . Czym tu jest mechanizm? Mechanizm to sposób, w jaki coś powstaje, przebiega lub działa (słownik j.polskiego PWN). Mamy np. mechanizm zegarowy, skutkiem jego działania jest wskazanie czasu w ustalonym systemie (cyfrowy lub analogowy, 12 lub 24 godzinny). Mamy także 'mechanizm naliczania upustu’ czy wręcz 'mechanizm tworzenia faktury’.
Poniżej proces powstawania oprogramowania, będącego docelowo częścią systemu (komputera):
Typowy, spotykany na rynku, proces dostarczenia oprogramowania to: wymagania (a raczej potrzeby zamawiającego), kod programu, komputer. Rzadziej spotyka się proces: wymagania, udokumentowany mechanizm, kod programu, komputer. Rzecz w tym, że kod programu powstaje z użyciem określonej już technologii, jego napisanie uruchomienie to rola developera. Wymagania nie są oprogramowaniem, jednak udokumentowany i sformalizowany opis mechanizmu działania jest nim . Ten „udokumentowany i sformalizowany opis mechanizmu działania” to projekt oprogramowania (funkcjonuje w branży IT pojęcie Opis Techniczny Oprogramowania). Wykonanie implementacji, precyzyjnie opisanego mechanizmu, w określonej technologii (z użyciem określonego języka programowania w określonym środowisku) jest działaniem wtórnym (tak jak napisanie scenariusza filmu na postawienie treści powieści, czy postawienie domu na podstawie projektu architekta).
Przedmiot umowy i ochrony to…
Z uwagi na trwające spory co do natury programu komputerowego, zaczęto skutecznie dowodzić, że program komputerowy mozna wyrazić czytelnie dla człowieka za pomocą: procedur, algorytmów, wzorów matematycznych i schematów blokowych. Zwieńczeniem tego trendu było opublikowanie w latach 90-tych pierwszej wersji sformalizowanej notacji: UML .
Prawo mówi:
Przedmiot prawa autorskiego. Art. 1. 1. Przedmiotem prawa autorskiego jest każdy przejaw działalności twórczej o indywidualnym charakterze, ustalony w jakiejkolwiek postaci, niezależnie od wartości, przeznaczenia i sposobu wyrażenia (utwór).
Słowo kluczowe w tej definicji to 'ustalenie’ czyli np. udokumentowanie. Zgodnie z powyższym schematem pierwsze 'ustalenie’ (utrwalenie) to albo od razu kod albo udokumentowany sformalizowaną metodą opis mechanizmu jego działania.
Oprogramowanie komputerowe może być traktowane jako utwór o charakterze naukowym lub literackim (art. 1 § 1 prawa autorskiego z 1952 r.), jeżeli posiada ono cechę oryginalności twórczej, spełnia przewidziany przez ustawę wymóg odpowiedniego ustalenia (verba legis: ?ustalony w jakiejkolwiek postaci?) i zawiera elementy indywidualizujące twórcę programu.
(wyrok Sądu Apelacyjnego w Gdańsku z dn. 29 stycznia 1993 r.)
Opis wymagań, udokumentowany mechanizm oraz treść programu, to utwory. Opis wymagań to utwór jednak to także tylko idea nie stanowiąca opisu technicznego, więc nie chroni tego co nazywamy know-how (nie jest opisem technicznym). Innymi słowy program komputerowy napisany od razu na podstawie samych wymagań, jest z zasady własnością programisty.
Podsumowanie
- Prawa autorskie chroni każdy tekst czy schemat blokowy, o ile cechuje go unikalność.
- Programem komputerowym jest zestaw instrukcji dla procesora, jednak można go wyrazić także w postaci kodu w określonym języku programowania, lub nawet tylko jako opis mechanizmu za pomocą schematów blokowych, algorytmów i wzorów matematycznych.
- Kod w określonym języku programowania, odwzorowujący udokumentowany mechanizm, jest utworem zależnym.
Tak więc opisując przedmiot zamówienia, warto doprecyzować co nim faktycznie jest. Chroniąc swoje know-how warto je udokumentować i mieć prawa majątkowe do tego dokumentu, zanim zlecone zostanie wykonanie oprogramowania, co stanowi już także wybór technologii. Nie jest prawdą, że programista z zasady jest właścicielem kodu jaki napisze (dysponuje nim): jeżeli tworzy kod na podstawie udokumentowanego mechanizmu jego działania, nie ma praw do samodzielnego dysponowania tym kodem (tak jak tłumacz powieści nie ma pełnych praw do treści tłumaczenia jakie wykonał).
Wśród prawników można spotkać dość powszechne opinie, podobnych do tej poniżej:
O ile bowiem w praktyce nie nastręcza problemów wskazanie oczywistych desygnatów pojęcia programu komputerowego, takich jak np. systemy operacyjne, pakiety biurowe, pakiety do obróbki grafiki czy gry komputerowe4, o tyle próżno szukać w orzecznictwie i piśmiennictwie egzemplifikacji konkretnych rozstrzygnięć odnośnie do desygnatów tego pojęcia w przypadku np. fragmentów kodu źródłowego, kompletnych klas, fragmentów skryptów czy zdekompilowanych kodów wynikowych, co obecnie może rodzić ogromne problemy przy wykładni znamion ustawowych.
Nie ma żadnego z tym problemu, nie trzeba szukać orzecznictwa zawierającego literalnie pojęcia „fragmentów kodu” i pozostałych, wymienionych przez ww. autora. Wystarczy wiedzieć, czym jest kod programu, nie ma znaczenia jakie mechanizmy realizuje, znaczenie ma możliwość wskazania określonej i jej autora. To dlatego nieudokumentowane prace zbiorowe, kastomizacje itp. powodują problemy. Nadmierny dogmatyzm wielu prawników i unikanie dedukcyjnego wywodzenia praw do konkretnych treści prowadzi do ww. opinni.
Ten sam autor brnie w kwestie kodu maszynowego, języków programowania, bibliotek. Uważam, że zupełnie niepotrzebnie. Prosta zasada tworzenia kolejnych wersji wyrażenia programu (schematy blokowe, język programowania wysokiego poziomu, kod maszynowy) pokazuje, że kolejne metody wyrażania programu komputerowego, udokumentowanego pierwotnie np. z pomocą np. sformalizowanych schematów blokowych, to kolejne utwory zależne. Moim zdaniem ww., opracowanie pokazuje, jak bardzo potrzebny jest model komputera do określania tego co jest programem a co komputerem, i jak bardzo potrzebne jest opisanie mechanizmu tworzenia oprogramowania. Bez tego próby dogmatyzowania technologii informatycznych w postaci norm prawnych, będa kolejnymi ślepymi uliczkami jak ta tu opisana. Programy komputerowe, w moich oczach, nie wymagają żadnego dedykowanego traktowania w prawie, prawo autorskie oraz rozumienie tego czym jest komputer i program komputerowy, wystarczą tu w zupełności.
Patentowanie oprogramowania?
Na zakończenie ciekawa rzecz. Komputer, jako realizacja określonego mechanizmu, może być częścią czegoś większego, innego urządzenia:
Tu także więc mamy oprogramowanie, jest ono częścią tego urządzenia i jego projektu. Może być więc także przedmiotem patentu, jeżeli patentowane jest całe to urządzenie. Pod warunkiem, że mechanizm realizowany przez komputer, jest wyrażony jako 'opis mechanizmu’ a nie tak zwany 'listing programu’. W konsekwencji uważam, że technologia komputerowa, zbliża się coraz bardziej to innych dziedzin inżynierii, gdzie od dawna ustalone są związki pomiędzy projektem urządzenia i samym tym urządzeniem. Zresztą coraz częściej komputer jest częścią nadrzędnego urządzenia nie będącego komputerem, więc tworzenie dla oprogramowania innych, niż dla pozostałych dziedzin inżynierii, metod ochrony wydaje się nieracjonalne, gdyż doprowadziłoby do chaosu, gdyby uznać, że dokumentacja techniczna urządzenia takiego jak np. nowoczesna pralka, zawierająca komputer w roli programatora i sterownika, miałaby być „jakoś” podzielona, np. żeby wydzielić z niej (pytanie jak) sam programator, będący istotną częścią tej pralki (bez programatora pralka straci część swoich funkcji). Wiele do tej dziedziny wniósł ogólny trend w nauce, polegający na opisywaniu istoty działania „czegoś” w postaci abstrakcyjnego mechanizmu , który to opis precyzyjnie wyjaśnia ale nadal nie opisem konkretnej konstrukcji. Tak więc, jeżeli dwa różne komputery realizują taki sam mechanizm, mimo że w obu przypadkach użyto innych języków ich programowania, należy uznać że wykonują „taki sam program” , podobniej jak to, że na podstawie tego samego projektu technicznego mogą powstać dowie łodzie, dwa domy, dwie przekładnie (itd.) wykonane w innych technologiach i z innych materiałów. Niewątpliwie jednak idea (dom chronia, przekładnia zmienia przełożenie, łódź pływa) nie jest opisem mechanizmu więc nie powinna podlegać ochronie. W konsekwencji API jako specyfikacja poleceń nie będąca opisem mechanizmy ich realizacji, także jest jedynie ideą. Ochronie jednak podlega (powinna) nietrywialna architektura systemu składającego się z wielu współpracujących komponentów: każdy ma swoje API (jako takie nie chronione) ale jako całość architektura stanowi już utwór o indywidualnym charakterze.
Odpowiadając na maile, na bieżąco uzupełniam kluczowe opinie i orzecznictwo z obszaru wartości intelektualnych w inżynierii na stronie:
https://it-consulting.pl/prawa-autora-analizy-i-ochrona-know-how-organizacji-analizowanej/
Zwyczajowo autor cytowanego tekstu (Jezierski, 2019) został poinformowany o tej publikacji.