昔に作ってもらった業務システムを入れ替えたい、あるいは別の会社に保守を引き継ぎたい。ところが、システムの元になっているプログラムの文章(ソースコード)が手元にあるのか、そもそも自社のものなのかが分からない。作った開発会社とは、もう長く連絡を取っていない。そんなご相談は少なくありません。
「古いシステムのソースコードが手元にあるか分からない。開発会社に聞いたら取り戻せるのか」
先に結論をお伝えします。「取り戻せるかどうか」は、まず当時の契約書と納品物で決まります。 ソースコードは、納品物として渡す約束になっていれば請求できますが、約束がなければ、開発会社が渡す義務は必ずしもありません。そのため最初にやるのは、開発会社に連絡する前に、手元の契約書・納品物・請求書を見直すことです(執筆時点:2026年11月)。
この記事では、その確認の順番と、開発会社への聞き方を、チェックリストと質問例つきで解説します。契約や著作権の個別の判断は一般論にとどまるため、必要に応じて弁護士や専門家にご確認ください。
ソースコードを「取り戻せる」とは限らない理由
ソースコード(=システムの設計図にあたる、プログラムの元の文章)が手元になくても、システム自体は動き続けます。そのため、入れ替えや引き継ぎの話が出て初めて「持っていなかった」と気づくことがよくあります。
渡してもらえるとは限らない理由は、開発会社が出し惜しみをしているからとは限らず、多くの場合は契約上の整理にあります。
- 契約書の納品物に「ソースコード」が入っていなかった(動く状態のシステムだけを納める約束だった)
- 開発会社が自社の共通部品を使っており、その部品は他社に渡さない方針になっている
- 契約で「著作権(=作ったプログラムについての権利)」が開発会社に残る形になっていた
- 納品はされたが、受け取った記録や保管先が社内に残っていない
著作権法には、プログラムの複製物を正当に持っている人が、自分で使うために必要な範囲で複製・改変できるという趣旨の規定があります。ただし、これは「ソースコードを渡してもらう権利」を定めたものではありません。ソースコードを受け取れるかどうかは、契約の内容によります。
📰 出典:e-Gov法令検索「著作権法」
IPA(情報処理推進機構)の「情報システム・モデル取引・契約書」は、開発の契約で、納品物や権利の扱いを事前に決めておくための参考資料です。最近の契約では、成果物の範囲や権利の帰属を書面で決めておくのが一般的です。
取り戻せるか確かめる5つの手順
1. 契約書・注文書・納品書を探す
最初に、当時の書類を探します。見つかったら、次の3点を確認します。
| 確認するもの | 見る場所 | 読み取ること |
|---|---|---|
| 納品物の範囲 | 契約書の「成果物」「納入物」の欄、納品書 | 「ソースコード」「設計書」が入っているか |
| 権利の帰属 | 契約書の「著作権」「知的財産権」の条文 | 誰に権利があるか。自社に移る条件(支払い完了など)があるか |
| 保守・再委託の条件 | 保守契約書 | 契約が終わったとき、成果物をどう扱うか |
書類が見つからないときは、経理に請求書や支払いの記録がないか聞くと、開発会社の名前と時期が分かります。それを手がかりに、開発会社に契約書の写しを依頼できます。
2. 社内に「納品物」が残っていないか探す
契約書の次は、実際に何かを受け取った記録を探します。ソースコードは、次のような場所に残っていることがあります。
- 納品時にもらった USB メモリや DVD、共有フォルダの圧縮ファイル
- 当時の担当者のメールの添付ファイル
- GitHub などのコード管理サービス(=ソースコードの変更履歴を保管するサービス)で、自社のアカウントに招待されたことがあるか
- サーバーの中(動かすために必要な形で置かれていることがある)
ここで注意したいのは、サーバーにあるファイルが、そのままソースコードとは限らないことです。動かすための変換後のファイル(実行ファイルなど)しかない場合、人が読んで修正できるソースコードとしては使えません。確認は、システムに詳しい人や別の開発会社に、中身を見てもらうのが確実です。
3. 開発会社の現状を確かめる
社内を探して見つからなければ、開発会社に問い合わせます。その前に、次のことを調べておくと話が早く進みます。
- 会社は今も存在するか(社名の変更、合併、事業の譲渡がないか)
- 当時の担当者が在籍しているか。いなくても、会社の代表窓口で問い合わせできるか
- 保守契約が続いているか。続いていれば、その窓口が最も早い
連絡が取れない場合は、無理に推測せず、法務の専門家や商工会議所などの相談窓口に相談する道もあります。
4. 開発会社への依頼は、事実の確認から始める
連絡が取れたら、いきなり「ソースコードをください」と求めるより、まず事実を確かめるほうが穏当で、結果的に早く進みます。
- ソースコードが保管されているかを聞く(開発会社側にも、古い案件の保管期限があることがあります)
- 契約上、どう扱われる約束だったかを、双方の書類で突き合わせる
- 渡してもらえる場合の形式(コード管理サービス、ファイル一式など)と、作業の費用・期間を確認する
- 渡せない場合は、理由と、代わりの手段(保守の継続、別の形での引き継ぎなど)を聞く
開発会社は、古い案件のコードを探したり、取り出して整えたりするのに作業が必要です。その作業が有料になるのは、一般的にありうることです。金額の妥当性は、作業内容の内訳を見て判断します。
5. 手元に来たら「使える状態か」を確かめる
ソースコードを受け取っても、それだけではシステムを再現できないことがあります。受け取った時点で、次を確認します。
- 動かすために必要な設定ファイル、データベースの構造、外部サービスとの接続情報の一覧が揃っているか
- 使われている部品(ライブラリ=他の人が作った共通の部品)の一覧と、バージョンが分かるか
- 実際に新しい環境でビルド(=ソースコードから動くシステムを組み立てること)して、動くか
パスワードやキーなどの秘密情報は、受け渡しの書類に書かず、別の安全な経路で扱うよう取り決めます。
契約が見つからない・渡してもらえないときの考え方
ソースコードが入手できなくても、入れ替えや引き継ぎが不可能になるわけではありません。状況によって、次の選択肢が考えられます。
| 状況 | 考えられる進め方 | 注意点 |
|---|---|---|
| 契約上は自社のものだが、開発会社が見つけられない | 保管先の再探索を依頼し、出てこなければ現行システムの調査へ | 時間がかかるので、期限を決めて相談する |
| 契約上は渡す約束がない | 有償での提供・譲渡を相談する、または保守を継続する | 費用と、将来の再利用の範囲を契約に書く |
| 開発会社が既に存在しない | 現行システムの動作を調べ、仕様を整理して作り直す | 入れ替えの前の調査が必要になる |
入れ替えを考えている場合は、現行システムの仕様を整理する作業が欠かせません。その進め方は、次の記事で解説しています。


古いシステムを改修するか、乗り換えるか、作り直すかの判断軸は、こちらの記事が参考になります。


やりがちな失敗
- 契約書を確認する前に、開発会社へ「渡してほしい」と連絡する:約束の内容を知らないまま話すと、交渉の足場がなくなります。
- サーバー上のファイルを、ソースコードだと思い込む:実行用の形に変換されたものだと、修正に使えません。
- ソースコードが手に入ったことで安心する:動かすための設定やデータの構造が揃っていなければ、再現できません。
- 古い案件の関係を、感情的にこじらせる:開発会社を責める形になると、協力を得にくくなります。事実の確認と、今後の取り決めに話を絞ります。
発注者がやること チェックリスト
- ☐ 当時の契約書・注文書・納品書・請求書を探した
- ☐ 契約書の「成果物」「著作権」の条文を読み、ソースコードが納品物に入っているか確かめた
- ☐ 社内の USB・共有フォルダ・メール・コード管理サービスに納品物が残っていないか探した
- ☐ 開発会社が今も存在するか、保守契約が続いているかを確かめた
- ☐ 開発会社への問い合わせは、まず事実の確認から始めることにした
- ☐ 受け取ったあとに確認する項目(設定・部品の一覧・ビルドして動くか)を決めた
- ☐ 契約や権利の読み方に迷う点は、弁護士や専門家に相談する予定を入れた
開発会社への質問例
- 「当時の契約書の写しをいただけますか。納品物の範囲と、著作権の扱いを確認したいです。」
- 「当社のシステムのソースコードは、現在も保管されていますか。保管場所と形式を教えてください。」
- 「ソースコードを提供いただく場合、作業の内容、費用、期間はどのくらいになりますか。内訳も教えてください。」
- 「提供いただくときに、設定ファイルや使用している部品の一覧、ビルドの手順も合わせて受け取れますか。」
- 「提供が難しい場合、保守の継続や別の形での引き継ぎなど、代わりの方法はありますか。」
まとめ
ソースコードを取り戻せるかどうかは、当時の契約と納品物で決まります。連絡する前に契約書と社内の納品物を確かめ、開発会社には事実の確認から入る。この順番を守ると、話がこじれにくく、結果も早くなります。
手元に来たあとも、設定や部品の一覧が揃い、実際に動かせるかまで確かめて初めて「取り戻せた」といえます。まずは、書庫や共有フォルダから当時の契約書を探すところから始めてみてください。
あわせて読みたい関連記事













