(Mielőtt félreértenéd nem azért írom, amit írok, mert azt gondolom úgy helyes, hanem mert szerintem jogászok ki tudják magyarázni.)
Amit leírtál az ellen is lehet sajnos védelmi stratégiát kitalálni. A lényeg, hogy azt kell elérni, hogy minden el legyen különítve egymástól, semmit sem szabad egyben tárgyalni - mert egyben túl nyilvánvaló, hogy mire ment ki az egész. Először is legalább két külön ügy legyen. Az egyik a már megtörtént dolgok megvédése bármi áron ("jóhiszemű hiba volt", "túl óvatosak voltak 1-2 biztonsági kérdésben", "túl későn jöttek rá, hogy hiba lehet, ezért maradt ki a dokumentációból" stb. "majd javítjuk".) Egy másik ügy pedig, hogy a jelenlegi status quo fenn is maradjon, az első ügyben használt "jóhiszemű kibúvók" ellenére a gyártó mégse kényszerüljön olyan változtatás tényleges elvégzésére, ami lehetővé teszi a konkurens javítóüzem munkáját.
A geofencing alól pl lehetséges kibúvó, hogy az még akkor került bele, amikor a vonat garanciális volt, tehát még szó sem volt arról, hogy a konkurens javítóüzem hozzányúlhatna. Az, hogy a kb 30 szerelvényből ez a konkrét check csak 1-2-nél volt csak meg, még alá is támasztja. Egyszerűen "elfelejtették" kivenni.
Az, hogy mi a van a szerződésben jó kérdés. Gondolom a vasúttársaság eredetileg nem úgy írta meg, hogy rosszhiszeműen feltételezi, hogy a gyártó tevőlegesen meg fogja szabotálni a vonatokat, és nem mentek bele olyan részletekbe, hogy PLC kódja, meg frissítésének jogállása kellő alapossággal tisztázva legyen. A jogszabályoknak feleljen meg és kész. A gyártó azzal is takarózhat, hogy 3rd party megoldást (ez a svájci PLC compiler és framework-ös cég, amit említenek) használnak, amit nem adhatnak tovább, mert nem az ő tulajdonuk. Ha át is adnak valamennyi forráskódot, abból más nem feltétlen kell, hogy le tudja buildelni a firmware-t. Mindenre van kifogás. Sajnos.