結論から書くと、開発会社と連絡が取れなくなったときに最初にやるべきなのは、コードの調査ではなく、ドメイン、サーバー、外部サービスの契約と管理権限を自社に戻すこと です。これらが開発会社の名義やアカウントで管理されていると、更新の通知が届かないまま期限が切れ、サイトもメールも止まる恐れがあります。コードの問題より先に、こちらが表に出ます。
権限を押さえたら、ソースコードとデータを手元に確保し、契約上の権利を確認してから、次の依頼先と調査に進みます。前任者が社内にいた場合の進め方は「前任者がいない PHP システムの引継ぎ調査、最初の1週間でやること」で説明しました。この記事は、相手が外部の会社で、しかも連絡が取れない場合に絞ります。
まず、本当に連絡が取れないのかを確かめる
連絡が取れないと判断する前に、次のことを試します。後の手続きで「連絡を試みた記録」が役に立つこともあります。
- 連絡の手段を変える。 担当者個人のメールだけでなく、会社の代表のアドレス、電話、問い合わせフォーム、書面で連絡します。
- 会社の状況を確かめる。 商号や所在地の変更、登記の閉鎖などは、国税庁の法人番号公表サイトで調べられます。事業を譲った先が分かれば、そちらに問い合わせます。
- 記録を残す。 いつ、どの手段で、誰に連絡したか、返事があったかを残します。
- 書類を集める。 開発や保守の契約書、発注書、請求書、納品物の一覧を集めます。保守の契約が続いているのか、成果物の権利がどう決められていたのかは、ここで分かります。
連絡が取れた場合も、引継ぎの資料(構成、アカウントの一覧、作業中だった内容)を依頼する機会になるので、無駄にはなりません。
契約と管理権限を自社に戻す
ここが最優先です。次のものについて、誰の名義か、更新日はいつか、管理画面に自社の人がログインできるか を一覧にします。
| 対象 | 確認すること |
|---|---|
| ドメイン | 登録の名義、管理している事業者、更新日、管理画面のログイン |
| DNS | どこで管理しているか(ドメインの事業者、サーバー、別のサービス) |
| サーバー | 契約者、更新日、支払い方法、管理画面とファイル転送のアカウント |
| SSL 証明書 | 発行元、更新の方法と期限 |
| 外部サービス | メール送信、決済、地図などの契約者と API キー |
| ソースコードの置き場所 | リポジトリのサービスと、管理者の権限を持つ人 |
名義が開発会社になっているものは、提供元のサポート窓口に、名義の変更や移管の手続きを相談します。手続きの方法は事業者ごとに異なり、契約者本人の手続きが必要な場合もあります。更新日が近いものから順に 進めてください。ドメインが失効すると、サイトだけでなく、そのドメインのメールも止まります。
支払いが開発会社を経由している場合は、支払いが止まった時点でサービスが止まる可能性があります。請求書の明細から、どのサービスの費用が含まれていたかを確認します。
名義を変えられない場合
サーバーは、名義の変更ができなくても、自社の名義で新しく契約して移す方法があります。次の節で確保するファイルとデータベースを使って新しいサーバーに環境を作り、動作を確かめてから DNS を切り替えます。ただし、移す作業そのものに調査が必要なので、急ぐほど慎重に進めます。
ドメインは、同じ名前を別に取り直すことができません。名義の問題が見つかったら、ほかの作業より先に提供元へ相談してください。
開発会社のアカウントは、すぐには消さない
サーバーや外部サービスに残っている開発会社のアカウントや API キーを、確認しないまま削除すると、それを使っていた定期処理や連携が止まることがあります。どこで使われているかを確かめてから、順に無効にします。
ソースコードとデータを手元に確保する
サーバーに自社でログインできるようになったら、何も変更せずに、今の状態を丸ごと取得します。
- 全ファイルのコピー。 公開ディレクトリだけでなく、その外にある設定ファイルやライブラリも含めます。
- データベースのダンプ。 取得した日時を記録し、実際に戻せることを確認します。
- サーバーの設定。 定期処理(
crontab -lや管理画面のスケジュール設定)、.htaccess、PHP の設定、PHP のバージョン。 - 最初のコミット。 取得したコードをそのまま git の最初のコミットにします。以後の変更は、すべてここからの差分として残せます。
ファイル転送やデータベースのパスワードを開発会社しか知らない場合でも、サーバーの契約者であれば、管理画面からアカウントを新しく作るか、パスワードを再設定できることがあります。サーバーの契約自体が開発会社の名義なら、前の節のとおり、契約書や請求書を用意して提供元に相談します。
設定ファイルには、データベースや外部サービスのパスワードが含まれます。コピーを共有するときは、置き場所と、見てよい人を決めてください。開発会社がパスワードを知っている状態なので、権限を押さえた後で、変更できるものから変更していきます。変更の前に、そのパスワードを使っている箇所(設定ファイル、定期処理、外部サービスの設定)を確認しないと、変更した途端に処理が止まることがあります。
権利と契約を確認する
コードを手元に確保できても、自由に改変したり、別の会社に改修を頼んだりできるかは、契約の内容によります。確認するのは次の点です。
- ソースコードの著作権が、どちらに帰属すると書かれているか
- 改変や、第三者への改修の委託について、制限があるか
- 開発会社が持ち込んだ部品(独自のライブラリなど)の扱い
- 保守の契約が今も有効か、解約の手続きが必要か
権利の考え方は、IPA の情報システム・モデル取引・契約書が参考になります。契約書が見つからない、条項の読み方が分からないといった場合は、法律の専門家に相談してください。次の依頼先も、引き受ける前にここを確認します。書類を揃えておくと話が早く進みます。
次の依頼先に渡すものと、調査の進め方
依頼先を探すときは、次のものをまとめて渡せるようにしておきます。
- 上の表で作った、契約と管理権限の一覧(パスワード自体は別の安全な方法で渡す)
- 確保したコードとデータベースの取得日
- 開発会社と連絡が取れなくなった経緯と、集めた書類
- 分かっている不具合と、止まると困る業務
- 近く期限を迎えるもの(ドメイン、サーバー、PHP のサポート)
最初の依頼は、保守の契約ではなく 引継ぎの調査 にすると進めやすくなります。h-system が行った引継ぎ調査では、期間は1週間前後でした。典型的に判明する問題は、ドキュメントが無いことと、ローカルで環境を再現できないことです。規模や状態で変わるため、あくまで一例です。
調査の結果が手元にあれば、保守を誰に任せるかを比べて決められます。依頼の出し方は「「保守だけお願いしたい」が断られる理由と、受けてもらえる依頼の出し方」にまとめています。
h-system でできること
h-system では、開発会社と連絡が取れなくなったものを含め、他社が作った PHP・Laravel のシステムの引継ぎを、開発者本人がお引き受けしています。管理権限の整理の進め方のご相談から、ソースコード、データベース、サーバー環境の調査、構成とリスクの報告までを、状況に合わせて行います。資料が何も無い状態からでも構いません。契約や権利の判断が必要な点は、法律の専門家へのご相談をおすすめしています。初回のご相談と概算のお見積りは無料で、詳細な調査は有償です。範囲と費用は着手前にご案内します。