コラム

システム開発の法律

プログラムのバグは「瑕疵」にあたるか

「瑕疵」とは、要するに欠陥のことをいい、契約で定めた品質を充たしていない場合に、納品物に瑕疵があると認められます。納品物に瑕疵がある場合には、発注者は、修理・補修を要求したり、損害賠償を請求したりすることができます。

システム開発の現場では、発注者は、当然に不具合(バグ)のないプログラムを発注していますから、不具合(バグ)=瑕疵とも考えられます。他方で、プログラムを開発し、納品したあとで、プログラムの不具合(バグ)が発見されることは、決して珍しいことではありませんので、全て不具合(バグ)があれば、それを瑕疵とみなすのは、行き過ぎのようにも思えます。

この点が争われた裁判例(東京地判平成9年2月18日)では、裁判所は次のように判示して、不具合(バグ)があれば、必ずプログラムに瑕疵があると認められるわけではないとしました。

「コンピューターソフトのプログラムには右のとおりバグが存在することがありうるものであるから、コンピューターシステムの構築後検収を終え、本稼働態勢となった後に、プログラムにいわゆるバグがあることが発見された場合においても、プログラム納入者が不具合発生の指摘を受けた後、遅滞なく補修を終え、又はユーザーと協議の上相当と認める代替措置を講じたときは、右バグの存在をもってプログラムの欠陥(瑕疵)と評価することはできないものというべきである。」
このように、裁判所は、バグがあれば、即ちプログラムに瑕疵があるというわけではないと示しました。具体的には、バグが発見されても、遅滞なく補修をし、又は代替措置を講じられれば、そのバグは瑕疵にはあたらないとしたのです。

そのうえで、
「これに対して、バグといえども、システムの機能に軽微とはいえない支障を生じさせる上、遅滞なく補修することができないものであり、又はその数が著しく多く、しかも順次発現してシステムの稼働に支障が生じるような場合には、プログラムに欠陥(瑕疵)があるものといわなければならない。」
と判示し、バグであっても瑕疵になりうる場合として、
①システム機能に与える支障が軽微とはいえない

②補修できないor多数のバグが順次発現してシステムが稼働できない
を挙げています。

このように、納品後にバグが発見されたとしても、速やかに補修等の対応ができていれば、プログラムに瑕疵があるとして、損害賠償請求等が認められる可能性は非常に低いといえます。他方で、バグが速やかに補修等できるものではない場合には、瑕疵と評価される可能性が高まりますので、発注者との間で、今後の処理について慎重に交渉する必要が生じてきます。
弊所ではシステム開発トラブルに関するご相談やご依頼をお受けしておりますので、ご気軽にお問合せください。
お問い合わせフォームはこちら

PAGE TOP