odpowiedzialność za niebezpieczny kod

czy programista (albo firma programistyczna) powinna być odpowiedzialna za dziury w bezpieczeństwie jego (jej) produktu?
większość pewnie powie: oczywiście. tak.
ale nie wszyscy. alan cox – jeden z bardziej znanych guru linuksowych, współtwórca jądra, i ogólnie jeden z największych propagatorów linuksa. otóż on powiedział ostatnio, że uważa, że programistów/firm nie powinno się obciążać odpowiedzialnością za błędy bezpieczeństwa.
oczywiste jest to, że programiści mają moralny (etyczny) obowiązek tworzenia kodu tak bezpiecznego jak to tylko możliwe, ale nie można pociągać ich do odpowiedzialności gdy nastąpi włamanie/naruszenie reguł bezpieczeństwa.
czemu?
bo żyjemy w takim a nie innym świecie. wprowadzenie tego typu odpowiedzialności momentalnie wpłynęłoby (negatywnie) na rozszerzalność produktów – w końcu spora część błędów jest na granicach interakcji produktu z dodatkiem – np. przeglądarki z pluginem.
dodatkowo – byłoby to nieuczciwe, gdyż technologicznie nie da się wyciągnąć konsekwencji wobec twórców oprogramowania darmowego – jego rozwój jest zdecentralizowany, odpowiedzialność dzielona. w dodatku – o tak powstałe oprogramowanie oparte zostają inne platformy – np. komercyjne wersje dystrybucji linuksa, czy jakiekolwiek inne komercyjne pakiety.
wypowiedź alana skomentował jerry fishenden, zgadzając się z nim w zupełności. użył też interesującej metafory: nikt nie pozywa do sądu producenta zamków gdy włamywacz go (zamek) sobie otworzy i włamie sie do domu. czemu więc w przypadku oprogramowania odpowiedzialność ma być przeniesiona częściowo lub całkowicie na wytwórcę?
hmm … interesujący punkt widzenia. muszę się zastanowić co o tym sądzę, ale muszę przyznać, że ma to spory sens.

3 thoughts on “odpowiedzialność za niebezpieczny kod”

  1. Ehm.
    Tylko zauważ, dwie rzeczy.
    Po pierwsze ta odpowiedzialnośc już w tej chwili prawie nie istnieje, chyba że wyraźnie zapisałeś sobie to w kontrakcie. Znasz może kogoś, komu M$ wypłacił znaczne odszkodowanie za dziury w IE?
    Po drugie jak się zawala budynek to jednak sprawdza się kto zawinił: projektant, budowniczy czy użytkownik. I nikt nie mówi, że projektant to może budować jak chce. I nikogo nie dziwi to, że potem się sprawdza. Tu to ja się raczej zgadzam ze Schneierem. Gdyby tą odpowiedzialnośc wymuszono, to natychmiast możnaby się od niej ubezpieczyć. A na dłuższą metę zwolnienia byśmy nie zauważyli, za to zauważylibyśmy poprawe jakości. Wmawianie, że samochód nie może mieć wad produkcyjnych powodujących zagrażających zdrowi pasażerów, budynek nie może, nawet młotek nie może, ale oprogramowanie to jest wyjątkowe i może to robienie wody z mózgu.

  2. najpierw: nie mam jeszcze ustalonego zdania. mysle o roznych aspetkach.

    porównanie z samochodem jest poniekąd interesujące. jak zamontujesz gaz do samochodu to tracisz gwarancję.
    a w np. systemach operacyjnych grzebiesz (instalujac dodatki) nie tylko przy paliwie, ale i przy hamulcach (firewalle) i całej reszcie.

    choć z drugiej strony – można podejść do tego inaczej. nie wiem. schneier oczywiście też ma sporo racji. który więcej? nie jestem pewien.

  3. No, wiesz – tylko:
    a) nie masz tej gwarancji nawet jak nie grzebiesz
    b) a widziałeś samochód bez hamulców? A OS bez firewalla? No, właśnie 🙂
    c) nie tylko o OSy chodzi.

    Nie zauważam w tym co mówi Alan troski o końcowego użytkownika. Za to troskę o własną grupę zawodową widać bardzo dobrze. O i tyle.

Comments are closed.