PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

Radicleとは何か? Gitを土台にした“主権型”コード基盤をわかりやすく紹介

キーポイント

Radicleは「GitHubの代わり」ではなく、もっと思想が強い

Radicleの紹介文には、sovereign code infrastructure という言葉が出てきます。直訳すると「主権的なコード基盤」ですが、要するに自分たちのコード管理を、特定企業の都合に握られたくないという考え方です。

これはかなり重要だと思います。
GitHubやGitLabのような便利なサービスはたくさんありますが、中央のサービスが止まったり、規約が変わったり、アカウントが制限されたりすると、影響を受けるのは結局ユーザー側です。Radicleはそこに対して、​ネットワークの所有権や運用の主導権を分散させる方向で答えようとしているわけです。

そもそも Radicle って何?

Radicleは、​Gitをベースにしたオープンソースのpeer-to-peer code collaboration stackです。
難しく見えますが、分解するとこうです。

つまりRadicleは、単なる「Gitの置き場」ではありません。
コードを共有して、議論して、レビューして、共同作業するための仕組み全体を提供しようとしているプロジェクトです。

image_0001.png

個人的には、この“置き場”ではなく“基盤”を目指している感じがかなり面白いと思います。
Gitそのものはあくまで分散型のバージョン管理システムですが、現実の開発では「誰が見るのか」「誰がコメントするのか」「issueをどう扱うのか」まで必要になります。Radicleはそこを最初からまとめて設計し直しているわけです。

中央集権型と何が違うのか

Radicleの説明で繰り返し強調されているのは、​single entity controlling the network が存在しないという点です。
つまり、ひとつの会社や団体が全体を支配しないということです。

中央集権型の世界

たとえばGitHubでは、リポジトリはGitHubのサーバー上に置かれ、機能や運用はGitHubのルールに従います。これは便利ですが、裏を返せば「プラットフォームに乗っている」状態です。

Radicleの世界

Radicleでは、リポジトリがpeers間で複製されます。
誰か一社のサーバーに集まるのではなく、参加者それぞれのノードに広がるイメージです。

この設計のメリットははっきりしています。

一方で、こうした分散型システムは、一般に便利さやわかりやすさでは中央集権型に負けやすいです。ここは正直なところで、思想としては強いけれど、万人向けの気軽さではまだ工夫が必要そうだと感じます。

image_0002.svg

何ができるのか:コードだけじゃない

Radicleの面白いところは、​コードそのものだけでなく、周辺の協業データも扱う点です。

記事では、issues、discussions、code review が Git objects として実装できると説明されています。
Git objects というのは、Gitが内部で扱うデータ単位のことです。ざっくり言うと、「履歴や状態をGitの仕組みに沿って保存する」という理解で十分です。

これによって何がうれしいかというと、開発のやりとりが、外部のWebサービスに散らばるのではなく、​Gitの世界観の中に自然に収まることです。

これはかなり筋がいい発想だと思います。
Gitはコードの履歴管理にはめっぽう強いので、その延長で議論やレビューまで扱えたら、開発の情報がバラバラになりにくい。
「コメントは別サービス、レビューは別サービス、コードは別サービス」みたいな分断を嫌う人には、かなり刺さるはずです。

強み1: データの所有権がはっきりしている

Radicleは、​All social artifacts are stored in Git と説明しています。
social artifacts とは、issueやコメントのような“やりとりの記録”のことです。これらがGit上にあり、さらにpublic-key cryptographyで署名される、とあります。

署名とは、ざっくり言えば「本当にその人が作ったデータか確かめる仕組み」です。
公開鍵暗号は少し難しく聞こえますが、要するになりすましを防ぐための暗号技術です。

image_0004.svg

この設計の良さは、
​「誰が書いたか」「内容が改ざんされていないか」を検証しやすいことです。

特に、OSS開発では「このパッチは本当にこの人のもの?」という問題が地味に大事なので、ここを仕組みとして支えるのはかなり実用的だと思います。

強み2: local-first だから、オフラインでも強い

Radicleは local-first をうたっています。
local-first とは、まず手元の環境で使えることを優先する設計思想です。

これが意味するのは、インターネットに繋がっていなくても、少なくとも自分のデータにアクセスし、作業を続けやすいということです。
クラウド前提のツールに慣れていると見落としがちですが、実はこの価値はかなり大きいです。

「いつでもオンラインで全部見られる」より、「まず自分の手元で動く」のほうが、長い目で見ると安心感がある――Radicleはそんな思想にかなり寄っています。

強み3: 拡張しやすいモジュール設計

image_0005.svg

Radicleは Modular by Design とされていて、CLI、Web interface、TUI、Radicle Node、HTTP Daemonなどが分かれています。

この分離が何を意味するかというと、​全部を一枚岩にしないということです。
必要な部分だけ交換したり、新しいクライアントを作ったりしやすい。こういう設計は、長く生き残る基盤ソフトに向いています。

個人的には、ここがかなり“ちゃんとしている”と感じました。
思想だけで突っ走るプロジェクトは多いですが、Radicleは思想に加えて、きちんと差し替え可能な構造を用意している。これは実装としてかなり誠実です。

どうやって使い始めるのか

記事では、インストールはシェルで次のコマンドを実行するだけ、と案内されています。

curl -sSLf https://radicle.dev/install | sh

もちろん、download page から入れてもOKで、​source からビルドすることも可能です。
対応OSは、現時点では Linux、macOS、BSD variants です。

image_0006.svg

また、グラフィカルに使いたい人向けに Radicle Desktop も用意されています。
このあたり、ターミナル派だけでなく、GUI派にも配慮しているのは好印象です。

どんな人に向いていそうか

Radicleは、万人向けの「GitHub代替」ではないと思います。
むしろ次のような人に向いていそうです。

逆に、
「とにかくすぐ使えて、みんながもう使っている場所がいい」という人には、まだハードルがあるかもしれません。
ただ、それは欠点というより、​狙っている未来が違うという話だと思います。

Radicleのいちばん面白いところ

私が一番面白いと思ったのは、Radicleが「コード管理ツール」ではなく、​**“コード協業のあり方”を再設計しようとしている**ところです。

GitHubのようなサービスは、すでに便利すぎるほど便利です。
でもその便利さは、中央のプラットフォームにかなり依存しています。
Radicleはそこに対して、「便利さはそのままに、所有権と信頼の構造を変えられないか?」という問いを投げています。

image_0007.svg

これは地味ですが、かなり大きなテーマです。
ソフトウェア開発の土台は、見えないところで誰かのインフラに乗っています。Radicleは、その前提をひっくり返そうとしている。こういうプロジェクトは、たとえすぐに主流にならなくても、業界全体の発想をじわじわ変える力があると思います。

まとめ

Radicleは、Gitを土台にした分散型のコード協業基盤です。
中央の運営者に依存せず、ユーザーが自分のデータを持ち、コードだけでなく議論やレビューまで含めて扱えるのが特徴です。

「主権型」という言い方は少し大げさに聞こえるかもしれませんが、実際にはかなり本質的な話をしています。
誰がデータを持ち、誰がネットワークを支配し、どこまで自分たちで運用できるのか
Radicleはその問いに、Gitベースで真っ向から答えようとしているわけです。

正直、まだ一般向けの使いやすさでは中央集権型サービスに軍配が上がる場面も多いでしょう。
でも、思想の強さと設計の筋の良さはかなり魅力的です。
OSSや分散システムが好きな人なら、一度のぞいてみる価値は十分あると思います。


参考: Radicle: the sovereign forge

同じ著者の記事