システム開発では、1からプログラムを作るよりも、第三者が作ったパッケージソフトウェアを、ベンダーがカスタマイズしてユーザーに提供して開発することが増えています。
ユーザーから開発を依頼されたベンダーが 、パッケージベンダーからソフトの提供を受け、ユーザー向けに仕立て直して提供する形態です。
クラウド上でベンダーが提供するアプリケーションを自社向けにカスタマイズして使用するSaaSなども似たような形態です。
開発期間が短くなるなどのメリットがあるので、多く使われていますが、いざ紛争となると、ベンダーとパッケージソフトベンダーのどちらに責任があるのかが問題になります。
東京地方裁判所平成17年7月27日判決の事件では「ユーザーからベンダーが、システム開発を受注し、パッケージソフトを使用しての開発をしました(契約は、ユーザーとベンダーとの間で、成立)。そして、カスタマイズの要件定義については、ベンダーは、パッケージソフトベンダーに協力を求めたという事案です。
しかし、パッケージソフトベンダーが行っていたカスタマイズ要件の定義が 、いつまでたっても終わらなかったため、ユーザーが、ベンダーとの契約を解除。
ベンダーとしては、パッケージソフトベンダーのせいで、自分達に落ち度はないにもかかわらず、ユーザーとの契約を解除され、損害を被ったとして、ベンダーからパッケージソフトベンダーに対して、損害賠償を求めた事案です。
結果としては、ベンダー側が敗訴しました。
理由としては、「契約は、ユーザー側とベンダー側に成立しており、パッケージソフトベンダーは、ユーザーとの要件交渉を手伝っていただけである。契約上は、本来ベンダーの責任である。プロジェクトがうまくいなかった場合の責任は 、ベンダーにある 」というものです。
この問題は、ベンダー側がパッケージソフトベンダーに任せっぱなしにしたために起きました。
パッケージソフトは、様々なものがあるため、ベンダーとしても、その中身を理解することなく、すべてをパッケージソフトベンダーに任せてしまうことがよくあります。
しかし、いくらパッケージソフトベンダーに任せているといっても、契約上の責任があるのは、ベンダー側です。
パッケージソフトベンダーが明らかに悪い場合には、パッケージソフトベンダーに責任が認められる可能性もあります。
しかし、契約上の責任は、ベンダー側にある以上、ただパッケージソフトベンダーに任せていましたというのは、通用しないのです。
裁判所の考え方は、ベンダー側が、パッケージソフトを使った開発をするなら、ベンダー側も、パッケージソフトについて、それなりの理解とスキルを持っておくべきということなのです。
ベンダー側が、パッケージソフトを理解して対応しなさいといえば、それまでのなのですが、あるベンダーでは、要件定義などの上流工程の間に、パッケージソフトベンダーの要員にも入ってもらい、一緒になって、作業を行ってるところもあります。
「何でも丸投げ」では、法律は保護しないといういい例なのかもしれません。