{"meta":{"title":"オープンソース ライセンスのコンプライアンスについて","intro":"オープンソースライセンス コンプライアンスを使用して、リポジトリ内の依存関係のライセンス ポリシーを定義して適用します。","product":"セキュリティとコードの品質","breadcrumbs":[{"href":"/ja/code-security","title":"セキュリティとコードの品質"},{"href":"/ja/code-security/concepts","title":"Concepts"},{"href":"/ja/code-security/concepts/supply-chain-security","title":"サプライ チェーンのセキュリティ"},{"href":"/ja/code-security/concepts/supply-chain-security/open-source-license-compliance","title":"オープン ソース ライセンスのコンプライアンス"}],"documentType":"article"},"body":"# オープンソース ライセンスのコンプライアンスについて\n\nオープンソースライセンス コンプライアンスを使用して、リポジトリ内の依存関係のライセンス ポリシーを定義して適用します。\n\n> \\[!NOTE]\n> オープン ソース ライセンスのコンプライアンスは パブリック プレビュー であり、変更される可能性があります。\n\n## Overview\n\nOpen source ライセンス コンプライアンスは、**依存関係ライセンスを追跡**し、サプライ チェーン内のオープンソース ソフトウェアの**ポリシーを適用**するのに役立ちます。 ライセンス コンプライアンスを使用すると、法的および運用上のリスクを軽減し、変更がマージされる **前に** 不適合の依存関係をキャッチできます。\n\n## ライセンス ポリシーのしくみ\n\n依存関係の使用を許可するライセンスを制御するエンタープライズ ポリシーを定義できます。\n\nライセンスは、組み込みリストから指定することも、ライセンスが一覧にない場合は、SPDX ライセンス識別子を手動で追加して指定することもできます。\n\nポリシーは、エンタープライズ、組織、リポジトリのスコープで定義できるルールセットによって適用されます。\n**Enterprise オープン ソース ライセンス マネージャー**が要求を承認するときに、パッケージまたはライセンスの例外を追加することもできます。\n\nライセンスの評価では、依存関係グラフで検出された推移的な依存関係など、リポジトリからの依存関係データが使用されます。\n\n## プル リクエストの必須化の仕組み\n\nオープン ソース ライセンスのコンプライアンスは、ブランチ ルールセットを通じて適用されます。 プル要求がパッケージ マニフェストを変更すると、 GitHub は基本ブランチとプル要求ブランチ間の依存関係の変更を比較し、検出されたライセンスをポリシーに対して評価し、違反を報告します。\n\n\"マージ前にライセンス コンプライアンスの結果が必要です\" 条件を使用する **アクティブ** モードのルールセットがある場合、非準拠の依存関係を導入するプル要求は、違反が解決されるまでブロックされます。 その条件を持つ **評価** モードルールセットは、ライセンスチェックを実行し、プル要求に注釈を付けますが、マージをブロックしません。\n\nさらに、マージする前にコメント解決を必要とする [ブランチ保護規則](/ja/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule) では、ライセンス チェックからの注釈が追跡されるため、 **Evaluate** ルールセットによって生成されたアラートでも保護の対象となります。\n\n## 結果が表示される場所\n\n依存関係のライセンスがポリシーに含まれていない場合、結果は pull request 注釈に表示されます。 注釈は例外要求を自動的に生成しません。開発者は、非準拠の依存関係を回避するためにコードを変更する可能性があるためです。 依存関係を使用する場合は、 GitHub 開発者に詳細を求め、ポリシーを変更するアクセス許可を持つエンタープライズ オープン ソース ライセンス マネージャーにクロージャ要求を送信します。\n\nエンタープライズ オープン ソース ライセンス マネージャーの場合、保留中の例外要求はエンタープライズ セキュリティ ビューで使用でき、電子メール通知として送信されます。\n\n## スコープとガバナンス モデル\n\n一般的なベースラインのエンタープライズ スコープでポリシーを作成し、必要に応じてリポジトリ固有の例外をレイヤー化できます。\n\n大企業の場合、一般的なパターンは次のとおりです。\n\n* 広範なポリシーを一元的に定義する\n* ポリシーレビュー担当者に Enterprise Open Source License Manager ロールを割り当てる\n* リポジトリのカスタム プロパティを使用して、リポジトリを非アクティブ、評価、またはアクティブとして分類する\n* カスタム プロパティ値を対象とするルールセットを使用して、リポジトリ別の適用モードを制御する\n\n書き込みアクセス権を持つ開発者は、リポジトリのライセンス ポリシー設定ページから、リポジトリの有効なポリシーと例外を表示できます。\n\n## 次のステップ\n\n始めるには、「[オープンソース ライセンス ポリシーの構成](/ja/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-license-policies)」をご覧ください。\n\nルールセットの一般情報については、「[ルールセットについて](/ja/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)」をご覧ください。"}