システム開発契約における損害賠償は、大きく二つに分類される。債務不履行責任に基づく損害賠償責任と、請負の瑕疵担保責任に基づく損害賠償責任である(図1)。それぞれ請求できる期間や起算点が異なるため、よく誤解される。

図1●損害賠償請求権の種類
図1●損害賠償請求権の種類
[画像のクリックで拡大表示]

 債務不履行責任に基づく損害賠償責任は、「債務者がその債務の本旨に従った履行をしないときは、債権者は、これによって生じた損害の賠償を請求することができる」(民法415条)、「特別の事情によって生じた損害であっても、当事者がその事情を予見し、または予見することができたときは、債権者は、その賠償を請求することができる」(民法416条)、と法律で規定されている。損害賠償を請求できる期間は5年間(商法522条)で、その起算点は「権利を行使することができるときから」(民法166条)だ。

 もう一つの、請負の瑕疵担保責任に基づく損害賠償請求権は、民法634条などに規定されている。損害賠償を請求できるのは、原則として「仕事の目的物を引き渡した時から1年以内」とされている(民法637条1項)。

どちらの規定を適用するのか

 例えば、請負型で開発工程の契約を締結し、その成果物であるプログラムにバグが含まれていたとする。法律の文言上は、「債務不履行責任に基づく損害賠償責任」と、「請負の瑕疵担保責任に基づく損害賠償責任」の両方に該当することになる。そこで問題になるのが、損害賠償を請求する際に、前者と後者のどちらが適用されるかだ。

 実は請負の瑕疵担保責任の規定は、民法と商法の一般原則である債務不履行責任の規定よりも優先的に適用される。「民法の請負の瑕疵担保責任に関する規定は、債務不履行責任の規定の特則である」と考えられているからだ。したがって、プログラムにバグが含まれていた場合は、民法・商法の一般原則の規定ではなく、請負の規定が適用されるため、損害賠償を請求できる期間は5年間ではなく1年間となる。

 ただし、請負型の契約に関するすべての損害賠償に関して、この原則が適用されるわけではない。損害賠償の内容によっては、請求期間は1年ではなく5年が適用されることもある。どんなケースだと請求期間が1年で、どんなケースだと5年になるのか、順を追って説明しよう。