Skip to content

生成コードの著作権と安全対策 ​

GitHub Copilot が生成したコードは、誰のものになるのでしょうか。ほかの人が公開しているコードと、偶然そっくりになることはないのでしょうか。このページでは、生成されたコードの権利に関する考え方と、そのリスクを抑えるための仕組みを整理します。

この記事で分かること ​

  • Copilot がコードを生成する仕組みと、公開されているコードと一致する可能性
  • 生成されたコードの所有についての、GitHub の立場
  • 公開されているコードと一致する提案を、表示しないようにするフィルター
  • 一致したコードの出どころとライセンスを確認する「コード参照」
  • 企業向けのプランに含まれる、契約上の保護(知的財産の補償など)
  • 生成されたコードを使う側の責任

試験範囲では、「プライバシー、コンテンツの除外、セーフガードを構成する」(比重 10〜15%)の分野にあたります。

このページは、法的な助言ではありません

このページは、GitHub の公式の資料に書かれている内容を、学習のために整理したものです。著作権やライセンスの扱いは、国の法律や、使い方、契約の内容によって変わります。実際の判断は、所属する組織の方針に従い、必要に応じて専門家に相談してください。

教材と現在の公式情報について

このページは、Microsoft Learn の教材(2024 年)と、GitHub の Trust Center、公式ドキュメント(2026 年 10 月に確認)をもとにしています。両者に違いがある箇所は、本文に明記しています。

用語の整理 ​

用語意味
知的財産(IP:Intellectual Property)人が考え出したものに対する権利。著作権や特許権など
著作権(copyright)文章、音楽、プログラムなどの作品を、作った人が持つ権利
オープンソースライセンス(open source license)公開されているコードを、ほかの人がどんな条件で使えるかを定めた決まり
公開されているコードと一致する提案(suggestions matching public code)Copilot の提案のうち、GitHub で公開されているコードと一致するもの
重複検出フィルター(duplicate detection filter)公開されているコードと一致する提案を見つけて、表示しないようにする仕組み
コード参照(code referencing)提案が公開されているコードと一致したときに、その出どころとライセンスを示す機能
IP 補償(IP indemnity、IP indemnification)Copilot の提案を使ったことで、第三者から知的財産の侵害を主張された場合に、GitHub が法的な責任を引き受ける、という契約上の保護
データ保護契約(DPA:Data Protection Agreement)データをどう保護するかについて、GitHub が約束する内容を定めた文書
Trust Center(トラストセンター)GitHub が、Copilot のセキュリティ、プライバシー、知的財産の扱いなどを説明しているページ

Copilot は、コードをコピーしているのか ​

コピーはしていません。

Trust Center では、次のように説明されています。Copilot は、学習の中で得た一般的なパターンをもとに、確率的に出力を組み立てる AI モデルを使っています。既存のコードや、データベースから、コピーして貼り付けているわけではありません。

一致することはあるのか ​

まれに、あります。

項目内容
一致する割合GitHub の調査では、1% 未満
一致が起きやすい場面 ①コードエディターに、参考にできるコンテキストがほとんどない、またはまったくない場合
一致が起きやすい場面 ②一致した出力が、よく使われる一般的な書き方や手法である場合

Copilot のモデルは、公開されているコードを広く集めたもので学習しています。その中には、著作権のあるコードも含まれています。そのため、出力が、学習に使われたコードに似ることがあります。

権利に関する考え方 ​

一致した出力を使うリスク ​

出力が既存のコードと一致している場合、その出力を使うと、著作権の侵害を主張されるリスクがあります。そうなるかどうかは、使ったコードの量や性質、使い方によって変わります。

Trust Center は、これを**「自分で書いたのではないコードを使うときと、同じリスク」**と説明しています。インターネット上のコードを写したり、ライブラリのコードを再利用したりするときと、同じ種類の注意が必要、ということです。

オープンソースライセンスへの配慮 ​

オープンソースライセンスで公開されているコードを使う場合、ライセンスの条件を満たす必要があることがあります。

条件の例内容
作者の表示コードの作者が誰なのかを示す
ソースコードの公開そのコードを使って作ったもののソースコードを公開する
同じライセンスでの配布決められたライセンスのもとで配布する

条件を満たさないと、コードの持ち主から、著作権の侵害や、ライセンス違反を主張されることがあります。

ただし、出力が既存のコードと一致したからといって、ただちに著作権やライセンスの問題が生じるわけではありません。 問題になるかどうかは、使われたコードの量と性質、適用されるライセンスなど、多くの要素によって決まります。

オープンソースについての方針と手順を定めるのは、それぞれの組織の責任です。Copilot の出力にも、ほかのコードと同じ方針を当てはめます。

出力は誰のものか ​

Trust Center での、GitHub の立場は次のとおりです。

項目GitHub の立場
出力を所有できるかどうかGitHub は判断しない。 所有できるかどうかは、その国の知的財産の法律、出力の長さ、出力がどの程度「表現」とみなされるか、など、多くの要素による
所有できる場合、誰のものかGitHub は、出力の所有権を主張しない

また、Copilot は、別々の利用者に、似た出力を返すことがあります。たとえば、無関係の 2 人が、それぞれ新しいファイルで、同じ有名なアルゴリズムを同じ言語で書き始めた場合、同じ出力になる可能性が高い、とされています。これは、生成 AI に共通する性質です。その場合も、GitHub は所有権を主張しません。

安全対策 ①:公開されているコードと一致する提案のフィルター ​

Copilot には、公開されているコードと一致する提案を見つけて、表示しないようにするフィルターがあります。「Suggestions matching public code」という設定を、Block にすると働きます。Trust Center では、「重複検出フィルター」とも呼ばれています。

フィルターの仕組み ​

項目内容
照合する相手GitHub で公開されているコード
対象になる長さ65 語彙素(lexeme:プログラムを構成する最小の単位)以上。平均すると、約 150 文字
対象になる一致完全に一致するもの、ほぼ一致するもの
一致した場合その出力は、利用者に表示されない

公式ドキュメントでは、「提案と、その前後の約 150 文字のコードを、公開されているコードと照合する」と説明されています。

設定の選択肢 ​

値動き
Block一致する提案、ほぼ一致する提案を、表示しない
Allow一致する提案も表示する。一致した場合は、出どころとライセンスの情報を確認できる(次の節の「コード参照」)

誰が設定するか ​

教材(2024 年)では、次のように整理されています。

範囲設定する人内容
組織(Business、Enterprise のプラン)管理者組織のすべてのメンバーについて、一致する提案をブロックできる
個人のアカウント(自分で契約している場合)利用者本人Allow と Block を、自分で切り替えられる
個人のアカウント(組織から利用枠を割り当てられている場合)—設定の切り替えが固定されていて、組織の方針がそのまま反映される

Trust Center によると、エンタープライズの管理者は、このフィルターをエンタープライズ内のすべての組織に適用することも、それぞれの組織に判断を任せることもできます。

設定の手順 ​

教材(2024 年)での手順です。

組織の管理者

  1. GitHub の画面右上のプロフィール画像から、「Your enterprises」または「Your organizations」を選ぶ
  2. 設定する組織の「Settings」を開く
  3. 左のサイドバーの「Code, planning, and automation」にある「Copilot」を選ぶ
  4. 「Features」を開き、「Privacy」の項目まで移動する
  5. 「Suggestions matching public code」で、「Block」を選ぶ
  6. 「Save」で保存する

個人の利用者

  1. GitHub の画面右上のプロフィール画像から、「Settings」を選ぶ
  2. 左のサイドバーの「Copilot」を選ぶ
  3. 「Features」を開き、「Privacy」の項目まで移動する
  4. 「Suggestions matching public code」で、「Allow」または「Block」を選ぶ

現在の公式ドキュメントでは、個人の設定は、プロフィール画像から「Copilot settings」を開いて変更する、と説明されています。画面の構成は変わることがあるので、実際に設定するときは、最新の公式ドキュメントで確認してください。

フィルターが働かない場面 ​

Block に設定しても、すべての機能で働くわけではありません。

  • 公式ドキュメントでは、Block に対応していない製品は、Allow の場合と同じ動きをする、と説明されています。
  • Trust Center では、このフィルターは、Copilot のコーディングエージェント(作業を任せると、GitHub の側で自律的に進める機能)には適用されない、とされています。

そのため、フィルターを設定していても、生成されたコードを人が確認することは、引き続き必要です。

安全対策 ②:コード参照 ​

コード参照は、提案が公開されているコードと一致したときに、その出どころとライセンスを示す機能です。設定が Allow の場合と、Block に対応していない製品を使っている場合に働きます。

表示・記録される情報 ​

情報内容
提案を追加したファイルの場所ファイルのパスと、行・列の位置
一致した公開コードの URLGitHub.com 上の、該当するファイルへのリンク
ライセンスの種類一致したコードに適用されているライセンス。見つからない場合は、NOASSERTION または unknown と表示される

確認のしかた ​

使い方確認のしかた
コード補完(インラインの提案)一致する提案を受け入れると、IDE のログに記録される。エディターの中には表示されない。対応しているのは、JetBrains の IDE、Visual Studio Code、Visual Studio
Copilot Chat一致がある場合、応答の最後に、似たコードが見つかったという通知と、一致の内容を見るためのリンクが表示される
GitHub の Web サイトのチャット提案されたコードの下に、公開コードの参照が表示される

コード参照の使い道 ​

Trust Center は、コード参照を、次のように使うことを勧めています。

  • 一致した出力を使ってよいかどうかを、出どころとライセンスを見て判断する
  • 必要に応じて、作者を表示する、ライブラリとして取り込む、別の書き方を選ぶ、といった対応をとる
  • ほかのプロジェクトのコードや文書を知る、学習の手がかりにする

契約上の保護 ​

教材では、組織が法的な要件を満たし続けるための仕組みとして、次の 3 つが挙げられています。

仕組み内容
IP 補償Business と Enterprise のプランに含まれる。Copilot の提案が、第三者の知的財産の権利を侵害していると主張された場合に、GitHub が法的な責任を引き受ける
データ保護契約(DPA)データを保護し、データのプライバシーに関する規制に従うために、GitHub がとる対策を定めた文書
Trust CenterCopilot の仕組みについて、セキュリティ、プライバシー、法令への対応、知的財産の保護などの詳しい情報を提供するページ

IP 補償を受けるための条件 ​

ここは、教材と、現在の公式情報で、説明が違います。

条件
教材(2024 年)「Matching public code」の設定を、ブロックにしていること
現在の Trust Center次のどちらかを満たすこと。① 「Suggestions matching public code」を Block にする。② Allow にしたうえで、コード参照で示された、一致したコードのライセンスに従う

現在の Trust Center では、ほかに次の点も説明されています。

  • 補償の対象は、変更を加えていない出力である
  • 補償を受けるには、Microsoft が定める対策に従う必要がある
  • Copilot のコーディングエージェントには、フィルターが適用されない。それでも、エージェントが生成した、変更を加えていないコードは、補償の対象になる
  • Copilot で、ほかの会社が提供する AI モデルを使った場合も、Business と Enterprise の利用者は、補償の対象になる

個人向けのプランについては、教材でも Trust Center でも、IP 補償の対象として挙げられているのは Business と Enterprise のプランです。

使う側の責任 ​

フィルターや補償があっても、生成されたコードを確認する責任は、使う側にあります。

Trust Center は、製品の名前が「Autopilot(自動操縦)」ではなく「Copilot(副操縦士)」であることを挙げて、人の監督なしに出力を生成するためのものではない、と説明しています。Copilot は、開発者の仕事を効率よくするための道具であって、開発者に代わるものではありません。

求められているのは、出どころの分からない、ほかの人が書いたコードを使うときと、同じ注意です。

対策内容
機能のテスト生成されたコードが、求めたとおりに動くかを確かめる
コードの検査検査のツールを使って、問題のある書き方を見つける
セキュリティのテスト脆弱性(セキュリティ上の欠陥)がないかを確かめる
自動実行の防止確認する前に、生成されたコードが自動でコンパイルされたり、実行されたりしないようにする
組織の方針の適用オープンソースについての組織の方針と手順を、Copilot の出力にも同じように当てはめる

この考え方は、「責任ある AI の 6 つの原則」のアカウンタビリティ(AI については、人が責任を負う)と、つながっています。

教材と、現在の公式情報の違い ​

項目教材(2024 年)現在の公式情報
IP 補償を受けるための条件一致する提案を、ブロックに設定するBlock に設定する。または、Allow に設定して、示されたライセンスに従う
フィルターの対象になる長さ約 150 文字を超える提案(「GitHub Copilot の仕組みとデータフロー」で紹介した説明)65 語彙素以上。平均すると、約 150 文字
個人向けのプランの名前Free、Pro、Pro+Free、Pro、Pro+、Max
個人の設定の場所Settings → Copilot → Features → Privacyプロフィール画像 → Copilot settings

訳語の違いに注意 ​

日本語版の教材は機械翻訳です。英語とセットで覚えておくと安心です。

英語日本語版の教材での表記
IP indemnityIP 補償、知的財産の補償
Data Protection Agreement(DPA)データ保護契約
Matching public code一致するパブリック コード
Suggestions matching public codeパブリック コードに一致する候補
Public code filterパブリック コード フィルター
Trust Centerトラスト センター
Allow / Block許可 / ブロック

まとめ ​

  • Copilot は、学習で得たパターンをもとに、確率的に出力を組み立てる。コピーして貼り付けているわけではない。ただし、まれに(1% 未満)、公開されているコードと一致することがある。
  • GitHub は、出力を所有できるかどうかを判断しない。所有できる場合も、GitHub は所有権を主張しない。
  • 「Suggestions matching public code」を Block にすると、約 150 文字以上にわたって公開されているコードと一致する提案が、表示されなくなる。
  • Allow の場合は、コード参照によって、一致したコードの出どころとライセンスを確認できる。
  • IP 補償は、Business と Enterprise のプランに含まれる。教材では、ブロックの設定が条件とされている。現在の Trust Center では、Allow にしてライセンスに従う方法も認められている。
  • フィルターや補償があっても、生成されたコードを確認する責任は、使う側にある。ほかの人が書いたコードを使うときと、同じ注意を払う。

確認問題 ​

このページの内容から作った、自作の問題です。実際の試験問題ではありません。選択肢を選んで「答えを確認する」を押すと、正解と解説が表示されます。

問 1. GitHub Copilot がコードの提案を作る仕組みの説明として、適切なものはどれですか。 (1 つ選んでください)
問 2. GitHub Copilot の出力の所有について、GitHub の立場として適切なものはどれですか。 (1 つ選んでください)
問 3. 「Suggestions matching public code」を Block に設定したときの動きとして、適切なものはどれですか。 (1 つ選んでください)
問 4. 公開されているコードと一致する提案のフィルターが対象にするのは、どのくらいの長さの一致ですか。 (1 つ選んでください)
問 5. IP 補償(IP indemnity)が含まれるプランは、どれですか。 (1 つ選んでください)
問 6. 現在の Trust Center の説明で、IP 補償を受けるための方法として挙げられているものは、どれですか。 (2 つ選んでください)
問 7. コード参照(code referencing)で、一致したコードについて確認できる情報は、どれですか。 (2 つ選んでください)
問 8. 組織から Copilot の利用枠を割り当てられている利用者が、自分の設定画面で「Suggestions matching public code」を変更しようとしました。どうなりますか。 (1 つ選んでください)
問 9. GitHub Copilot が生成したコードを使うときの姿勢として、適切でないものはどれですか。 (適切でないものを 1 つ選んでください)

参考資料と確認の記録 ​

項目内容
最終確認日2026 年 10 月 11 日
検証の状況GitHub の Trust Center の「知的財産とオープンソース」に関する項目、GitHub の公式ドキュメント(2 ページ)、Microsoft Learn の教材(英語版と日本語版)の「契約上の保護と、一致する公開コードの無効化」の単元と照合した。設定の画面を実際に操作しての確認は、行っていない
公式の情報で確認できていない内容組織の設定の、既定の値(Allow と Block のどちらが最初に選ばれているか)。IP 補償を受けるために従う必要がある「Microsoft が定める対策」の具体的な内容
変わる可能性がある内容設定画面の構成と項目の名前、フィルターに対応している製品、IP 補償の条件、プランの名前
注意このページは、法的な助言ではない。著作権やライセンスに関する実際の判断は、組織の方針と、専門家の助言に従うこと