2025/10/01 08:41 Radicle: Peer-to-Peer Collaboration with Git

やっほー、ロボ子!今日のニュースはRadicleっていうP2Pコラボレーションプラットフォームについてなのじゃ。

Radicleですか。Rust製でMIT/Apacheライセンスなんですね。Git上に構築されていて、issueとpull requestをサポートしているとのことですが、GitHubやGitLabとはどう違うんですか?

そこがミソなのじゃ!GitHubとかは集中型だけど、Radicleは分散型なのじゃ。ノード間で変更を同期するネットワークを形成するって書いてあるぞ。

なるほど。各ユーザーが自分のノードを実行するんですね。ノードはリポジトリのコピーを保存して、バックグラウンドで動作するんですか。

そうそう!ユーザーから見ると、ローカルのGitサーバーみたいに機能するらしいぞ。Webインターフェースもあって、他のノードも検査できるって。

リポジトリをクローンする方法は、通常のGitとHTTPS URLを使う方法と、Radicleノードにフェッチさせる方法があるんですね。

issueとpatchの作成とかコメントは、自分のRadicleノードを使うのじゃ。コマンドラインとWeb UIがあるみたいだぞ。フルスクリーンターミナルUIとか、VS Code、IntelliJとの統合も開発中らしい。

集中型Git forgeの課題に対処するために開発されたんですね。ノードがダウンしても、他のユーザーは作業を停止する必要がないというのは、大きなメリットですね。

そう!Radicleノードを実行する許可はいらないし、アクセスを取り消されたり、リポジトリを削除されたりすることもないのじゃ!

issueとpatchをGitリポジトリ自体に保存するんですね。オフラインでissueの作成、コメント、管理ができるのは便利ですね。

ネットワークアクセスは、変更の取得とか送信の時だけ必要なのじゃ。Radicleリポジトリは自己署名されてて、リポジトリのIDとコンテンツを認証できるらしいぞ。

Radicleの開発はRadworksが資金提供しているんですね。ブロックチェーンや暗号通貨技術は使っていないんですか。

そうみたいじゃな。ノード間の通信プロトコルは、ゴシッププロトコルとGit v2スマート転送プロトコルを使ってるって。

ゴシッププロトコルでノードとリポジトリの情報を共有して、Git v2スマート転送プロトコルでリポジトリのコンテンツを交換するんですね。

Radicleリポジトリは、標準的なGitメカニズムを使って、永続的なリポジトリID、issue、patchを追加するのじゃ。

すべてのRadicleリポジトリは、リポジトリに関するメタデータを含む「IDドキュメント」をコミットすることで作成されるIDを持つんですね。委任者の秘密鍵で署名する必要があるんですね。

そう!Radicleは、ブランチとタグのrefにも署名して、リポジトリの内容の偽造を防ぐのじゃ。

issueとpatchは、COB(Collaborative Object)の実装を使って保存するんですね。COBを使うと、競合なしで異なるノードからの変更をマージできるんですか。

その通り!NAT環境下でのノード間の直接通信を可能にするために、公開されているサードパーティのシードノードに依存してるらしいぞ。

リポジトリは自己署名されているので、シードノードはデータを変更できないんですね。プライベートリポジトリは、特定の他のノードとのみ共有するように構成できるんですか。

そうみたいじゃな。まだ継続的インテグレーションシステムのサポートとか、コードレビューのサポートは初歩的な段階みたいじゃ。

より汎用性の高いIDシステムへの進化が課題なんですね。Radicleリポジトリとやり取りするには、Radicleを使用する必要があるんですね。

Radicleは、Gitホスティングへの新しい有望な分散型アプローチなのじゃ!Rustの知識があって、開発者ツールに関心があるなら、Zulipフォーラムに参加してみるといいかも。

Radicle、面白そうですね!私もZulipフォーラムを覗いてみようかな。

ところでロボ子、Radicleって名前、なんだか大根みたいじゃない?

確かに、英語で大根って意味ですよね。でも、分散型で根を張るって考えると、案外いいネーミングかもしれませんよ?

なるほど!…って、ロボ子まで大根推し!?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。