IT訴訟解説:保守で見つかった不具合の責任を争った裁判「OSやミドルウェア由来の不具合まで、わが社のせいにしないでください」

0

2025年01月08日 07:11  @IT

  • チェックする
  • つぶやく
  • 日記を書く

@IT

写真

 新年明けましておめでとうございます。旧年中も本連載を多くの方々にお読みいただき誠にありがとうございました。


【その他の画像】


 AI(人工知能)の急速な普及などを見ても、ITの世界の発展や変化は目覚ましいものがありますが、IT紛争の世界はというと、相変わらずベンダーとユーザーが約束を守っていない、責任を果たしていないという応酬であり、どうやらこうしたことはアジャイルであろうとクラウドであろうとあまり変化がないように思います。


 結局のところ技術がいかに進歩しても、それを扱うのが人間である以上、言った言わない、やるやらないという争いは避けようがないのかもしれません。


 IT自体はロジカルかつ正確な世界であってもそれを人間が作るとなった途端、抜け漏れや勘違い、感情的なえぐれから逃れることはできず、またそれらを全て予防できるようなチェックリストもツールも存在しません。


 だからこそ私たちは、過去に先達が直面した人間臭く、時には非論理的な問題を自分ごととして捉え、未来に生かすことが大切なのだとの思いを新たにしているところです。


 本年もよろしくお願いいたします。


●開発時の責任範囲と保守管理時の責任範囲


 新年第1回は、保守管理フェーズに入ったシステムにおける責任分担に関する裁判を紹介する。


 システムを開発したベンダーがそのままシステムの保守も請け負うことはよくあるが、契約の内容によってはその責任範囲が開発時と変化してしまうことがある。


 例えば発注者であるユーザー企業がシステムのOSやミドルウェアを別途手配し、ベンダーはその上にアプリケーションを開発した場合、同じベンダーがシステムの保守管理を請け負ったはいいが、システムが正常に動作しなかった場合、そしてその原因がOSやミドルウェアにある場合、保守管理を請け負ったベンダーはどこまでの責任を負うのであろうか。


 無論、保守管理の契約を締結する際に、責任範囲が明確に文書化されていれば問題はない。しかし実際には、そうした細かい取り決めなどは行わず、作業時間と人員、そして基本的な業務内容だけが記された契約書や発注書が取り交わされる場合も多い。


 そうしたシステムが正常に動作しなかったとき、保守管理を請け負ったベンダーは「アプリケーションの正常動作にだけ」責任を負うのか、それとも「システム全体の正常動作」に責任を負うのか、どちら契約上の「債務」なのだろうか。


 事件の概要から見ていこう。


---


広島高等裁判所 平成14年12月24日判決より


特別養護老人ホームを運営する社会福祉法人(以下、ユーザー企業)が、財務会計、固定資産管理、栄養給食管理などのシステムの導入、およびその保守管理契約をベンダーと締結し、ベンダーはこれに従って開発を実施後、同システムの保守管理を実施していた。なお、開発に当たって、ハードウェアおよび必要ソフトウェア(OS、ミドルウェアなど)については、ユーザー企業が別途プロバイダーとリース契約を結んで導入した。


しかしながら、開発したシステムは正常に動作せず、保守管理の各システムについては全く役に立たないものしか作成できず、ベンダーによる保守管理作業においても問題は解決しなかった。ユーザー企業はシステムの不具合についてはベンダーの保守管理作業で解決するのが契約上の債務であるとして損害賠償を求めたが、ベンダーは不具合の原因にはユーザー企業が別途契約したソフトウェアにも原因があり、それらは保守管理作業の責任範囲ではないと反論した。


出典:裁判所Webサイト 事件番号 平成15(ネ)329


---


 この裁判には他に幾つも論点があり、それがまた複雑に影響し合っているので、判決文はここに示したようなシンプルな問題ではないのだが、読者に役立ちそうなところを抽出し、つなぎ合わせて紹介したことはご容赦いただきたい。


●開発と保守では責任範囲が違うのか?


 少し補足すると、システムが正常に動作しなかったのにはアプリケーションの不具合も確かにあり、その点はベンダーの責任を否定できない。


 ただ、不具合の中にはユーザー企業が別途契約したソフトウェアとのいわゆる「相性」の問題もあったようで、そこに明確な瑕疵(かし)があったわけではないらしい。そして「システムが全く動かない」というよりも、「そこかしこに不具合がある」という状態でもあったので、納品以降の修正は保守契約の中でやっていこうということになったようだ。


 とはいえ、システムは業務に耐え得るものではなく、ユーザー企業はベンダーの責任で正常に動作するようにしてほしいと求めたが、ベンダーは「不具合の中には自分たちが作っていない部分が問題となっているものもあり、そこまでの責任は持てない。保守管理の責任は自分たちが作ったアプリケーションのみである」と反論している。


 保守に関する契約でベンダーの責任範囲や具体的な業務内容などを開発の契約とは別に検討して明記するなどすればこうした問題は起きなかったのかもしれない。実際、その点を注意している読者もいるだろう。しかし本件のように、契約内容をあいまいにしたために後で問題になるケースも多いのではないかと思う。


 「アプリケーションを作って保守を請け負うのだから、対象となるのはアプリケーションだけであって、それ以上は責任を持ちかねる」というベンダーの考え方は、一応は筋が通っているように見える。他方で、「開発契約については確かにアプリケーションのみを責任範囲とすればよいが、保守管理契約とは一般的にシステム全体の安定稼働を保証するために結ぶものであり、開発契約とは別の責任範囲になるはずである」という論も理屈ではある。


 さて、裁判所はどのように判断したのだろうか。


●アプリの正常動作に必要な対処をするのも保守の責任


---


広島高等裁判所 平成14年12月24日判決より(つづき)


(本件システムの)保守管理の内容としては、自らが製作供給したソフトウェアが当初の目的通りに有効に作動する状態に置くことをベンダーの義務とするものと解すべきところ、


(中略)


(ベンダーが責任を果たしたと言うためには)仮にベンダーの供給したソフトウェア以外の問題に起因する不具合であったとしても、


(中略)


供給したソフトウェアが有効に作動する状態に置くことを内容とするベンダーの義務に反することを否定することはできない


---


 少し持って回った言い方だが、要するに、「自らが製作したアプリケーション以外の問題が原因であっても、アプリケーションが正常に動作しないのであれば、対処する責任を負うのは保守管理者である」ということだ。


 システムを開発し、そのまま保守管理を請け負うベンダー(通常、こうした契約が多いと思う)には注意が必要かもしれない。システムを開発する際の請負契約と保守管理を請け負う場合とでは、責任の範囲が分けて考えられるということだ。


 どのように分けるのかは、それこそ契約の文言による。


 開発時は、「ベンダーが作成するアプリケーションの動作が正しいことは保証するが、その土台であるOSやミドルウェアについて責任は負わない」という場合もあるし、「それらも含めて責任を負う」という場合もある。保守管理時も「アプリケーション部分のみを保守する」場合と、「OS、ミドルウェア全てを含めたシステム全体を対象とする」場合もある。


 注意したいのは「システム開発時点で責任範囲をアプリケーションのみとしても、それが当然に保守管理の範囲となるわけではなく、保守管理の契約においては、また新たにベンダーの責任範囲を確認する必要がある」ということだ。


 開発するベンダーと保守管理をするベンダーが異なる場合を想定すれば、ごく自然なことである。会社Aが作ったシステムの保守管理を別の会社Bが請け負うとき、Bの担当者は自分たちの責任範囲がアプリケーションのみなのかシステム全体なのかを確認した上で見積もりし、契約するはずだ。


 しかし自分たちが作ったアプリケーションを含むシステムの保守管理となると、その範囲はアプリケーションのみであると誤解してしまうことは十分にあり得る。例えば、アプリケーション開発において、OSやミドルウェアは発注者側が別途調達したものである場合、開発中ならOSの不具合で正常に動作しないなら、それは発注者側が解決の責任を持つかもしれなかったが、保守管理となった途端に今度はベンダー側の責任になってしまう。この判決はそうした区別をしっかりと認識し、おのおのに明確な約束が必要であることを示唆している。


 発注者からすれば、システムの保守にシステム全体の安定稼働を期待するのは当然のことだ。しかし開発した保守管理者にとってそれは当然ではないかもしれない。ここを明確にするため、開発後の保守フェーズに入るには、業務内容や責任範囲、特にシステムが正常に動作しない場合のいわゆる異常系について明確にしておく必要がある。ベンダーの営業担当者各位には重々認識していただきたい。


●細川義洋


ITプロセスコンサルタント。元・政府CIO補佐官、東京地方裁判所民事調停委員・IT専門委員、東京高等裁判所IT専門委員NECソフト(現NECソリューションイノベータ)にて金融機関の勘定系システム開発など多くのITプロジェクトに携わる。その後、日本アイ・ビー・エムにて、システム開発・運用の品質向上を中心に、多くのITベンダーと発注者企業に対するプロセス改善とプロジェクトマネジメントのコンサルティング業務を担当。独立後は、プロセス改善やIT紛争の防止に向けたコンサルティングを行う一方、ITトラブルが法的紛争となった事件の和解調停や裁判の補助を担当する。これまでかかわったプロジェクトは70以上。調停委員時代、トラブルを裁判に発展させず解決に導いた確率は9割を超える。システム開発に潜む地雷を知り尽くした「トラブル解決請負人」。2016年より政府CIO補佐官に抜てきされ、政府系機関システムのアドバイザー業務に携わった



    ランキングIT・インターネット

    前日のランキングへ

    ニュース設定