コントリビューターポーカーとZigのAI禁止
Zig Software FoundationのLoris Croが、オープンソースプロジェクトにおけるメンテナーとコントリビューターの長期的なゲーム「コントリビューターポーカー」について解説。Zigプロジェクトがなぜ新規コントリビューターに投資するのか、AIによるコントリビューションがプロジェクトにどのような影響を与え、最終的にAI生成コードの全面禁止に至ったかを説明する。
Zig Software FoundationのLoris Croは、オープンソースプロジェクトにおける「コントリビューターポーカー」の概念を詳しく説明し、ZigプロジェクトがなぜAI生成のコントリビューションを全面禁止したのかを明らかにしました。
コントリビューターポーカーとは、メンテナーがコントリビューターの長期的な可能性に賭ける戦略です。成功したオープンソースプロジェクトでは、メンテナーは処理能力を超える数のプルリクエスト(PR)を受け取ります。自分で実装する方が効率的な場合でも、Zigチームは新規コントリビューターがPRを完成させる手助けに力を注ぎます。Croは、これは単に「正しい」からではなく、賢明な戦略だからだと述べています。なぜなら、コントリビューターの真の価値は後の反復に現れるからです。初期投資は、将来のより頻繁で高品質なコントリビューションを得るための賭けなのです。
この戦略により、ZigはRyan Liptak(Windowsの実行可能アイコン設定を実装)やFrank Denis(std.cryptoモジュールを主導)などの優秀なコントリビューターを獲得し、資金規模をはるかに超える成果を上げてきました。
しかし、プロジェクトが成長するにつれ、メンテナーはすべての新規コントリビューターに投資できなくなりました。さらに悪いことに、AI生成コードの氾濫が問題を悪化させました。Croは、AIによる悪質なコントリビューションの典型例として、コンパイルすらできない幻覚コード、1万行を超える巨大なPR、表面は問題なく見えるがAIを使っていることが後で判明するケースなどを挙げています。これらの低品質なPRはメンテナーのレビュー時間を浪費し、優秀なコントリビューターの機会を奪いました。
コントリビューターポーカーの本質は、コントリビューターの長期的な能力と信頼性に賭けることです。AIユーザーはコードに精通しておらず、将来の責任も負わないため、この賭けの対象としてリスクが高すぎます。そのため、ZigプロジェクトはAIコントリビューションを全面禁止しました。Croは、この方針はAIそのものに反対するものではなく、プロジェクトのエンジニアリングエコシステムと長期的な信頼を守るための合理的な判断であると強調しています。