Kodowanie z AI – czy to bezpieczne?

5 miesięcy temu

Większość programistów wykorzystuje narzędzia AI do tworzenia oprogramowania[1]. Branża IT korzysta ze sztucznej inteligencji na różnych płaszczyznach: do oceny i poprawy jakości kodu, wykrywania bugów czy tłumaczenia kodu na inny język programowania. Chociaż stosowanie narzędzi AI w pracy programisty zwiększa efektywność, niesie za sobą również istotne ryzyka na gruncie praw autorskich. Jakie to zagrożenia oraz jak ich uniknąć? Odpowiadamy.

Program komputerowy chroniony prawem autorskim

Z punktu widzenia prawa autorskiego[2] programy komputerowe podlegają ochronie jak utwory literackie. Jednak aby to się stało, program musi spełniać łącznie trzy wymogi, o których mowa na grafice.

Choć w ustawie nie zostało to wyrażone wprost, przyjmuje się, iż za działalność twórczą można uznać wyłącznie działalność człowieka – wykluczając tym samym twórczość zwierząt, maszyn, żywiołów itp. Twórczość pojawia się zatem wtedy, gdy człowiek, w procesie tworzenia, podejmuje świadome i swobodne wybory co do kształtu powstającego rezultatu.

Konsekwencją takiego stanu rzeczy jest to, iż kod programu komputerowego stworzony wyłącznie przez AI (tj. bez twórczego wkładu człowieka lub z bardzo niskim wkładem) nie może zostać uznany za utwór chroniony prawem autorskim. Problem polega na tym, iż w praktyce dość rzadko zdarzają się sytuacje, w których twórczy charakter danego rezultatu uzyskanego dzięki AI można ocenić jednoznacznie – i uznać, iż jest utworem lub nim nie jest. Jednocześnie niemożliwe jest sztywne ustalenie, jaki „procent twórczości” gwarantuje uzyskanie ochrony prawnoautorskiej. Taka ocena, w odniesieniu do każdego rezultatu, musi następować indywidualnie.

Analizując, czy kod programu komputerowego lub jego fragmenty wygenerowane z użyciem narzędzi AI podlegają ochronie prawnoautorskiej, konieczne jest zweryfikowanie, w jaki sposób i z jakich narzędzi programista korzystał w toku swojej pracy. Z kodem niechronionym prawami autorskimi będziemy mieli do czynienia w przypadku, gdy narzędzie AI odpowiada za praktycznie całość kodu lub zakres decyzji człowieka był minimalny. Z kolei prawdopodobieństwo uznania za utwór wzrasta tym bardziej, im bardziej rola AI jest wspomagająca i to człowiek podejmuje większość decyzji wpływających na ostateczny rezultat, tj. np. gdy:

  • narzędzie AI udziela jedynie rekomendacji, z których programista może skorzystać,
  • narzędzie AI służy do weryfikacji kodu stworzonego przez człowieka,
  • narzędzie AI generuje jedynie niewielkie fragmenty kodu,
  • człowiek poprzez wielokrotne promptowanie lub manualne modyfikacje wpływa na kształt tworzonego kodu.

Jakie ryzyka niesie kodowanie z AI?

Całość kontrowersji sprowadza się w zasadzie do trzech ryzyk – widocznych na grafice niżej.

Brak powstania praw autorskich do kodu programu komputerowego tworzonego z wykorzystaniem AI

Prawa autorskie do programów komputerowych stworzonych przez pracownika zatrudnionego na umowę o pracę przysługują pracodawcy (o ile umowa nie stanowi inaczej). Jednak nie będzie to możliwe, jeżeli programiści korzystają z narzędzi AI w sposób nieodpowiedni, tj. taki, który nie prowadzi do powstania utworu (tutaj: kodu chronionego prawem autorskim). Podobnie będzie w przypadku innych niż pracodawca kontrahentów programisty. jeżeli prawa autorskie mają zostać przeniesione lub licencjonowane na podstawie umowy zawartej z programistą, to brak powstania utworu (a więc i praw autorskich do niego) uniemożliwia programiście wywiązanie się z takiego obowiązku umownego. Co więcej, w takiej sytuacji pracodawdca lub kontrahent programisty nie będą mogli skutecznie przenieść praw autorskich do programów komputerowych na swoich klientów.

Ryzyka podatkowe

Osobnym wątkiem dotyczącym braku powstania praw autorskich do programu komputerowego stworzonego przez programistę zatrudnionego na podstawie umowy o pracę są negatywne konsekwencje na gruncie podatkowym. Ma to związek z zagadnieniem kosztów uzyskania przychodu (tzw. KUP). KUP to wydatki, jakie ponosi się, aby osiągnąć przychód. Dla pracowników, którzy tworzą utwory i przenoszą prawa autorskie na pracodawcę, KUP jest korzystniejsze i wynosi 50% uzyskanego przychodu, pomniejszonego o składki ZUS (zazwyczaj 20%). Im większe KUP, tym mniejszy podatek należy zapłacić, ponieważ pomniejszają one podstawę opodatkowania. Oznacza to, iż pracownik otrzymuje więcej pieniędzy (i to bez zwiększenia wydatków pracodawcy), niż gdyby 50% koszty uzyskania przychodu nie były odliczane.

W przypadku, gdy programista wykorzystuje narzędzia AI w taki sposób, iż nie dochodzi do powstania utworów, prawa autorskie nie powstają i w konsekwencji nie mogą zostać przez niego przeniesione na pracodawcę. Co za tym idzie – nie dochodzi do spełnienia wymagań ustawy o podatku dochodowym od osób fizycznych[3] i brak jest możliwości odliczenia 50% KUP.

Naruszenie cudzych praw autorskich wskutek korzystania z AI

Korzystanie z generatywnych narzędzi AI przez programistów może rodzić ryzyko naruszenia cudzych praw autorskich. Dzieje się tak dlatego, iż narzędzia te zostały stworzone w oparciu o duże modele językowe (tzw. LLM), których powstanie nie byłoby możliwe bez zgromadzenia ogromnych ilości danych treningowych. Wśród tych danych są treści chronione cudzymi prawami autorskimi – w tym teksty, grafiki czy kody programów komputerowych. W wyniku zjawiska tzw. memoryzacji możliwa jest sytuacja, w której narzędzie AI, tworząc dla nas generację, „splagiatuje” kod programu wykorzystany uprzednio do trenowania LLM. Co w takim wypadku?

To programista (lub jego pracodawca) dopuszcza się wtedy naruszenia praw autorskich. W następstwie tego podmiot, którego kod został w ten sposób “splagiatowany”, może podnosić względem nas roszczenia – np. odszkodowawcze. Stać się tak może choćby przy braku świadomości naruszenia po naszej stronie (często zresztą nie mamy choćby jak sprawdzić, czy wygenerowany dla nas kod programistyczny narusza prawa osób trzecich).

Case study GitHub Copilot

Warto wskazany powyżej problem omówić na przykładzie GitHub Copilot, który posiada funkcję „podpowiadania” dalszej części kodu tworzonego przez programistę lub generowania całych bloków kodu (w zależności od potrzeb użytkownika). Te generacje mogą zawierać w sobie kod, który został wykorzystany w procesie tworzenia modelu AI napędzającego to narzędzie. W odpowiedzi na to ryzyko dostawca GitHub Copilot umożliwia użytkownikom włączenie funkcji blokującej Copilota przed sugerowaniem fragmentów kodu pasujących do publicznie dostępnego kodu znalezionego na GitHub. Funkcja ta blokuje jednak jedynie generacje zawierające ponad 150 znaków. Pomimo takich zabezpieczeń zdarzają się przypadki, w których omawiana funkcja nie powstrzymuje w pełni wspomnianych “plagiatów”, co potwierdza sam dostawca GitHub Copilot[4]. W konsekwencji wciąż istnieje ryzyko naruszenia praw do cudzego kodu.

Sprawa może się dodatkowo skomplikować, gdy kod podpowiedziany przez GitHub Copilot jest kodem udostępnionym publicznie na tzw. wirusujących licencjach open source (licencje copyleft, np. licencja GNU GPL). Wykorzystanie kodu na takiej licencji (nawet nieświadome – wskutek zaakceptowania podpowiedzi wskazanej przez GitHub Copilot) może spowodować, iż cały kod, do którego zaimplementowano taki fragment, zostanie objęty odpowiednią licencją open source.

To z kolei może wiązać się z ograniczeniami w komercyjnym wykorzystywaniu takiego kodu. Przykładowo, postanowienia wspomnianej licencji GNU GPL stanowią, iż ponowne wykorzystanie kodu objętego tą licencją jest możliwe, ale jedynie pod warunkiem, iż program komputerowy, zawierający kod licencjonowany na GNU GPL, będzie dalej udostępniany na warunkach licencji GNU GPL. W konsekwencji, w odniesieniu do całości tak zawirusowanego oprogramowania, konieczne będzie wskazanie jego pochodzenia oraz udostępnienie całości zmodyfikowanego kodu zawierającego element open source w taki sposób, aby inne osoby miały możliwość jego dalszej modyfikacji. To zaś może zniweczyć wiele założeń biznesowych przy projektach IT.

Niechciane licencjonowanie tworzonego kodu programu komputerowego

Wykorzystywanie przez programistów niektórych narzędzi generatywnej AI (w szczególności nieodpłatnych) może powodować, iż promptowana treść – np. tworzony w odpowiedzi na nasz prompt kod programu komputerowego – staje się automatycznie przedmiotem licencji udzielonej przez użytkownika na rzecz dostawcy danego narzędzia AI. Tego typu licencjonowanie jest często elementem warunków świadczenia umów przez dostawców narzędzi AI, które akceptuje programista korzystający z takiego narzędzia. Brak świadomości opisanych skutków prawnych korzystania z rozwiązań generatywnej AI może spowodować wypływ praw własności intelektualnej do kodu programistycznego w naszej firmie, które często stanowiąc kluczową wartość przedsiębiorstwa.

Jak ograniczyć ryzyka związane z kodowaniem z AI?

W pierwszej kolejności należy uświadomić sobie zagrożenia wiążące się z korzystaniem z tego typu narzędzi – w czym, mamy nadzieję, pomógł ten artykuł.

W dalszej kolejności, przedsiębiorcy działający w branży programistycznej lub prowadzący własne projekty IT – oraz ich klienci – powinni podjąć działania w dwóch obszarach – wewnętrznym i zewnętrznym.

W ramach obszaru wewnętrznego najważniejsze jest wprowadzenie w firmie polityki korzystania narzędzi AI. Taka polityka powinna m.in.:

  1. zostać przygotowana po uprzednich konsultacjach z załogą – tak, aby zorientować się, w jakim zakresie i do jakich celów generatywna AI jest wykorzystywana w firmie,
  • być czytelna i zrozumiała dla pracowników,
  • identyfikować ryzyka związane z prawem autorskim i korzystaniem z narzędzi AI,
  • obejmować przeszkolenie pracowników w zakresie programowania z wykorzystaniem AI,
  • regulować obowiązki każdego pracownika korzystającego z narzędzi AI – np. dokumentowanie promptów używanych do tworzenia kodu z pomocą narzędzi AI oraz prowadzenie zestawienia treści powstających z wykorzystaniem takich narzędzi.

Działanie takie zredukuje ryzyko zmierzenia się z zarzutem braku powstania praw autorskich lub naruszenia takich praw.

Obszar zewnętrzny redukcji ryzyka związanego z korzystaniem przez programistów z narzędzi AI dotyczy w dużej mierze relacji z klientami. Czynności w ramach tego obszaru dotyczą głównie odpowiedniego podejścia do zawierania umów, których przedmiotem są programy komputerowe tworzone na zamówienie. W takich umowach najważniejsze jest precyzyjne uregulowanie korzystania przez wykonawcę (tj. przez zatrudnianych przez niego programistów) z narzędzi AI, tak aby zminimalizować ryzyka związane z prawami autorskimi. Można to zrobić np. zobowiązując wykonawcę do korzystania z narzędzi AI, których dostawcy gwarantują zwolnienie z odpowiedzialności odszkodowawczej w przypadku, gdy treści wygenerowane przez ich narzędzie AI naruszają cudze prawa.

Nasi doświadczeni doradcy są gotowi wesprzeć Państwa w zabezpieczeniu kluczowych ryzyk prawnych w obydwu obszarach. Zachęcamy do kontaktu.


[1] https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience

[2] Ustawa z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (Dz.U. z 2022 poz. 2509)

[3] Ustawa z dnia 26 lipca 1991 r. o podatku dochodowym od osób fizycznych (Dz.U. z 2024 poz. 226)

[4] https://github.com/features/copilot/

Responsible AI -> What are the intellectual property considerations when using GitHub Copilot?

“What about copyright risk in suggestions? In rare instances (less than 1% based on GitHub’s research), suggestions from GitHub may match examples of code used to train GitHub’s AI model. Again, Copilot does not “look up” or “copy and paste” code, but is instead using context from a user’s workspace to synthesize and generate a suggestion. „

Idź do oryginalnego materiału