Kto płaci za błąd programisty, zależy od jednej rzeczy: w jakiej relacji prawnej ten programista działał. Ta sama pomyłka w kodzie ma zupełnie inne skutki finansowe, gdy popełnił ją pracownik na etacie, przedsiębiorca na B2B albo firma IT wobec swojego klienta.
Programista na etacie odpowiada w sposób ograniczony – przy winie nieumyślnej maksymalnie do trzykrotności wynagrodzenia; pełną kwotę płaci dopiero przy winie umyślnej.
- Programista lub firma na B2B odpowiada kontraktowo – co do zasady w pełnej wysokości, ale odpowiedzialność można w umowie rozsądnie ograniczyć.
- Za błąd swojego programisty wobec klienta odpowiada firma IT – jak za własne działanie; dopiero potem szuka regresu do wykonawcy, czyli zwrotu tego, co już sama zapłaciła za jego błąd.
- Odpowiedzialności się nie „unika”, tylko rozkłada i ogranicza – umownym limitem kwotowym (cap) i jasnym podziałem ról i obowiązków.
- Wysokości szkody nie ustala się „na oko” – liczy się rzeczywistą stratę i utracone korzyści, w granicach związku przyczynowego, czyli następstw wywołanych przez popełniony błąd.
Jeden błąd w kodzie może wywołać pytanie, które potrafi rozgrzać każdą współpracę: kto za to zapłaci? Jeśli jesteś przedsiębiorcą, który zamówił oprogramowanie, chcesz wiedzieć, od kogo i ile możesz żądać w takiej sytuacji. Jeśli prowadzisz software house, chcesz wiedzieć, kiedy odpowiadasz za pomyłkę swojego człowieka i jak to ograniczyć. Jeśli jesteś programistą, chcesz wiedzieć, gdzie kończy się twoje ryzyko i za co realnie odpowiadasz.
Odpowiedź brzmi „to zależy” i ten artykuł pokazuje, od czego dokładnie. Bo błąd programisty uruchamia odpowiedzialność w trzech różnych reżimach, a mylenie ich to najczęstsze źródło fałszywych wniosków.
Kto płaci za błąd w kodzie? To zależy od relacji
Kto płaci za błąd w kodzie, rozstrzyga się nie na podstawie tego, jak poważny był błąd, lecz w jakiej relacji prawnej działał programista. To pierwsza rzecz, którą trzeba ustalić, zanim w ogóle policzymy szkodę.
Odpowiedzialność prawna programisty za błędy nie jest jednolita, a układa się w trzy odrębne ścieżki:
- Stosunek pracy – programista-pracownik wobec pracodawcy; tutaj rządzi nim Kodeks pracy i jego limity.
- Umowa B2B – programista lub firma IT jako przedsiębiorca wobec kontrahenta; tą relacją rządzi odpowiedzialność kontraktowa z Kodeksu cywilnego.
- Łańcuch podwykonawstwa – firma IT wobec klienta za działania swojego programisty; klient rozlicza się za szkodę z dostawcą, a nie z jej pracownikiem.
Dopiero po zakwalifikowaniu relacji ma sens pytanie o koszt błędu programisty. Ten sam bug w tej samej aplikacji zamyka się inną kwotą w każdym z tych trzech układów.
Sprawdź również: audyt prawny umow it.
Programista na etacie – odpowiedzialność ograniczona
Programista zatrudniony na umowę o pracę odpowiada wobec pracodawcy w sposób istotnie ograniczony, co zaskakuje wiele firm. To nie jest pełna odpowiedzialność jak w relacji biznesowej, gdyż reżim Kodeksu pracy chroni pracownika.
Istnieją trzy zasady z tym związane, które warto znać, zanim ktoś zada pytanie, czy pracodawca może obciążyć programistę kosztami naprawy błędu:
- Wina nieumyślna – limit trzech pensji: odszkodowanie ustala się w wysokości szkody, ale nie może przewyższać trzymiesięcznego wynagrodzenia pracownika i obejmuje tylko rzeczywistą stratę, bez utraconych korzyści, czyli tego, co firma nie zarobiła, a mogła, gdyby nie błąd.
- Wina umyślna – pełna kwota: jeśli programista wyrządził szkodę umyślnie, odpowiada w pełnej wysokości, wraz z utraconymi korzyściami.
- Szkoda u klienta – najpierw płaci pracodawca: za szkodę wyrządzoną osobie trzeciej przy wykonywaniu obowiązków odpowiada wyłącznie pracodawca; to on rozlicza się z klientem, a dopiero potem ma regres do pracownika.
Powyższe zasady dla dostawcy oznaczają to, że gdy zespół to pracownicy etatowi, wówczas ryzyko zawodowe programisty jest mocno ograniczone. Ciężar dowodu też jest po stronie pracodawcy, który musi wykazać winę, szkodę i związek przyczynowy między działaniem lub zachowaniem programisty a szkodą u klienta.
Programista lub firma na B2B – odpowiedzialność kontraktowa
Gdy programista działa jako przedsiębiorca na kontrakcie B2B, znika ochrona z Kodeksu pracy, a wchodzi pełna odpowiedzialność kontraktowa. To zupełnie inny świat niż etat i najczęściej niedoszacowany przez samych wykonawców.
Podstawę odpowiedzialności stanowi nienależyte wykonanie zobowiązania, brak też ustawowego limitu trzech pensji. W konsekwencji, współpracownik odpowiada za pełną szkodę, chyba że inaczej umówi się ze zleceniodawcą. Dla odpowiedzialności znaczenie ma też rodzaj umowy między programistą a zleceniodawcą. Gdy strony wybiorą umowę o dzieło, programista odpowiada również za swoje prace na zasadach rękojmi. To powoduje, że musi naprawić błędy wykonanych prac, które wskaże klient w projekcie. W przypadku umowy zlecenia programista nie odpowiada za efekt, tylko za staranne działanie.
W praktyce odpowiedzialność w umowie z programistą najczęściej podlega modyfikacji. Strony mogą wprowadzić limit kwotowy, wyłączyć niektóre kategorie szkód czy powiązać odpowiedzialność z karą umowną. Nie można z góry wyłączyć odpowiedzialności za szkodę wyrządzoną umyślnie, klauzula „wykonawca nie odpowiada za nic” jest nieważna.
Sprawdź również: obsluga prawna firm it.
Firma IT wobec klienta – kto odpowiada za błąd podwykonawcy
Wobec klienta za błąd swojego programisty odpowiada firma IT jak za własne działanie. To jedna z najważniejszych zasad, gdyż klient nie musi „ścigać” konkretnego dewelopera, a idzie wprost do firmy, z którą podpisał umowę.
Wynika to z zasady, że dostawca IT odpowiada za osoby, którymi posługuje się przy wykonaniu zobowiązania, jak za własne działania i zaniechania (art. 474 KC). Innymi słowy, czy błąd popełnił etatowiec, czy podwykonawca na B2B, wobec klienta zawsze odpowiada firma, która z nim współpracuje. Dopiero w drugim kroku dostawca IT szuka zwrotu tego, co musiał zapłacić (regresu) od sprawcy, ale z ograniczeniami opisanymi powyżej co do modelu zatrudnienia.
Jak odpowiedzialność za błąd programisty wygląda w praktyce?
Błąd w module płatności powoduje u klienta realne straty. Klient żąda odszkodowania od firmy IT, z którą ma umowę, bo to firma odpowiada za rezultat wdrożenia. Firma płaci, a potem szuka zwrotu od autora błędu. Jeśli był to jej pracownik etatowy, regres jest ograniczony do trzech pensji. Jeśli był to podwykonawca na B2B, firma może dochodzić pełnej szkody na zasadach kontraktowych, o ile umowa z tym podwykonawcą to przewiduje. Niezależnie od tego, że jest to ten sam błąd, to uprawnienia dostawcy IT wobec swojego personelu są różne, zależne od modelu zatrudnienia.
Ile kosztuje błąd programisty – jak liczy się szkodę?
Wysokości szkody nie ustala się „na oko” ani według faktury za naprawę, ale liczy się ją według reguł prawnych. Zatem hasło „błąd w oprogramowaniu odszkodowanie” sprowadza się do jednego pytania: jak policzyć szkodę. To zarazem odpowiedź na pytania o odszkodowanie za wadliwe oprogramowanie i realne konsekwencje finansowe bugów w aplikacji.
Szkoda obejmuje dwa elementy: rzeczywistą stratę (to, co majątek poszkodowanego realnie stracił) oraz utracone korzyści (to, co by zyskał, gdyby błędu nie było), w granicach normalnego związku przyczynowego. To ramy, w których liczy się odszkodowanie za błąd oprogramowania, niezależnie od tego, jak dramatycznie wyglądają koszty takiego zdarzenia.
Na koszty błędów w oprogramowaniu firmowym składają się więc nie tylko koszty naprawy błędów, ale też np. utracone przychody czy kary zapłacone dalszym kontrahentom, o ile pozostają w adekwatnym związku z błędem. Szkody wyrządzone przez oprogramowanie liczy się jak każdą inną szkodę. Wskazane straty finansowe firmy trzeba jednak udowodnić co do ich wysokości, gdyż samo wskazanie, że „aplikacja nie działała”, nie wystarcza.
Wady oprogramowania: rękojmia, gwarancja i błąd krytyczny
Nie każdy błąd to od razu odszkodowanie, gdyż część roszczeń załatwia rękojmia i naprawa wad w oparciu o te uprawnienia zamawiającego. Wady oprogramowania uruchamiają przede wszystkim rękojmię za wady, która przy umowie o dzieło wynika z ustawy, oraz ewentualną umowną gwarancję jakości. Należy jednak pamiętać, że dostawca może w umowie wyłączyć swoją odpowiedzialność z rękojmi, wówczas nie przysługuje ona zamawiającemu. Rękojmia za wady działa przy tym niezależnie od roszczenia o odszkodowanie.
W praktyce warto rozróżniać wagę błędu, gdyż nie każdy błąd krytyczny systemu i nie każda drobna usterka rodzą te same skutki. Umowa powinna definiować kategorie błędów (krytyczny, poważny, drobny) i przypisywać im czasy reakcji oraz naprawy. To, jak wada wpływa na odbiór i wymagalność wynagrodzenia, rozłożyliśmy w tekście o odbiorze projektu IT.
Jak legalnie ograniczyć odpowiedzialność za błędy w kodzie?
Pytanie „jak uniknąć odpowiedzialności za błędy w kodzie” nie jest do końca dobrze postawione, gdyż całkowite jej wyłączenie jest sprzeczne z prawem. Odpowiedzialność za błędy można natomiast ograniczyć w umowie, co stanowi legalne narzędzie zarządzania ryzykiem kontraktowym.
W praktyce można całą sprawę sprowadzić do trzech elementów:
- Kwotowy limit odpowiedzialności (cap) – górna granica odpowiedzialności, zwykle powiązana z wartością umowy, z wyższym progiem dla scenariuszy wysokiego ryzyka.
- Rozgraniczenie ról – jasny podział, za co odpowiada wykonawca, a za co zamawiający (np. dane wejściowe, decyzje, infrastruktura).
- Definicja i kategorie błędu – żeby spór nie zaczynał się od pytania, czy to w ogóle był błąd, i jak poważny.
Przykładowe brzmienie klauzuli odpowiedzialności
„Całkowita odpowiedzialność Wykonawcy z tytułu Umowy jest ograniczona do kwoty … (… % wartości Umowy). Ograniczenie nie obejmuje szkód wyrządzonych umyślnie. Wykonawca nie odpowiada za wady wynikające z danych, treści lub decyzji dostarczonych przez Zamawiającego ani ze zmian wprowadzonych w kodzie przez podmioty trzecie bez zgody Wykonawcy.”
Przykładowe brzmienie klauzuli dotyczącej kategorii błędów
„Błędem krytycznym jest wada uniemożliwiająca korzystanie z kluczowych funkcji systemu; błędem poważnym – wada istotnie utrudniająca korzystanie; błędem drobnym – wada niewpływająca na kluczowe funkcje. Czasy reakcji i naprawy dla każdej kategorii określa Załącznik nr … .”
Ubezpieczenie OC programisty – kiedy realnie przenosi ryzyko?
Ubezpieczenie OC programisty przenosi ryzyko finansowe tylko w granicach polisy, co stanowi jego największe ograniczenie. Solidne ubezpieczenie OC dla programistów potrafi realnie ochronić przed skutkami błędu, ale nie zastępuje dobrej umowy.
O wartości polisy decydują trzy rzeczy: suma gwarancyjna, zakres (czy obejmuje czyste straty finansowe, typowe dla błędów w oprogramowaniu) oraz wyłączenia. Poza zakresem ochrony odpowiedzialność wraca do sprawcy albo do firmy. Dlatego ubezpieczenie traktuje się jako uzupełnienie umownego podziału ryzyka, a nie jego zamiennik.
Czy błąd programisty może zakończyć umowę?
Błąd może być podstawą zakończenia umowy, ale nie każdy i nie automatycznie. Decyduje waga wady i to, czy dało się ją usunąć. Drobna, usuwalna usterka nie uzasadnia zerwania współpracy; wada istotna, której wykonawca nie usuwa mimo wezwania, może otworzyć drogę do odstąpienia.
Konsekwencje prawne błędu programisty mogą więc sięgać od żądania naprawy, przez obniżenie wynagrodzenia i karę umowną, aż po odstąpienie od umowy przy wadzie istotnej. Kolejność i przesłanki warto opisać w umowie, żeby żadna ze stron nie „zrywała” współpracy pochopnie, bo bezpodstawne odstąpienie samo w sobie rodzi odpowiedzialność.
Najczęściej zadawane pytania (FAQ)
Kto ponosi odpowiedzialność za błędy programisty?
To zależy od relacji: pracownik etatowy odpowiada wobec pracodawcy w sposób ograniczony (Kodeks pracy), przedsiębiorca na B2B kontraktowo w pełnej wysokości (art. 471 KC), a wobec klienta za błąd swojego programisty odpowiada firma IT jak za własne działanie (art. 474 KC).
Czy pracodawca może obciążyć programistę kosztami naprawy błędu?
Tak, ale w granicach Kodeksu pracy. Przy winie nieumyślnej odszkodowanie nie może przekroczyć trzymiesięcznego wynagrodzenia i obejmuje tylko rzeczywistą stratę. Pełną kwotę pracownik płaci wyłącznie przy winie umyślnej.
Czy programista odpowiada finansowo za swoje błędy?
Tak, ale zakres zależy od formy współpracy. Na etacie odpowiedzialność jest ograniczona limitem trzech pensji przy winie nieumyślnej. Na B2B odpowiada co do zasady za pełną szkodę, chyba że umowa tę odpowiedzialność ogranicza.
Czy firma IT może żądać zwrotu od programisty za błąd (regres)?
Tak. Po naprawieniu szkody wobec klienta firma ma regres do sprawcy. Wobec pracownika etatowego regres jest ograniczony do zasad z Kodeksu pracy; wobec podwykonawcy na B2B firma może dochodzić pełnej szkody na zasadach kontraktowych, o ile umowa to przewiduje.
Ile wynosi odszkodowanie za błąd programisty?
Nie ma stałej kwoty, gdyż odszkodowanie odpowiada do wysokości szkody, na którą składa się: rzeczywista strata i utracone korzyści w granicach związku przyczynowego (art. 361 KC). W relacji pracowniczej działa dodatkowo limit trzech pensji przy winie nieumyślnej. Każdą sprawę wycenia się indywidualnie.
Czy klient może żądać odszkodowania od firmy za błąd jej programisty?
Tak. Klient kieruje roszczenie do firmy, z którą ma umowę, bo odpowiada ona za osoby, którymi posługuje się przy wykonaniu zobowiązania (art. 474 KC). To firma rozlicza się z klientem, a dopiero potem szuka regresu do autora błędu.
Czy ubezpieczenie OC chroni programistę przed odpowiedzialnością finansową?
Tylko w granicach polisy. Ubezpieczenie OC programisty pokrywa szkody objęte sumą gwarancyjną i zakresem ochrony, z pominięciem wyłączeń. Poza tym zakresem odpowiedzialność wraca do sprawcy lub firmy, dlatego polisa uzupełnia umowę, a nie ją zastępuje.
Jakie zapisy w umowie ograniczają odpowiedzialność za błędy w kodzie?
Przede wszystkim kwotowy limit odpowiedzialności (cap), rozgraniczenie ról między wykonawcą a zamawiającym oraz definicja i kategorie błędu. Trzeba przy tym pamiętać o granicy z art. 473 § 2 KC: odpowiedzialności za szkodę wyrządzoną umyślnie nie da się skutecznie wyłączyć.
Od czego zależy koszt błędu programisty?
Ile kosztuje pomyłka programisty, zależy nie od samego błędu, lecz od relacji, w której powstał: etat oznacza ograniczoną odpowiedzialność pracowniczą, B2B pełną odpowiedzialność kontraktową, a wobec klienta za błąd zawsze odpowiada firma IT, z regresem do sprawcy.
Sprawdź nasze usługi: Kancelaria prawna RODO i IT – ustalimy w umowie podział ryzyka: limit odpowiedzialności, rozgraniczenie ról i kategorie błędów.