目次
弁護士によるソフトウェア開発委託契約解説
システムやソフトウェアの開発を他社に委託するとき、ソフトウェア開発委託契約を交わす必要があります。ソフトウェアなどの開発技術は目に見えにくく、発注者と受託者の間で認識のズレが生じやすい契約のひとつです。
成果物が目に見えにくく、専門的な知識が求められるため、機能や仕様を文書化せず口頭のみで契約が締結されることも珍しくありません。ソフトウェア開発を委託する際は、開発内容や仕様、責任保証などについて当事者間で明確にしておくことが重要です。
本記事では、ソフトウェア開発委託契約の概要や、気を付けるべきポイントなどを解説します。雛型も紹介していますので、契約書の作成時に参考にしてください。
ソフトウェア開発委託契約とは
ソフトウェア開発委託契約とは、発注者(ユーザー)が、受託者(ベンダー)に対して、ソフトウェアの開発を委託する際に交わす契約のことをいいます。比較的簡単なプログラム開発から、会社の全体にかかわる大きなシステム開発までさまざまなケースが存在するため、状況に応じて適切な契約書を整備しておく必要があります。
ソフトウェア開発においては、開発内容や仕様、発注者の要望などが複雑かつ専門的な内容となるため、当事者間の認識にズレが生じやすくなっています。開発範囲や仕様変更などをめぐり、紛争に発展するケースも珍しくありません。トラブルを回避するためには、契約内容や条件を明確に規定しておくことが重要です。
とはいえ、記載する条項は多岐に渡るほか、文言ひとつで思わぬ不利益につながる規定が設けられている可能性も考えられます。ソフトウェア開発委託契約は、法律案件の中でも専門性が高いため、自社にとって不利な契約にならないよう、契約書の作成や文言チェックを弁護士に依頼することも検討しましょう。
ソフトウェア開発委託契約で気を付けるポイント
ソフトウェア開発委託契約は、形のある物の納品を目的とする契約と大きく異なります。注意すべきなのは、「成果物(ソフトウェア)が目に見えにくい」「仕様変更が度々生じる可能性がある」という点です。
起こり得るトラブルには、以下が挙げられます。
- 指示内容に沿って開発したものの、追加の要望や仕様変更を度々お願いされた
- 成果物が、発注者が希望する機能や仕様を満たしていなかった
- 度重なる修正により、当初の開発期間やコストをオーバーしてしまった
- 成果物の不具合により、発注者に損害が発生した
- 成果物を納品したものの、契約内容と異なると主張され損害賠償を請求された
ソフトウェアの開発にあたり開発内容を明確化していなかったり、開発範囲や仕様が異なると発注者から主張されるケースも多く見られます。取引額が100万~1,000万円と大きな取引になるケースもあるため、トラブルが起きると多大な不利益が被るリスクがあります。
ソフトウェア開発委託契約の締結にあたっては、成果物がどのようなものになるか明確化するとともに、契約後に仕様変更の必要が生じた場合にはどのように対応するか、当事者間で合意しておくことが重要です。
契約にあたり注意すべき内容には以下のようなものがあります。
開発対象を明確化する
専門的な内容が含まれるソフトウェア開発では、成果物の機能や仕様を文書化するのが困難という側面があります。発注者・受託者の間で成果物がどのようなものか特定していなければ、「要望が伝わっていなかった」「必要な機能が含まれていなかった」といったトラブルにつながりかねません。
契約書を作成する際は、開発するソフトウェアに実装するべき機能を特定して、書面に明記しておくことが重要です。また、開発段階で仕様変更が行われる場合は、書面にて仕様変更をする旨を規定しておくのが望ましいでしょう。
業務内容を定め、個別契約を結ぶ
どのような業務を委託・受託するのか、業務内容やその範囲を定めておく必要があります。プログラム開発では、要件定義や基本設計、詳細設計、プログラミング、テストと段階的に進んでいくのが一般的です。そのため、開発途中で仕様変更や再見積もりが必要になることも多くあります。
契約書を作成する際は、取引全体を「基本契約」として締結したうえで、開発プロセスごとの委託業務について、「個別契約」として業務内容と報酬などを別途規定する場合があります。
開発段階ごとに個別契約を結ぶよう合意しておくことで、開発のコスト・期間の算定が比較的容易かつ明確になるという利点があります。また、業務内容に応じて交渉が可能になるため、開発にかかった追加費用を請求できるよう定めることも可能です。
仕様の変更・確定について定める
開発の途中で仕様変更の必要が生じることは、珍しいことではありません。設計を進めるうえで追加機能が必要になったり、発注者側の要望が変わる可能性も考えられます。
このような場合に、
- どのような範囲で変更するのか
- いつまで仕様変更が可能なのか
- 何をもって使用変更を確定するのか
- 変更の場合に生じる金銭的・時間的なコストを誰が負担するのか
といった内容を明確に規定しておく必要があります。
開発途中の使用変更が発生する際は、口頭ベースでやり取りするのではなく、要件定義や設計プロセスごとに文言として残しておきましょう。
受託者としては、仕様変更が確定するまでに行った開発業務について、委託料を請求できるよう定めるのが有利です。発注者としては、仕様変更できる範囲や期限、コストなどを把握したうえで、適切に変更が行われるよう定める必要があります。
納品後の検収方法・期限を規定する
ソフトウェアの開発が完了し、受託者側が成果物を納品した後、その成果物が契約通りのものであるか、発注者側で検査を行います。ソフトウェア開発委託契約においては、成果物が完成してから報酬を請求できるため、成果物の検査方法や引き渡しについて明確に規定しておかなければなりません。
契約書に盛り込むべき内容には、以下が挙げられます。
- 検査をどのような方法で行うのか
- 検査の通知をいつまでに行うか
- 検査の合格をどのように通知するか
受託者としては、納品した成果物が問題なく完成していなければ報酬を請求できないため、不安定な状況に置かれます。補修や交換が請求される可能性もあるため、検査方法や通知の期限を定めるのが一般的といえます。
また、期限内に発注者による通知がなされなかった場合は、「通知がない場合は検査に合格したとみなす」旨を定めておくと、受託者側にとって有利になります。
瑕疵担保責任を規定する
瑕疵担保責任とは、納品した成果物に不具合が生じた際に、受託者であるベンダーが補修や損害賠償などの責任を負うことをいいます。発注者としては、検収後であっても、開発されたシステムやソフトウェアに不具合があったとき、補修や損害賠償を請求したいと考えるのが妥当です。しかし、受託者としては、長期間の間、納品後の不具合について対処するのは負担が大きいと考えられます。
契約書に瑕疵担保責任を規定する際は、当事者間で相談のうえ、以下の内容を規定する必要があります。
- いつまで瑕疵担保責任を負うか
- どのような対処を行うか
- 損害賠償をいくら支払うか
- 補修は有償か無償、どちらで対応するか
瑕疵担保責任を負う期間については、検収完了から6ヵ月~1年が一般的とされています。
著作権等の帰属を取り決める
開発したソフトウェアの著作権等の権利は、原則、受託者(ベンダー)に帰属します。開発過程で生じた著作権や知的財産権などの権利がどちらに帰属するか、契約書に定めておくことが重要です。
受託者としては、一度開発したプログラムやシステムの技術を、会社の資産として再利用したいと考えるのが妥当です。そのため、「著作権等の権利は開発した者に帰属する」と定めるのが有利といえます。ユーザーである発注者としては、従来から保有する著作権等を納品物に適用した場合でも、ソフトウェアを使用できるよう、著作権等の通常実施権を許諾してもらう必要があります。
著作権等の帰属については、権利ごとや部分的に帰属を分けたり、権利はあくまで受託者側に帰属することとし、発注者が目的の範囲内で利用できるよう定めることも可能です。
再委託の可否を定める
対象ソフトウェアの開発にあたり、受託者が他の業者に開発を再委託できるか、契約書に規定しておく必要があります。ユーザーである発注者としては、受託者以外の第三者の企業に経由されたくないケースがあります。受託者による再委任を防ぐために、「発注者の承諾なく、再委任しない」ことを当事者間で合意しておくのが有利といえます。
ベンダーである受託者としては、開発業務を状況に応じて再委託できるように契約したいと考えるのが妥当です。そのため、「開発業務の遂行に必要な範囲において、再委託ができる」ことを合意しておくと有利です。
受託者による再委託を認める場合は、再委託によって問題が起こった場合の責任の所在につついても定めておく必要があります。
委託と委任、請負契約との違い
ソフトウェア開発委託契約は、システムやプログラムなどのソフトウェア開発を企業に委託する契約のことをいいます。こうした業務委託契約は、「請負契約」「委任契約」「業務委託契約」というさまざまな契約に分類されます。民法上の取り扱いが異なるため、契約時には十分に注意しておかなければなりません。
請負契約
請負契約とは、請負人が仕事を完成させることを条件として、相手方がその仕事の結果に対して報酬の支払を約束するという契約です。発注者は、請負人が仕事を完成させたときに報酬を支払う義務があります。
委任契約
委任契約とは、発注者が業務の遂行を相手方(受託者)に委託して、その受託者がこれに承諾するという契約です。受託者は、善良なる管理者の注意義務(善管注意義務)に従って業務を遂行しなければなりませんが、その業務において完成義務はありません。契約どおりに業務を遂行したのであれば、成果地点に関係なく報酬の支払が発生します。
委託契約
請負契約と委任契約が民法上に規定された契約であるのに対して、委託契約は民法上の定義はなく、請負や委任も委託契約のひとつとして含まれます。仕事の完遂を目的とする場合は「請負契約」、業務遂行を目的とする場合は「委任契約」にあたるため、当事者間で業務内容や責任の負担などを考慮したうえで締結するようにしましょう。
ソフトウェア開発委託契約において弁護士がサポートできること
ソフトウェア開発委託契約は、専門的な技術的判断を要するとともに、当事者がソフトウェアのイメージを共有し、言語化することが非常に重要となります。法律上有効な条項を盛り込むとともに、企業の実態に即して反映させる必要があるため、自社のみで作成することは容易ではありません。
弁護士は裁判のプロというだけでなく、裁判になった場合の可能性を考えつつトラブルの発生を予防する「予防法務」のプロでもあります。法務に精通した弁護士が契約書の作成をサポートすることで、起こり得るトラブルを回避できるとともに、当事者双方の安心・信頼を構築することにつながります。
弁護士法人キャストグローバルは、高品質の法務サービスを提供する専門家集団として高い評価を受けてきました。ソフトウェア開発委託契約においてお悩みの方は、弁護士法人キャストグローバルにご相談ください。