欠陥や過失の責任を明らかにする「瑕疵担保責任」とは
請負契約では完成を約束しますので、受注側には瑕疵担保責任(かしたんぽせきにん)が発生します。瑕疵とはあるべき機能が備わっていない欠陥を言います。瑕疵がある場合、提供者には補修や賠償責任が発生し、これが瑕疵担保責任となります。納入されたシステムに瑕疵がある場合、請負った事業者は直さなければなりません。瑕疵担保責任を負う期間は、引き渡し日から1年(民法)。ただし、瑕疵が存在することを知っていたにもかかわらず告げなかった場合は、責任を免れることはできません。契約で瑕疵担保責任期間を6ケ月とした場合は契約が優先されます。
プログラムのバグは明らかに瑕疵に該当しますが、悩ましいのが仕様漏れです。設計段階で仕様が漏れていたなら一般的には発注側の問題となります。仕様が書かれていたのにシステムへの実装で漏れていたなら、受注側の瑕疵になります。検収テストで発注側で漏れなくテストが行われたのかと、発注側のテスト品質の問題に派生してしまいます。
損害賠償についても契約で交わしておいた方がよいでしょう。通常は委託料を限度とします。記載されていない場合や航空機や証券会社など公共的なシステム障害の場合は、現実に被った損害補償を求められ係争となります。