- オープンソースは伝統的に trust and verify モデルの上で動いてきた
- AIツールの普及により コントリビュートへの参入障壁が事実上なくなり、従来の暗黙的な信頼モデルはもはや機能しなくなっている
- コントリビュート前に信頼を明示的に保証(vouch) しなければ参加できないよう設計された、オープンソースの信頼管理システム
- 信頼されたコントリビューターは他のユーザーを vouch でき、悪意ある行為者は denounce(非難・告発) によって明示的にブロック可能
- denounce は公開記録として維持され、他のプロジェクトが参照可能
- 誰が、どの基準で vouch / denounce するかは 各プロジェクトが自律的に決定
- システムは特定の価値観を強制せず、ポリシー決定はコミュニティの役割
- すべての信頼データはリポジトリ内の 単一のプレーンテキストファイル(VOUCHED) としてコードとともに バージョン管理 され、透明性と移植性を保証
- 長期的には、プロジェクト間で 信頼の網(Web of Trust) を形成し、信頼情報を共有する構造を目指す
- 上位プロジェクトの判断をそのまま受け入れるかどうかは 下位プロジェクトが選択
- 無分別に vouch / denounce を行うプロジェクトは 信頼ネットワークから自然に排除可能
- GitHub Actions と 簡単に連携可能 で、Issue や PR コメントで
lgtm, denounce のようなキーワードにより管理できる
- Ghostty はコントリビューションモデルを vouch ベースのシステムに移行
- Pi プロジェクトに着想を得て実装され、現在は 実験的段階
提供されるコマンド
- ローカルファイル
vouch.nu check <user>: ユーザーの vouch / denounce 状態を確認
vouch.nu add <user>: ユーザーを vouch
vouch.nu denounce <user>: ユーザーを denounce
- GitHub 連携
vouch.nu gh-check-pr <pr>: PR 作成者の状態を確認して自動処理
vouch.nu gh-manage-by-issue <issue> <comment>: Issue コメントに基づいて vouch / denounce
3件のコメント
システム自体が権威を得てこそ受け入れられるのでは、という気がしますね。
注目を集める中で誤解もあるようなので、FAQを別途まとめたようですね
https://x.com/mitchellh/status/2020628046009831542
Hacker Newsの意見
あるプロジェクトで信頼されたユーザーが、別のプロジェクトでも自動的に信頼されると仮定するのは危険だと思う
この仕組みはサプライチェーン攻撃に悪用され得る。攻撃者が複数のプロジェクトで「善良な貢献者」として信頼を積み上げたあと、標的のプロジェクトに近づけるからだ
このような交差的な信頼が自動化されると、一度でも信頼されたアカウントが攻撃対象になり得る。むしろ「信頼リスト」より「不信リスト」から始めるほうが安全だと思う
PR提出に1ドルの費用を課すとよいのではないかと思う。
PRが有効ならメンテナーが返金する方式だ。
今はコミュニケーションが簡単になりすぎて、低品質なコミュニケーションがあふれている。これは単に価値がないだけでなく、時間を食い潰す害でもある
新しい貢献者がネットワークを持っていなければ、どうやって参入障壁を突破できるのか疑問だ。
AIが作ったノイズが多いとしても、これは解決策ではない
「オープンソースは信頼して検証するシステムの上で動いている」という言葉には同意しない。
理想的にはコードそのもので評価できるべきだ。
私はPRを見れば数秒でマージすべきか判断する。難しいのは却下理由を丁寧に書くことだ。
(参考: openpilotリポジトリ)
VouchプロジェクトがBlueskyのような閉鎖的バブルになるのをどう防ぐのか気になる。
Blueskyは選挙後に縮小しつつある。こうした社会的フィルタリングが新しい貢献を妨げるかもしれない
しかもVouchの目的はそもそも参入障壁を上げることなので、こうした問題は気にしていないのだろう
こんなシステムがドラマのないオープンソースコミュニティで絶対に悪用されないはずがない、と皮肉っている。
ひょっとしてブラックリスト化された開発者名簿でも共有されているのかと気になる
信頼ベースのシステムは、必ずリスクを伴ってこそ機能すると思う。
私が誰かを保証して、その人が問題を起こしたなら私の評判も下がるべきだ。
逆に根拠なく非難して、その人がまともな人物だったなら私の評判が下がるべきだ。
そうでなければ保証が無責任に乱用されるだろう
こうした構造はブロックチェーンベースの信頼グラフとして実装できるかもしれない
このシステムはデーティングアプリに似ているように感じる。
フィルタリングすべきやる気だけは過剰な不適格者が多く、結局は有料参加・位置情報・本人確認・社会的スコア化のようなパターンが生まれそうだ。
最近はGitHubで名声を得たがる人たちが無意味な貢献リクエストを乱発していてうんざりする
Gitがもともとできない機能だけを残したミニマルforge構造を想像してみる。
核心はIdentity、Attestation、Policy だ。
Vouchはこのうち人に対する署名を扱う――「この人は信頼できる」という署名は、「このコミットはテストに通った」という署名と構造的には同じだ。
つまり、参加そのものを制御するポリシーレイヤーなのだ。
こうした機能はGitHubのような閉鎖プラットフォームではなく、リポジトリ内部のメタデータとして存在すべきだ。
5年後にこの概念がどこまで発展しているのか気になる
LLMが生成したコードが増える時代に、こうした評判インフラはインターネットの必須要素になるかもしれない
最初はよさそうに見えたが、結局は**「信頼された人だけが貢献可能」**という構造に行き着くように思える
(killfile wiki、DNS blocklist)