Kod źródłowy stanowi fundament działania programów komputerowych. Jego prawidłowość ma bezpośredni wpływ na funkcjonowanie i bezpieczeństwo biznesu. W erze cyfrowej, gdy aplikacje odgrywają kluczową rolę w niemal każdym sektorze gospodarki, kwestia prawnej odpowiedzialności za kod, a dokładniej za wady i błędy w kodzie źródłowym staje się zagadnieniem o fundamentalnym znaczeniu.
Wystarczy spojrzeć na skutki ogólnoświatowej awarii wywołanej przez CrowdStike w lipcu 2024 r. problemami przy aktualizacji Falcon Sensor. Pokazuje to, że jakkolwiek debugowanie kodu jest naturalnym procesem wpisanym w każdy projekt programistyczny, koszty związane z usuwaniem błędów mogą pogrążyć nawet dobrze prosperujący biznes.
Status prawny kodu źródłowego w świetle prawa autorskiego
Kod źródłowy podlega w Polsce ochronie prawnoautorskiej na analogicznych zasadach, jak dzieła literackie. Zgodnie z art. 74 ust. 2 Ustawy IP ochrona prawna obejmuje wszystkie formy wyrażenia programu komputerowego. Mówiąc po ludzku, ochroną nie są objęte te części kodu, które wynikają ze stosowanego framework’u czy określają ogólny flow (definiują klasy czy funkcje). Należy podkreślić, że w myśl orzecznictwa Trybunału Sprawiedliwości UE, przedmiot ochrony obejmuje program komputerowy we wszystkich jego formach wyrażenia, które umożliwiają jego powielanie w różnych językach informatycznych.
Wyobraź sobie, że tworzysz standardową aplikację CRUD (tzn. create, read, update, delete). Ogólny przepływ działania, czyli formularz do dodawania danych, logika zapisywania do bazy, wyświetlanie listy, formularz edycji czy logika usuwania, może skopiować od ciebie każdy. Co więc podlega ochronie? Unikalne algorytmy określające operacje na danych, takie jak sposób kompresji czy walidacji, wygląd interfejsu, kolejność wykonywania operacji, która ma wpływ na efektywność systemu. To ważne zwłaszcza w dobie rosnącej popularności rozwiązań AI czy tworzenia aplikacji z gotowych elementów (no-code, low-code czy vibe coding).
Kto ponosi odpowiedzialność za kod i jego błędy?
Skoro kod źródłowy stanowi utwór w rozumieniu Ustawy IP, to można pomyśleć, że jego wykonanie nie różni się z prawnego punktu widzenia od pocięcia drewna albo stworzenia samochodu. Co prowadzi do przepisów, które regulują realizację takich prac za wynagrodzeniem. Kluczowe z punktu widzenia odpowiedzialności jest więc sposób tworzenia oprogramowania.
Z jednej strony może odbywać się to na podstawie umowy o pracę, którą regulują przepisy Kodeksu pracy. Jest to sytuacja wielu firm, które zatrudniają własny zespół programistyczny. Z drugiej strony mamy relacje B2B. Ma to miejsce nie tylko przy tworzeniu oprogramowania w software house’ach czy w przypadku nawiązania współpracy z firmą specjalizującą się w tworzeniu aplikacji. Ale również w przypadku usługowego udostępniania oprogramowania. W takiej sytuacji odpowiedzialność kształtuje się na przepisach kodeksu cywilnego.
Odpowiedzialność za kod stworzony przez pracownika idzie na konto pracodawcy
W przypadku zatrudnienia na umowę o pracę, to pracodawca ponosi odpowiedzialność za prawidłowość kodu źródłowego tworzonego przez pracowników. Wynika to ze specyfiki tej formy współpracy. Pracownik podlega poleceniom służbowym, nie decyduje w pełni samodzielnie o tym co i jak robi (art. 100 par. 1 Kodeksu pracy). Musi oczywiście mieć kompetencje odpowiadające jego stanowisku, ale jeżeli w wyniku jego działań powstanie u kogoś szkoda, odpowiedzialność ponosi za nią pracodawca (art. 120 par. 1 Kodeksu pracy).
Koresponduje to z przepisami art. 74 ust. 3 Ustawy IP. Zgodnie z nimi prawa majątkowe do programu komputerowego stworzonego przez pracownika na podstawie stosunku pracy przysługują pracodawcy, o ile umowa o pracę nie zawiera innych ustaleń. Dotyczy to zarówno kompletny program komputerowy jak i jego elementy. Skoro pracodawca jest właścicielem kodu to naturalnym jest, że odpowiada za jego ewentualne błędy lub braki. Zresztą zgodnie z art. 2 ust. 1 Ustawy IP ewentualne przeróbki utworu mogą być wykonywane za zgodą właściciela praw autorskich.
Odpowiedzialność kontraktowa czyli praca na własny rachunek
W przypadku wadliwego kodu, spory najczęściej powstają w ramach odpowiedzialności kontraktowej. Wynika to z faktu, że realizacja prac deweloperskich lub rozwojowych ma zwykle miejsce między firmą zlecającą i wykonawcą, czyli w relacji B2B. W takiej sytuacji fakt, że kod nie działa w ogóle lub nie tak jak trzeba, podstawą odpowiedzialności jest art. 471 Kodeksu cywilnego. Zgodnie z nim: „dłużnik obowiązany jest do naprawienia szkody wynikłej z niewykonania lub nienależytego wykonania zobowiązania, chyba że niewykonanie lub nienależyte wykonanie jest następstwem okoliczności, za które dłużnik odpowiedzialności nie ponosi„.
Aby zaistniała odpowiedzialność odszkodowawcza, muszą być spełnione trzy przesłanki:
- musi istnieć ważne zobowiązanie – czyli umowa dotycząca wykonania systemu lub regulamin związany z udostępnieniem tego systemu klientom,
- wierzycielowi musi zostać wyrządzona szkoda majątkowa – co ma miejsce np. jeżeli nie działa system księgowy albo do obsługi zamówień,
- wady kodu muszą być przyczyną niedziałania systemu.
W kontekście kodu źródłowego oznacza to, że programista (JDG) lub firma informatyczna może zostać pociągnięta do odpowiedzialności, jeśli dostarczy wadliwy kod, który nie spełnia uzgodnionych wymagań, a wada ta spowoduje szkodę u zamawiającego.
Rękojmia lub gwarancja a odpowiedzialność za kod
W przypadku umów o dzieło, do których często kwalifikuje się tworzenie oprogramowania, zastosowanie znajduje art. 638 § 1 Kodeksu cywilnego. Zgodnie z nim „do odpowiedzialności za wady dzieła stosuje się odpowiednio przepisy o rękojmi przy sprzedaży (…)”. W praktyce oznacza to, że twórca oprogramowania ponosi odpowiedzialność za wady kodu źródłowego, chyba że wynikają one ze specyfikacji lub wymagań dostarczonych przez klienta.
Warto podkreślić, że zgodnie z przepisami o rękojmi, sprzedawca (a w tym przypadku wykonawca oprogramowania) odpowiada za wady, które istniały w chwili przejścia niebezpieczeństwa na kupującego lub wynikły z przyczyny tkwiącej w rzeczy sprzedanej (programie komputerowym). Oznacza to, że problemy wynikające z późniejszej integracji aplikacji z innymi programami lub ze sposobu korzystania z oprogramowania, który nie był sparametryzowany przy jego tworzeniu, to problem korzystającego. Dodatkowo w relacjach B2B rękojmię można wyłączyć, a w przypadku zawarcia umowy w trybie doradczym (odpowiedzialność za staranne działanie, a nie za efekt prac), w ogóle jej nie będzie.
Gwarancja w projektach IT to jednostronne zobowiązanie wykonawcy do usunięcia wad, błędów lub usterek w oprogramowaniu. Jest ona nieodpłatna i czasowa, co oznacza, że zamawiający może żądać usunięcia wad jedynie przez określony czas określony w gwarancji. Jest to dobrowolna i nie przysługuje z góry. Musi zostać udzielona przez wykonawcę projektu IT poprzez złożenie oświadczenia gwarancyjnego, które określa obowiązki gwaranta i uprawnienia kupującego w przypadku wadliwości oprogramowania. Dlatego zwykle występuje w umowach zawieranych w ramach zamówień publicznych.
Co umieścić w umowie z myślą o odpowiedzialności?
Najważniejszą kwestią do uregulowania w umowie czy regulaminie dotyczącym dostarczenia lub udostępnienia oprogramowania jest opis funkcjonalności, wymagań i parametrów technicznych. To one stanowią podstawę do oceny, czy dostarczone lub udostępnione oprogramowanie jest zgodne z umową, czy też zawiera wady. W umowach zawieranych w firmami, które profesjonalnie zajmują się tworzeniem aplikacji na zamówienie, są też umieszczane zapisy dotyczące ograniczenia czy wyłączenia odpowiedzialności. Chronią one wykonawcę.
Z kolei dla zamawiającego ważne są szczególnie zapisy dotyczące testów akceptacyjnych czy możliwości późniejszej modyfikacji kodu. Zgodnie z art. 74 ust. 2 Ustawy IP zakres dozwolonej modyfikacji oprogramowania dla potrzeb bezpieczeństwa czy integracji z innymi systemami jest szerszy niż w przypadku zwykłych utworów. Nie obejmuje to jednak tworzenia nowych rozwiązań, co w przypadku rozwoju biznesu jest kluczowe.
Materiał przygotowano na podstawie następujących aktów i materiałów źródłowych:
- Wyrok Trybunału Sprawiedliwości z dnia 22 grudnia 2010 r. sygn. C-393/09 (Dz. U. UE. C. z 2011 r. nr 63, str. 8/1), LEX 68019103.
- Kodeks pracy – ustawa z dnia 26 czerwca 1974 r. Kodeks pracy (t.j. Dz. U. z 2025 r. poz. 277 z późn. zm.).
- Ustawa IP – ustawa z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (t.j. Dz. U. z 2025 r. poz. 24 z późn. zm.).
- Kodeks cywilny – ustawa z dnia 23 kwietnia 1964 r. Kodeks cywilny (t.j. Dz. U. z 2024 r. poz. 1061 z późn. zm.).