Kaj se zgodi ko sodišče prisili v razkritje izvorne kode? Kaos ker nekdo ni želel plačati kazni za vožnjo pod vplivom alkohola.


Programsko opremo delimo na komercialno in odprto kodno. Iz pravnega vidika gre predvsem za razliko v licencah pod katerimi jo lahko uporabljamo, odprto kodne licence govorijo o svoboščinah ki nam jih zagotavljajo, komercialne pa o omejitvah pod katerimi jih uporabljamo. Pomembna značilnost odprto kodnih programov je tudi ta, da je izvorna koda javno dostopna, vsak jo lahko preuči, spremeni, uporabi in tudi distribuira. Zaradi javne dostopnosti je razvoj tega programja vedno pod drobnogledom spletnih zanesnjakov, ki razvijajo programje naprej, vsak košček kode široko uporabljenega OK programja je tako mnogokrat strokovno preverjen in popravljen, medtem ko je razvoj komercialnega programja skrit pred očmi sveta znotraj softwerskih hiš, Zanesljivost in varnost za uporabnika tako nista preverljivi.
Odprto kodni razvijalci zaradi preverljivosti mnogo bolj pazijo in upoštevajo splošno veljavne standarde. Pri komercialni programski opremi pa ni nujno tako, saj se razen razvojnega teama v kodo ne poglablja nihče.

In kaj ima to veze z zgornjim naslovom?
Zanimiva zgodba prihaja iz New Jersija, kjer so trenutno pod vprašanjem naprave za merjenje alkohola v izdihanem zraku. Zaključuje se je namreč sodni primer država proti Jane H.Chun, kjer je obramba pripeljala primer vse do vrhovnega sodišča in zahtevala da se preveri izvorna koda Alkotesterja Draeger 7110 nemškega proizvajalca. Drager se je razkritju kode sicer upiral, saj ga je ščitila komercialna licenca, vendar ga je sodišče z odločbo prisililo da mora kljub temu omogočiti preučitev izvorne kode alkotesterja.

Sama kakovost uporabljene programske koda se je izkazala kot katastrofalna. Podjetje Drager je napravo testiralo podjetje v lasti njihove softwerske hiše SysTest. Neodvisni test pa je naredilo podjetje Base One Technologies. Slednje je našlo kar 19400 potencialnih napak v kodi in svetovalo v svojem poročilu naj se omenjeni model nemudoma umakne iz uporabe.
Nekaj ugotovitev:
Program za alkotest ne ustreza razvojnim standardih ki jih ima vlada Zda in vojska, ne ustreza niti FAA standardom, ravno tako ne tudi komercialnim standardom za javno varnost. Napačno računa povprečja merjenj. Bolj natančen je le pri malih količinah alkohola, ne deluje razpoznavanje napak, ta del kode je bil izklopljen, softwer sicer vklaplja posamezne module testerja vendar ne zna preveriti ali ti resnično delujejo, pri merjenjih preveč upošteva ekstremne vrednosti, vsebnost alkohola računa na podlagi razmerja pred in med merjenjem in avtomatsko predvideva da je začetna vrednost enaka 0….
Kodo so testirali tudi z odprto kodnim orodjem za preverjanje kode imenovanim Lint, ta je pokazal, da so napake v kar 3/5 vrstic kode.

Sodišče bo najverjetneje proglasilo alkotester kot nezanesljiv in na trhla tla postavilo vse postopke proti alkoholiziranim voznikom. Odvetniki si zagotovo že manejo roke.
Celotna zbirka dokumentov je objavljena tu, Lahko pa si preberete krajši povzetek

pozor

Comments are closed.