ソフトウェアの著作権を証明する方法:開発者向けガイド
Maya はフリーランスの開発者で、2025 年初頭にクライアント向けに小規模ながら重要なデータ同期ライブラリを構築しました。18 か月後、クライアントの新しいエンジニアリングチームは、そのライブラリは後の契約に基づいて作成されたと主張し、彼女が他のプロジェクトでそれを使用するのをやめるよう求めます。Maya は元のプロジェクトの Git コミットを持っていますが、ログのスクリーンショットを送っても、クライアントの弁護士はそれを一蹴します。「Git 履歴は書き換え可能です。これらのタイムスタンプは何の証明にもなりません。」
Maya の問題は、証拠がないことではありません。彼女が持っている証拠が断定的であり、検証可能ではないことです。紛争、特許出願、コンプライアンス監査、営業秘密レビューにおいてソフトウェアの著作権を証明するには、コミット日付以上のものが必要です。リポジトリ、プラットフォーム、またはあなたの言葉を信頼することなく、独立した第三者が検証できる暗号学的記録が必要です。
このガイドでは、開発者とコンプライアンス担当者が実際にその記録を作成する方法を説明します。基盤となる OpenTimestamps プロトコルを自動化するマネージドサービスである Timestamp GIT に焦点を当てます。GitHub App を一度インストールするだけで、サービスがバックグラウンドでコミットハッシュをビットコインブロックチェーンにアンカーします。
従来の著作権証明が不十分な理由
ほとんどの開発者は、日付を示す方法をすでにいくつか持っています。問題は、そのどれもが実際の精査に耐えられないことです。
セルフホストの Git 履歴は変更可能です。 Git のコミット日付は改ざん検出機能を備えていません。GIT_AUTHOR_DATE や GIT_COMMITTER_DATE などの環境変数を使用すると、コミットを遡って日付を付けることができます。リベース、フォースプッシュ、履歴の書き換えによって、見かけ上のタイムラインを変更できます。たとえあなたがそうしなくても、相手側は「できたはずだ」と主張できます。
ホスト型 Git プラットフォームはこれを解決しません。 GitHub リポジトリはタイムスタンプを表示しますが、それらのタイムスタンプは独立した存在証明ではありません。それらは GitHub のサーバー、GitHub のアカウントセキュリティ、そして GitHub が法廷でデータを保証する意思または能力に依存しています。アカウントを侵害した攻撃者は、リポジトリの内容を変更できる可能性があります。プラットフォームのポリシー変更により、履歴記録の取得が困難になる可能性があります。
正式な知的財産保護は高価で時間がかかります。 特許には数万ドルの費用がかかり、発行までに数年かかることがあり、非公開にしておきたい情報の開示が必要になる場合があります。フリーランサー、スタートアップ、エージェンシー、小規模チームにとって、特許は第一線の防御策として実用的でないことがよくあります。
より強力なアプローチは、作業の暗号学的フィンガープリントを不変の公開台帳にアンカーすることです。フィンガープリントは一方向ハッシュです。特定のリポジトリ状態が特定の時点で存在したことを証明しますが、その状態の背後にあるソースコードは明らかにしません。台帳がビットコインである場合、証明はレシートファイルとビットコインノードを持つ誰でも独立して検証できます。
これが IP 紛争にとってなぜ重要なのかについてのより深い説明は、暗号学的先行技術とは何か、そしてソフトウェアにとってなぜ重要なのかを参照してください。
Timestamp GIT で著作権を証明するための実践的プレイブック
Timestamp GIT は、OpenTimestamps の上に構築されたゼロセットアップのマネージドレイヤーです。OpenTimestamps コマンドを実行したり、ビットコイン取引を管理したり、独自のタイムスタンプインフラストラクチャを運用したりする必要はありません。GitHub App をインストールし、リポジトリを接続して、コードを書き続けるだけです。サービスが残りを処理します。
ステップ 1:Timestamp GIT GitHub App をインストールする
保護したいリポジトリまたは組織に Timestamp GIT GitHub App をインストールします。
標準モードでは、ソースリポジトリへの読み取り専用アクセスと、証明ファイルが保存されるターゲットリポジトリへの読み取り/書き込みアクセスが必要です。ターゲットは同じリポジトリでも、別のシャドウリポジトリでもかまいません。GitHub はコミットハッシュのみの読み取りアクセスを提供していないため、Timestamp GIT は HEAD コミットハッシュのみを読み取るにもかかわらず、読み取り権限が存在します。
ゼロ知識エンタープライズモードでは、ソースリポジトリへの読み取りアクセスを一切付与しません。代わりに、GitHub Action があなたのインフラストラクチャ上で実行され、コミットハッシュのみを Timestamp GIT API にプッシュします。
開発マシンにインストールするものはありません。ローカルの Git ワークフローは変わりません。
ステップ 2:通常どおりコードをコミットし続ける
App がインストールされると、新しいコミットが現れるたびに Webhook が Timestamp GIT に通知します。エンタープライズのゼロ知識モードでは、代わりに GitHub Action がハッシュを送信します。
通常のワークフローは次のようになります:
git add src/
git commit -m "Implement rate limiter v2"
git push origin main
追加のスタンプコマンドは必要ありません。コミット自体がトリガーです。
ステップ 3:夜間バッチでハッシュをアンカーする
Timestamp GIT はすべてのコミットを個別にアンカーするわけではありません。各コミットハッシュの検証可能なパスを維持しながら、効率性のために作業をバッチ処理します。
毎日、システムは:
- Webhook または GitHub Action を通じて新しいコミットを検出します。
- コミットハッシュをインメモリのキーバリューストアにキューイングします。
- スケジュールされたワーカーで、保留中のハッシュをリポジトリごとのマニフェストファイルにグループ化します。
- 毎日のバッチからマークルツリーを構築します。
- 公開 OTS カレンダーを使用して OpenTimestamps 証明を作成します。
- マークルルートをビットコインブロックチェーンにアンカーします。
ビットコインの確認には通常約 3 時間かかるため、証明ファイルは夜間バッチの数時間後に表示されます。
ステップ 4:証明ファイルを受け取る
アンカーが確認されると、Timestamp GIT は設定した専用の timestamps ブランチまたはシャドウリポジトリに証明資料をプッシュします。
証明には以下が含まれます:
- どのコミットハッシュが含まれていたかを記録するマニフェストファイル
- OpenTimestamps 証明データを含む
.otsレシートファイル
証明ブランチに何が到着したかを確認できます:
git fetch origin timestamps
git ls-tree -r --name-only origin/timestamps | tail
認証済みバッジエンドポイントを通じて、README に検証バッジを埋め込むこともできます。バッジは現在の検証ステータスを表示し、リポジトリの公開ステータスページにリンクします。
ステップ 5:いつでも検証 — Timestamp GIT がなくても
検証は製品の公開ページを通じて利用できます。暗号学的検証ページは、マークルチェーンデータをブラウザ内でローカルに処理するため、サービスはあなたが何を検証しているのかを見ることはありません。
.ots ファイルをダウンロードし、標準の OpenTimestamps ツールを使用してビットコインブロックチェーンに対して独立して検証することもできます。証明は SHA-256 とビットコインブロックデータのみに依存するため、検証に Timestamp GIT がオンラインであり続ける必要はありません。
公開 API を通じて簡単なステータスチェックを行うことができます:
curl -s https://timestampgit.dev/api/statusSummary/your-user/your-repo
完全な台帳については、監査 CSV をダウンロードできます。特定の日については、PDF 証明書をダウンロードできます。
セルフホストおよびエンタープライズデプロイメント
最大限の分離が必要な場合、またはエアギャップ環境で実行する場合、Timestamp GIT はセルフホストライセンス付きの Docker イメージとして利用できます。最小限の Compose スタックは次のようになります:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
その後、次のコマンドで起動します:
docker compose pull
docker compose up -d
docker compose logs -f timestampgit
初回起動時に、セットアップウィザードが GitHub App の接続とインスタンスの設定を案内します。評価用に期間限定のデモライセンスが利用可能です。
エンタープライズのゼロ知識モードでは、あなた自身のインフラストラクチャ上で実行される GitHub Action を使用します。コミットハッシュのみを Timestamp GIT API にプッシュするため、ソースコードが環境から出ることはありません。
ソフトウェアの著作権を証明する際に避けるべきこと
内部ログやバージョン管理のタイムスタンプだけに依存しないでください。 それらは改ざん検出機能を備えていません。裁判所や監査人は、たとえ正確であっても自己都合的なものとして却下する可能性があります。
証明プロセスでソースコードを公開しないでください。 タイムスタンプはコードが存在したことを証明するものであり、その機能を公開するものではありません。一方向ハッシュのみをアンカーするゼロ知識方式を使用してください。これにより営業秘密が保護され、偶発的な開示を回避できます。
消滅したり記録を変更したりする可能性のある独自のタイムスタンプサービスを使用しないでください。 証明がクローズドシステムに依存している場合、仲介者を信頼することに戻ってしまいます。SHA-256、OpenTimestamps、ビットコインなどのオープン標準は、ベンダーなしで検証可能です。
紛争が発生するまで待たないでください。 早期かつ頻繁にタイムスタンプを開始してください。アンカーされたコミットの連続的なチェーンは、証拠を捏造しようとする土壇場の試みではなく、継続的な作業のパターンを示します。
OpenTimestamps への手動アプローチでは、プロトコルを自分で運用する必要があります。Timestamp GIT は、その複雑さを GitHub App と自動化された夜間パイプラインの背後に隠すために存在します。
FAQ
ソフトウェア著作権の暗号学的証明とは正確には何ですか?
ソフトウェア著作権の暗号学的証明は、コード自体を公開することなく、コードの特定のバージョンが特定の時点で存在したことを証明する方法です。コードの一意のハッシュ(フィンガープリント)を作成し、そのハッシュをビットコインブロックチェーンのような不変の公開台帳にアンカーすることで機能します。誰でも後でそのハッシュがその時点で存在したことを検証でき、改ざん不可能な著作権の証拠を提供します。
Timestamp GIT はコードを見ることなく著作権をどのように証明しますか?
Timestamp GIT はゼロ知識アプローチを使用します。実際のソースコードではなく、暗号学的フィンガープリントであるコミットハッシュのみを読み取ります。ハッシュはマークルツリーに含まれ、OpenTimestamps プロトコルを介してビットコインにアンカーされます。ハッシュは一方向であるため、誰もそれを逆にしてコードを見ることはできませんが、タイムスタンプはコードがその時点で存在したことを証明します。
Timestamp GIT が消滅した場合、自分でタイムスタンプを検証できますか?
はい。証明は完全にオープン標準(SHA-256、ビットコイン、OpenTimestamps)に基づいています。標準の OpenTimestamps ツールを使用してビットコインブロックチェーンに対して独立して検証できる .ots レシートファイルを受け取ります。検証に独自の技術やサービスは必要ないため、Timestamp GIT が存在しなくなっても証明は有効です。
これは法的に認められていますか?
公開ブロックチェーンにアンカーされた暗号学的タイムスタンプは、法的手続きにおいて強力な証拠としてますます認識されています。それらは、特定の時点での存在の改ざん検出可能で数学的に検証可能な記録を提供します。法的認識は管轄区域によって異なりますが、そのような証明は内部ログやメールのタイムスタンプよりもはるかに堅牢です。先行技術や著作権を確立するために、裁判所、監査人、または相手方に提示できます。
Timestamp GIT の料金はいくらですか?
公開リポジトリは無料プランでサポートされています。プライベートリポジトリは、月額 49 ドルの Pro Agency プランで利用できます。GitHub Actions を使用するエンタープライズのゼロ知識モードは、月額 199 ドルで利用できます。Docker セルフホスト評価用に期間限定のデモライセンスも利用可能です。
結論:著作権証明をワークフローの一部に
ソフトウェアの著作権を証明することは、開発プロセスを複雑にする必要はありません。Timestamp GIT は、既存の Git コミットをビットコインにアンカーされたレシートに自動的に変換します。ワークフローはゼロ知識であり、ソースコードは非公開のままです。証明はベンダー非依存であり、サービスが消滅しても検証可能です。
Timestamp GIT GitHub App をインストールし、リポジトリを接続して、夜間のアンカー処理をバックグラウンドで実行させましょう。公開リポジトリは無料で開始でき、プライベートリポジトリは Pro プランと Enterprise プランでカバーされます。最初のビットコイン確認が完了すれば、「これを最初に書いたことを証明できますか?」という質問に対する暗号学的な答えが得られます。