結局、請負契約なのか準委任契約なのか。
簡単におさらいをしておくと、IT開発における請負契約ではあくまで仕事の成果物は納品されたモノであり、とにかくユーザの望むものを納期通り作ってくれさえすれば、ベンダ側の誰がどのように作業をするのかについて、ユーザは口出ししません。
例えば、オーダーメイドで洋服を作る際、注文者は服の形やサイズ、生地等についての要望は出しますが、誰がどのように型紙をとり、生地を裁ち、縫製するかについては、受注した洋服屋さんにお任せです。
注文者が縫製工場に行って、作業の内容に口を出したり、作業者が誰かについて要望をすることは、通常ありません。その代わり、でき上がった洋服のサイズや形が注文と異なっていたり、傷や汚れなどがあれば、受注者にはこれを無償で修補する義務が生じます。
一方で準委任契約は、本来ならユーザが自分でやるべき作業を、専門家に代わってやってもらう、あるいは手伝ってもらうというイメージになります。社内システムを自分達で開発したいが、そんなスキルを持った人間はいない。ならばシステム開発ができる外部のベンダに代わりにやってもらおうというわけです。
この場合、システムができ上がるまで全てをベンダにお任せするのではなく、例えば作業のスケジュールや段取り、実装する機能や品質確保の為のレビューやテストの方法をユーザが決めてベンダに指示するのが基本です。
仕事の成果物はモノではなく、ベンダの労力そのものということになります。もちろん、ユーザが「この部分はベンダさんの決めた通りにやってください」と一部の裁量をベンダに任せてしまうことも多いのですが、それでも結果的にでき上がりの納期やモノの品質、出来栄えについて、ベンダは責任を負いません。ベンダは、ユーザの指示に従って能力と労力を提供する責任はありますが、ソフトウェアに不具合があっても、それを無償で修補する責任はありません。
以上が請負契約と準委任契約のおおまかな説明ですが、この事件の契約はどうでしょうか? 成果物はプログラムやドキュメントという"モノ"であり、"動作保証"もすることになっているわけですから、その意味では額面通りの"請負契約"ということになります。
しかし一方で、このプロジェクトではベンダの作業が"ユーザの指示"に基づいて行われます。しかも、作業量を1人月、又は2人月相当としている部分についても、モノはともかく、時間によって仕事の量が測られるという準委任の特性を持っています。
この事件はまさに、この契約が請負なのか準委任なのかで判断が分かれる、まるで契約形態を学習する上での教科書のような事件です。
もしも、これが請負契約ならば、不具合のあるソフトウェアが納品物として認められず、対価の支払いを拒むことができるかもしれません。「不良品に金なんか払えるか!」というわけです。しかしこれが準委任契約なら、ソフトウェアの不具合に関係なく、ベンダは働いた分だけ費用を請求できます。「働いた分は下さい」というわけです。