発注・外注の進め方
外注したシステムを自社で持ち続けるために|ソースコード・アカウント・引き継ぎの確認事項
外注して作った業務システムを数年使ってきたが、依頼先と連絡が取りにくくなった。別の会社に改修を頼もうとしたら、ソースコードもサーバーの管理画面も手元になかった――こうした状況は、多くは発注時に確認しておけば避けられます。外注したシステムを自社で持ち続けるために、発注前に確認しておきたい点を整理します。
この記事は、発注者として一般的に確認しておきたい点をまとめたもので、法的な助言ではありません。権利の帰属や責任の範囲は契約書の定めによって決まります。契約条件は個別に確認し、必要に応じて弁護士などの専門家にご相談ください。
「システムを持っている」とはどういう状態か
代金を払って納品を受けても、それだけで自社がシステムを自由に扱える状態になるとは限りません。次の4つが手元にあり、自社の判断で扱えるかどうかがポイントです。
| 要素 | 確認したいこと |
|---|---|
| ソースコード | 納品されるか、権利の帰属と利用できる範囲はどうなっているか |
| アカウント | サーバー、ドメイン、外部サービスの契約者と管理者は誰か |
| データ | 保存場所、バックアップ、書き出しの方法は確保されているか |
| 資料 | 構成、設定、更新手順など、他の人が引き継げる情報があるか |
ソースコードの権利と納品
ソースコードについては、「納品されるか」と「権利がどうなっているか」の2つを分けて確認します。
- 納品の有無:ソースコード一式を受け取れるか、どの形式で受け取るか
- 権利の帰属:著作権などの権利が発注者に移るのか、開発者に残り発注者は利用する権利を持つのか
- 利用の範囲:改修や別の会社への改修の依頼、他の事業での再利用ができるか
- 既存の部品の扱い:開発者が以前から持っている部品や、オープンソースのライブラリの扱い
ソフトウェアの権利は、一般に作成した側に生じるとされています。発注者が権利を持つ、あるいは自由に改修できることを前提にするなら、契約書でその内容を明確にしておくことが大切です。どのような書き方が適切かは、案件や事業の状況によって異なります。契約形態の基本はシステム開発の契約形態とは?請負と準委任の違いで解説しています。
アカウントは自社の名義で
見落とされやすいのが、サーバーやドメイン、外部サービスのアカウントです。開発会社の名義で契約されていると、依頼先を変更する際に移管の手続きが必要になったり、最悪の場合は移管できなかったりすることがあります。
- サーバー・クラウドサービスの契約者と、管理者のアカウント
- ドメインの登録者と、管理画面へのアクセス
- メール送信、決済、地図など、外部サービスのアカウント
- ソースコードの保管場所(リポジトリ)の所有者
- それぞれの費用の支払い者と、請求先
可能であれば、これらは自社の名義で作成し、開発に必要な権限を依頼先に付与する形にしておくと安心です。開発会社にすべての管理を任せる場合も、管理者の情報が共有されているか、移管の方法が決まっているかは確認しておきましょう。
データの保全
システムに蓄積される顧客情報や業務データは、事業にとって最も大切な資産の一つです。
- データがどこに保存されているか
- バックアップの頻度と保管場所、復元の手順
- 必要なときにデータを書き出せるか(CSVなど)
- 契約終了時のデータの扱い
引き継ぎに必要な資料
開発会社を変更するときや、社内で保守を担当する人が変わるときに必要になるのが、引き継ぎのための資料です。
- システムの構成:どのサービスを使い、どのようにつながっているか
- アカウント一覧:利用しているサービス、契約者、管理者
- 環境と設定:本番環境の設定、環境変数などの管理方法(秘密情報の扱いに注意)
- 公開・更新の手順:修正を本番に反映する方法
- バックアップと復元の手順:障害時にデータを戻す方法
どこまでを納品物に含めるかは、見積もりの段階で確認しておきます。後から作成を依頼すると、別途費用がかかることがあります。
発注前のチェックリスト
- ソースコードの納品の有無と、権利の帰属・利用の範囲を契約書で確認した
- サーバー、ドメイン、外部サービスのアカウントの名義を決めた
- データのバックアップと書き出しの方法を確認した
- 引き継ぎ用の資料が納品物に含まれるかを確認した
- 公開後の保守の範囲と、契約終了時の扱いを確認した
見積もりを比較する際にも、これらの項目は重要な比較材料になります。システム開発の相見積もりで比較すべきポイントもあわせてご覧ください。公開後の保守については小規模Webアプリの保守・運用費はどう考える?で解説しています。
すでに外注先に任せきりになっている場合
すでに運用しているシステムで、ソースコードやアカウントが手元にない場合も、今から確認と整理を始めることができます。
- 現状を確認する:使っているサービス、ドメイン、サーバーの一覧と、契約者を開発会社に確認する
- 資料を依頼する:構成や公開の手順など、引き継ぎに必要な資料の作成を相談する
- アカウントの移管を相談する:可能なものから、自社の名義に移す、または管理者として自社を追加する
- データの書き出しを確認する:必要なときにデータを取り出せるかを試しておく
関係が良好なうちに整理を進めておくと、将来、依頼先を変える必要が出たときにも慌てずに済みます。資料の作成やアカウントの移管には作業が発生するため、費用の扱いも含めて相談しましょう。
引き継ぎで起きやすいトラブル
- ドメインの更新が切れる:更新の連絡が前の担当者のメールアドレスに届き、気づかない
- サーバーの支払いが止まる:開発会社が立て替えていた費用の扱いが決まっていない
- パスワードが分からない:管理画面や外部サービスにログインできない
- 公開の手順が分からない:修正したものを本番に反映する方法が分からない
どれも、アカウントの一覧と手順の資料があれば防げるものです。
アカウントやソースコードの扱いは、最初に決めます
Tailboneでは、ソースコードや各種アカウントの扱い、引き継ぎ用の資料を含む納品物の範囲を、着手前のご相談の中で確認しています。自社でアカウントを管理したい、将来は社内で保守したい、といったご希望があれば、最初にお伝えください。契約条件は案件ごとに個別に確認のうえで決めていきます。
よくあるご質問
契約書にソースコードの権利について書かれていない場合はどうなりますか?
契約で定めがない場合の扱いは、法律の規定や個別の事情によって判断されます。一般に、ソフトウェアの著作権は作成した側に生じるとされているため、発注者が権利を持つことを前提にするなら、契約書で明確にしておくことが大切です。具体的な判断は、弁護士などの専門家にご相談ください。
開発会社にアカウントを管理してもらうのは問題ですか?
問題があるとは限りません。開発会社が運用まで担う場合、管理を任せたほうが効率的なこともあります。ただし、依頼先を変更する際に移管できるか、管理者の情報が共有されているかは、事前に確認しておきましょう。
引き継ぎ用の資料には、何が含まれていればよいですか?
システムの構成、使用しているサービスとアカウントの一覧、設定や環境の情報、公開や更新の手順、データのバックアップと復元の方法などです。どこまでを納品物に含めるかは、見積もりの段階で確認しておきます。