Narzędzia AI są obecnie wykorzystywane w wielu branżach, ponieważ pozwalają na przyspieszenie pracy. Obok platform, które tworzą teksty, obrazy, czy dźwięki, nie brakuje także programów potrafiących pisać kod źródłowy. Czy można z nich korzystać przy realizacji umowy z klientem? O czym trzeba pamiętać, zaprzęgając AI do pracy przy projektach IT?
Czym właściwie jest program komputerowy?
W pierwszej kolejności przyjrzyjmy się pojęciu programu komputerowego. Nie zostało ono zdefiniowane w polskich przepisach, ale rodzima doktryna oraz orzecznictwo powołuje się w tym zakresie na przepisy amerykańskie. Zgodnie z definicją przyjętą przez Copyright of the U.S., program komputerowy to wyrażony w postaci słownej ciąg instrukcji możliwy do odczytania przez komputer, prowadzący do modyfikacji jego stanu. Jest to zestaw instrukcji lub rozkazów, przeznaczonych do użycia bezpośrednio lub pośrednio w komputerze w celu osiągnięcia danego rezultatu.
Aby program komputerowy mógł powstać, niezbędne jest wykorzystanie kodu źródłowego. To słowny ciąg instrukcji, który stanowi łącznik między człowiekiem (programistą) a maszyną cyfrową. Z pomocą tego narzędzia programista wykorzystuje ułożone we właściwym porządku wyrażenia z języka naturalnego oraz symbole matematyczne. Następnie kod źródłowy programu jest kompilowany do kodu maszynowego, zero-jedynkowego, który jest zrozumiałym ciągiem instrukcji dla procesora.
Obok kodu źródłowego, program komputerowy tworzą również algorytmy, czyli uporządkowane instrukcje prowadzące do rozwiązania konkretnych problemów oraz interfejsy, czyli elementy zapewniające komunikację między poszczególnymi elementami programu oraz między tym programem a człowiekiem (vide: wyrok Sądu Okręgowego w Łodzi z dnia 26 marca 2014 r., sygn. I C 566/12).
Sprawdź również: Czy strona internetowa jest programem komputerowym?
Zamów wzory umów IT!
-
Promocja!
Pakiet wzorów umów dla software house’u/firmy IT [PL/EN]
1199,00 zł – 1999,00 zł (z VAT)Ostatnia najniższa cena przed zastosowaniem obniżki ceny: 1199,00 zł.
Czy kod źródłowy programu jest utworem?
Zasadniczo powstanie kodu źródłowego programu wymaga twórczej pracy programisty, który musi stworzyć ciąg instrukcji w danym języku programowania. Warto więc zastanowić się, czy efekt takiej pracy można rozpatrywać jako utwór w rozumieniu ustawy o prawie autorskim i prawach pokrewnych?
Zgodnie z definicją zawartą w art. 1 ust. 1 wspomnianej ustawy za utwór uważa się 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. Nie ma przy tym znaczenia, czy utwór został już ukończony, musi jedynie być uzewnętrzniony tak, aby mogły z nim zapoznać się inne osoby. Nie może istnieć jedynie jako myślowa koncepcja twórcy. Co więcej, w art. 1 ust. 2 pkt 1 ustawy o prawie autorskim ustawodawca wprost wskazuje, że utworami są utwory wyrażone słowem, symbolami matematycznymi lub symbolami graficznymi, w tym programy komputerowe.
W świetle powyższych uwag można więc intuicyjnie stwierdzić, że kod źródłowy podlega ochronie na gruncie prawa autorskiego. Wymaga się jednak, aby został on stworzony przez człowieka i posiadał pierwiastek twórczy nadający mu cechy indywidualności. Takie dzieło nie musi być przy tym całkowicie nowatorskie i unikalne, ale twórca musi mieć wpływ na ostateczny kształt utworu (vide: wyrok Sądu Najwyższego z dnia 25 stycznia 2006 r., sygn. I CK 281/05).
O ile więc kod tworzony w związku z integracją systemów informatycznych w firmie klienta, czy też adaptowaniem systemu ERP do indywidualnych potrzeb z pewnością utworem będzie, można mieć wątpliwości, czy to samo dotyczy prostych i rutynowych prac testowych, gdzie wprawdzie kod źródłowy powstaje, ale zawsze wygląda dokładnie tak samo i po prostu nie da się napisać go w inny sposób.
Do czego wykorzystuje się sztuczną inteligencję w projektach IT?
Obecnie na rynku można znaleźć wiele narzędzi, które mają za zadanie ułatwić pracę programistów. W zależności od platformy jej możliwości są nieco inne, ale do typowych funkcjonalności można zaliczyć:
- tworzenie fragmentów kodu,
- uzupełnianie kodu na podstawie kontekstu,
- wykrywanie błędów (zarówno w zakresie zmiennych, składni, jak i praktyk),
- optymalizację kodu poprzez upraszczanie jego struktury.
Czym skutkuje wykorzystanie narzędzi AI w pracy programisty?
W tym miejscu dochodzimy do sedna zagadnienia, czyli wykorzystania narzędzi AI w pracy programisty. Przede wszystkim trzeba pamiętać, że algorytmy stosowane przez AI działają w sposób zautomatyzowany, wykorzystując do tego komendy (prompty) podawane im w języku naturalnym. Nie może być tutaj mowy o stworzeniu pracy przez człowieka, ponieważ jest ona generowana na podstawie ustalonych przez program zasobów. Im lepiej program jest „wytrenowany”, tym bardziej trafny będzie rezultat, ale nadal nie można w tym przypadku mówić o zindywidualizowanej i twórczej pracy człowieka, więc utwór nie powstanie.
Skoro zaś nie doszło do powstania utworu, nie można przenieść do niego praw autorskich na kontrahenta, ani udzielić mu licencji, ponieważ te prawa także nigdy nie powstały. W rezultacie software house przekazuje klientowi fragmenty kodu, które nie podlegają ochronie prawnoautorskiej. Oznacza to m.in. że każdy może je zdekompilować i nie potrzeba na to zgody uprawnionego z tytułu praw autorskich, ponieważ takiej osoby po prostu…nie ma.
Czy to oznacza, że software house’y realizujące projekty IT na rzecz swoich klientów jak ognia powinny wystrzegać się korzystania z narzędzi IT w codziennej pracy? Z pewnością nie, ale należy korzystać z nich świadomie i odpowiedzialnie, aby samemu sobie nie zaszkodzić.
Trzeba pamiętać, że większość umów z zakresu IT zakłada osobiste wykonanie prac przez pracowników wykonawcy, a także przeniesienie na zamawiającego praw autorskich do utworu. Korzystanie z narzędzi AI w celu stworzenia całości kodu źródłowego stanowi ewidentne naruszenie postanowień kontraktowych i może skutkować koniecznością zapłaty odszkodowania lub kary umownej.
Co w takim razie w sytuacji, kiedy projekt IT zakłada szeroko zakrojone prace programistyczne, z których część ma charakter twórczy (np. stworzenie aplikacji), część zaś to rutynowe prace techniczne, które zawsze realizuje się tak samo i służą one jedynie usprawnieniu pracy (np. „szczotkowanie” kodu źródłowego z typowych błędów przy użyciu narzędzi AI)? W takiej sytuacji warto zwrócić uwagę, aby te prace twórcze były wykonane przez programistów. Nic jednak nie stoi na przeszkodzie, aby czynności techniczne realizowało AI.
Jeżeli zaś klientowi zależy, aby wszystkie pracy wykonali programiści, po narzędzia sztucznej inteligencji również można sięgnąć, ale jedynie pomocniczo. Trzeba jednak pamiętać, aby rezultat w postaci wygenerowanego kodu źródłowego został indywidualnie dopasowany przez twórcę. Ten pierwiastek kreatywny musi się pojawić, i nie może mieć charakteru marginalnego. Nie może być więc tak, że na 200 linijek kodu stworzonego przez AI pracownik dopisze zaledwie kilka własnych komend. Jego prace powinny przeważać nad rezultatem maszynowego tworzenia kodu.
O czym pamiętać, podpisując umowę o stworzenie projektu IT z wykorzystaniem AI?
Rozważając wykorzystanie kodu stworzonego przez sztuczną inteligencję IT w pracach programistycznych trzeba ustalić te kwestie szczegółowo z klientem przed formalnym nawiązaniem współpracy. Zamawiający powinien być świadomy, które części projektu wykona sztuczna inteligencja, jakie będą to modele AI, a za co odpowiadają ludzie. Warto wyraźnie wskazać, do czego zostanie wykorzystana sztuczna inteligencja. Nie musi być to tworzenie kodu, może być jedynie jego optymalizacja, czy weryfikacja składni.
Ustalenia powinny znaleźć odzwierciedlenie w postaci stosownych postanowień kontraktowych tak, aby warunki współpracy nie budziły wątpliwości. W ten sposób wykonawca nie narazi się na zarzut działania wbrew umowie i odpowiedzialność prawną.
Obsługa prawna projektów IT – Kancelaria Linke Kulicki
Nie ulega wątpliwości, że technologie sztucznej inteligencji w najbliższej przyszłości będą rozwijały się dynamicznie. Z pewnością warto po nie sięgać, aby zwiększyć wydajność biznesu i zapewnić lepszy rezultat w postaci czystszego, bardziej czytelnego kodu źródłowego. Trzeba jednak pamiętać o potencjalnych konsekwencjach nieodpowiedzialnego wykorzystania AI w pracy programisty.
Jeśli potrzebujesz wsparcia w stworzeniu umowy IT lub bieżącej obsłudze projektu od strony prawnej, możemy Ci pomóc! Kancelaria Linke Kulicki to zespół radców prawnych i adwokatów z wieloletnim doświadczeniem w zakresie prawa nowych technologii. Zadbamy, aby Twój biznes był bezpieczny i doradzimy, jak korzystać z osiągnięć technologii.
Potrzebujesz wsparcia prawnika IT? Napisz do mnie!
Administratorem danych osobowych jest Linke Kulicki Education sp. z o.o. z siedzibą w Warszawie, ul. Ogrodowa 31 / lok. 54, 00-893 Warszawa, NIP 1182211564, KRS 0000852943 („Administrator”). Pana/Pani dane będą przetwarzane w celach marketingowych oraz w celu przekazywania Pani/Panu informacji handlowych drogą elektroniczną. Pana/Pani dane zostaną usunięte po odwołaniu zgody lub po zakończeniu prowadzenia działań marketingowych lub wysyłki informacji handlowych przez Administratora. Pana/Pani dane będą powierzane podmiotom trzecim na podstawie stosownych umów powierzenia przetwarzania danych osobowych w celu przechowywania danych osobowych na serwerze, skrzynce pocztowej oraz korzystania z usług wsparcia IT. Podstawą przetwarzania danych jest zgoda. W związku z przetwarzaniem danych osobowych ma Pan/Pani prawo do dostępu do swoich danych, sprostowania danych osobowych, usunięcia danych osobowych, wniesienia sprzeciwu, przenoszenia danych, ograniczenia przetwarzania, odwołania zgody, dostępu do informacji jakie dane Administrator przetwarza, złożenia skargi do Prezesa Urzędu Ochrony Danych Osobowych. Przedmiotowe uprawnienia można zrealizować poprzez kontakt z Administratorem na adres e-mail: biuro@linkekulicki.pl. Pani/Pana dane będą przekazywane poza UE oraz nie będą wykorzystywane do zautomatyzowanego podejmowania decyzji ani profilowania. Administrator potrzebuje Pana/Pani Danych Osobowych aby zrealizować wskazany cel przetwarzania, podanie danych osobowych jest dobrowolne jednak w przeciwnym wypadku podane cele nie będą mogły być zrealizowane.