Linuxカーネルが「AI利用ルール」を公式化 — Signed-off-byの禁止とAssisted-byタグの全容

はじめに

世界最大のオープンソースプロジェクトであるLinuxカーネルが、AIコーディングアシスタントの利用に関する公式ガイドラインをドキュメントツリーに追加した。Hacker Newsで456ポイントを獲得し、大きな注目を集めている。提案者はNVIDIAのSasha Levin氏(Linux LTSカーネルの共同メンテナ)。AIを禁止するのではなく、「透明性と人間の責任」を軸に据えた実務的なルールだ。この記事では、ガイドラインの具体的な内容と、それがエンジニアの日常開発にどう影響するかを解説する。

ガイドラインの3本柱 — 何が定められたのか

新たに追加された Documentation/process/coding-assistants.rst は、AI利用に関して3つの明確なルールを定めている。

1. Signed-off-byはAIに禁止

最も重要なルールがこれだ。「AI agents MUST NOT add Signed-off-by tags」と明記されている。Linuxカーネルの Signed-off-by タグは、Developer Certificate of Origin(DCO)への法的な同意を意味する。コードがGPL-2.0互換であること、自分が提出する権利を持っていることを証明する署名だ。

法的責任を負えるのは人間だけであり、AIがこのタグを付けることは許されない。AIが生成したコードであっても、人間の開発者が全内容をレビューし、自らのSigned-off-byを付けて提出する。つまり、コードの品質・ライセンス適合性・セキュリティ上の問題は、すべて人間が責任を負う。

2. Assisted-byタグによる透明性の確保

AIが開発に関与した場合、新たに定義された Assisted-by タグをコミットメッセージに含める必要がある。フォーマットは以下の通りだ。

Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]

たとえば、Claude Opusとcoccinelle(カーネル用の静的解析ツール)を使った場合はこうなる。

Assisted-by: Claude:claude-3-opus coccinelle sparse

興味深いのは、記載対象となるツールの範囲だ。coccinelle、sparse、smatch、clang-tidyといったカーネル特有の静的解析ツールは記載するが、git、gcc、make、エディタといった基本的な開発ツールは含めない。AIの関与を「特別な支援」として扱い、標準的な開発ツールとは区別している。

3. ライセンス・開発プロセスの完全準拠

AI生成コードであっても例外はない。GPL-2.0-only互換であること、SPDXライセンス識別子を正しく使用すること、カーネルのコーディングスタイルに準拠すること、パッチ提出の標準プロセスに従うこと — すべてが求められる。AIが書いたからといって品質基準が下がることはない。

なぜ「禁止」ではなく「ルール化」なのか

Linuxカーネルコミュニティがとったアプローチは、AI利用を禁止する方向ではない。この点は注目に値する。

背景にはLinus Torvalds氏の現実的な判断がある。悪意のある開発者はAI利用を申告しないため、禁止しても実効性がない。だからこそ、ルールの対象は「善意の開発者」だ。責任ある使い方を促す開示メカニズム(disclosure mechanism)として設計されている。

このアプローチは、Linuxカーネルの長い歴史を考えると自然な流れでもある。カーネルコミュニティはパッチベースのワークフロー、コードレビュー文化、DCOといった仕組みを生み出し、広くオープンソース界に広めてきた。AIガバナンスにおいても、業界標準を先導する立場を取ったと言える。

AI設定ファイルの統一管理

ガイドラインと同時に、主要なAIコーディングアシスタント向けの設定ファイルもカーネルのリポジトリに追加された。対象はClaude、GitHub Copilot、Cursor、Codeium、Continue、Windsurf、Aiderなど。これらの設定ファイルはシンボリックリンクで中央のドキュメントファイルに統一されており、どのツールを使っても一貫したルールが適用される仕組みだ。

これは単なるドキュメント追加ではない。開発環境レベルでAIの振る舞いを制御するという、実装を伴った施策だ。たとえば、AIが自動的にSigned-off-byを付けてしまうことを設定で防止できる。

エンジニアへの影響 — 自分のプロジェクトにどう活かすか

Linuxカーネルのルールは、カーネル開発者以外にも示唆に富む。

1. 「AIが書いた」で終わりにしない文化の構築

多くの開発チームでは、AI生成コードが事実上ノーチェックでマージされている現実がある。カーネルのアプローチは「AIが書いたコードこそ人間がレビューすべき」という明確な立場だ。自社プロジェクトにおいても、AI利用時のレビュー基準を設けることは有効だろう。

2. AI利用の透明性を仕組みで担保する

Assisted-byタグのような開示の仕組みは、チーム開発でも参考になる。コミットメッセージやPRのテンプレートにAI利用の有無を記録するフィールドを追加すれば、コードベースの品質管理やインシデント発生時のトレースに役立つ。

3. ライセンスリスクの再認識

AIが生成したコードのライセンスは曖昧になりがちだ。特にOSSプロジェクトでは、AI生成コードが学習データに含まれる他プロジェクトのコードと類似する可能性がある。GPLプロジェクトへの貢献時にはライセンス確認を怠らないという意識を改めて持つべきだ。

まとめ

  • Linuxカーネルが、AIコーディングアシスタントの公式利用ガイドラインを策定した
  • 核心は「AIにSigned-off-by禁止」「Assisted-byタグで開示」「人間が全責任を負う」の3点
  • 禁止ではなく透明性を重視する現実的なアプローチであり、主要AIツール向けの設定ファイルも同梱
  • 世界最大のOSSプロジェクトが示したこの方針は、AI時代の開発ガバナンスの基準として広く波及していく可能性が高い

ソース