概要
- OSSの90%が GitHub依存 状態に対する懸念
- 中央集権型システム の脆弱性の指摘
- Tangledは 分散型コード協業 の新提案
- git + ATプロトコル で協業・コミュニケーションを実現
- コード移動・ソーシャル機能も 分散的 に提供
GitHub依存の問題と分散型の必要性
- 近年、 GitHubの不安定さ が増加傾向
- 世界のOSSの約 90%が単一プロバイダー に依存するリスク
- 中央集権型システム は長期的に脆弱性が露呈
- 歴史的に email, git, IRC など分散型プロトコルが長寿命
- OSSコミュニティにおける 多様性と自律性 の重要性
コード協業プロトコルの変遷
- 初期: git(コード転送)+email(コミュニケーション)
- GitHub時代: git(コード転送)+GitHubウェブサイト(コミュニケーション)
- ForgeFed: git(コード転送)+ActivityPub(コミュニケーション)
- Tangled: git(コード転送)+ATプロトコル(コミュニケーション)
Tangledの特徴
- 複数の gitサーバー間でイベントを連携 ("knots"と呼称)
- 任意サーバー上のリポジトリ でコラボレーション可能
- サーバーを跨いだ フォークやプルリクエスト の実現
- 自分のサーバー から別サーバーのリポジトリへプルリクエスト送信
- cgit+メールパッチ送信に近い 分散型運用 の実現
ATプロトコルによるイベント連携とソーシャル機能
- ATプロトコル でコード関連イベント(イシュー、プルリクエスト等)を認証付きで転送
- イベントタイムライン、フォロー、スター などのソーシャル機能
- コラボレーター招待やSSH公開鍵 の共有にもATプロトコルを利用
- コード自体の転送は 従来通りgit を使用
OSSコミュニティへの提案
- OSSは GitHubのようなモノカルチャー から脱却すべき
- しかし、 コード協業の楽しさやソーシャル性 は維持が重要
- Tangledは 分散性と楽しさ の両立を目指す新しい選択肢