O czym wy w ogóle tu debatujecie?! Odpowiedzialność ponosi producent pociągów. Dopiero gdyby producent pociągów poniósł stratę, to wewnętrznie może przeprowadzić śledztwo/audyt i sprawdzić kto jest winny. Gdyby okazało się, że winny jest programista, który wprowadził zmiany w kodzie w wyniku nienależytej staranności, to może odpowiadać finansowo do wysokości 3-miesięcznej pensji. Jeżeli programista wprowadził zmiany w kodzie umyślnie, to może odpowiadać do pełnej wysokości szkody. Z kolei jeżeli dostał takie wymagania od product ownera, to wtedy winny jest product owner i tutaj również decydujące jest czy działał umyślnie czy nieumyślnie.
W przypadku programisty na b2b o wysokości odpowiedzialności finansowej decyduje umowa. Jeżeli nie ma żadnych bezpieczników to może ponosić pełną odpowiedzialność za szkodę, nawet jeżeli działał nieumyślnie np. popełnił błąd w kodzie.
W tym konkretnym przypadku w kodzie były następujące warunki:
- uniemożliwienie uruchomienia pociągu, jeżeli stał przez 10 dni w jednym z centrów serwisowych firmy Newag, sprowadzane po koordynatach gps
- uniemożliwienie uruchomienia pociągu, jeżeli wymieniono któryś z komponentów, sprawdzane po nr seryjnym
- uniemożliwienie uruchomienia pociągu, jeżeli pokonał 1 milion kilometrów
- informowania o awarii sprężarki w dniach 21-30 listopada i 21-31 grudnia każdego roku począwszy od 2021.
- logika umożliwiająca zdjęcie powyższych blokad przez serwisanta lub maszynistę, po wprowadzeniu odpowiedniej sekwencji uderzeń klawiszy w kabinie pociągu.
Dodatkowo w pociągach znaleziono urządzenie, które za pomocą sieci GSM informowało producenta o wystąpieniu którejś z blokad.
Nawet jeżeli programista w którymś z tych warunków popełnił błąd np. tak jak sugeruje "Trzecia strona", że pociąg miał stanąć tylko w dniach kiedy miał przegląd, zaplanowany na koniec listopada 2021 rok, a nie co roku w listopadzie i grudniu, to nic nie świadczy o tym, że była to zmiana wykonana z inicjatywy programisty.
Wszystkie zmiany wyglądają na celowo wprowadzone przez producenta, potwierdza to również urządzenie które wysyła informacje o blokadach. Nie ma tutaj mowy o błędzie programistów, ale jest to celowe działanie producenta.
Ja ze swojej strony miałem przyjemność uczestniczyć w projekcie dla producenta autobusów. Projekt polegał na zbieraniu danych o sposobie eksploatacji maszyn, ustawieniach i wskazaniach komponentów, w celu przewidywania awarii przed jej wystąpieniem oraz wyłączania gwarancji producenta, jeżeli sprzęt był eksploatowany niezgodnie z zaleceniami.