Radicle Heartwood プロトコル & スタック
- Radicle Heartwood は、ピア間のコード協業および公開スタックである Radicle プロトコルの3番目のバージョン。
- このリポジトリには、ユーザーフレンドリーなコマンドラインインターフェース
rad とネットワークデーモン radicle-node を含む、Heartwood の完全な実装が含まれている。
- Radicle は、ユーザーの主権と自由を守る安全で分散型の強力な代替手段であり、GitHub や GitLab のようなコードフォージを置き換えるために設計されている。
インストール要件
- Linux または Unix ベースのオペレーティングシステムが必要。
- Git 2.34 以上が必要。
- OpenSSH 9.1 以上と
ssh-agent が必要。
バイナリからインストール
ソースからインストール
- Rust ツールチェーンが必要。
- このリポジトリ内で次のコマンドを実行して、Radicle スタックをソースからインストールできる:
cargo install --path radicle-cli --force --locked
cargo install --path radicle-node --force --locked
cargo install --path radicle-remote-helper --force --locked
- または、シードノードから直接インストールできる:
cargo install --force --locked --git https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git \\ radicle-cli radicle-node radicle-remote-helper
実行
- システムデーモンと HTTP デーモン向けの Systemd ユニットファイルが
/systemd フォルダに提供されている。これは追加のカスタマイズの出発点として利用できる。
- また、2つのクレートには Dockerfile も含まれている。
- デバッグモードでの実行方法については
HACKING.md を参照。
貢献
- Radicle への貢献方法の紹介については
CONTRIBUTING.md と HACKING.md を参照。
ライセンス
- Radicle は MIT ライセンスおよび Apache License (Version 2.0) の条件の下で配布されている。
- 詳細は
LICENSE-APACHE と LICENSE-MIT を参照。
GN⁺の見解
- Radicle は中央集権型コードホスティングサービスの代替として、ユーザーのコード主権を強化しようとする分散型コード協業プラットフォーム。開発者にデータ所有権とプライバシーのコントロールを提供する点で、非常に重要な価値を持つ。
- Radicle が提供する分散型ネットワークは中央サーバーに依存しないため、サービス停止や検閲から自由であるという利点がある。一方で、これはネットワークの安定性や速度に影響を与える可能性があり、ユーザー体験に悪影響を及ぼすこともあり得る。
- Radicle はオープンソースプロジェクトであり、開発者コミュニティの貢献を通じて継続的に発展している。これにより、技術的課題の解決や新機能の追加において迅速な対応が可能という利点がある。
- Radicle を導入する前には、既存の中央集権型サービスとの互換性、プロジェクトのセキュリティ要件、そしてチーム内での導入障壁などを考慮する必要がある。
- 類似の機能を提供する他のプロジェクトとしては、GitLab のセルフホスト版や Gitea のようなオープンソースの代替があり、これらはユーザーが自分のサーバー上でコードを管理できるようにする。
1件のコメント
Hacker Newsの意見
プロジェクト共同創業者からの挨拶と、プロトコルがどのように動作するかを説明するリンクの案内。ドキュメントはまだ作業中。
プロジェクトは目的に合っているように見えるが、git自体もすでにオープンソースでP2Pだという意見。gitは追加のバイナリなしで他のサーバーに接続し、コードを直接取得したりマージしたりできる。gitに欠けているのは、コードのissue、wiki、議論、GitHub Pages、そして最も重要な開発者プロフィールのネットワーク。プロジェクトのメタデータを
.git自体に含める方法が必要で、wikiやissueと混同しないために独立した参照が必要かもしれない。Radicleの発展を見守るのは非常に興味深い。Protocol Berg 2023でのワークショップに参加した後、とても強力で新しいものを構築したと思った。プロトコルのコラボレーション面もローカルファーストである点が最も興味深く、インターネットがなくてもパッチやissueを提出でき、GitHubに問題があってもチームが影響を受けない。
MITとApacheライセンスの両方を使う理由への疑問。MITライセンスによってApacheライセンスが提供する追加の責任、特に特許ライセンス付与条項を回避できてしまわないか、という指摘。MITライセンスは特許に言及していないため、それならなぜMITライセンスだけを使わないのかという疑問。
一般の人がこうしたリポジトリをどれほど簡単に見つけられるのかという疑問。
robots.txtファイルがないため、検索エンジンによるクロールは可能そう。GoogleとDDGでは検索結果に出るが、まだ上位ではない。順位は改善する可能性がある。CI(継続的インテグレーション)支援を統合するツールも面白そう。信頼できるアイデンティティからのpushだけに制限できる、より良いツールが必要。最後にアーティファクトリポジトリへの言及。Radicleがすべてを解決する必要はなく、特に分散ネットワークを通じた大容量バイナリ共有はすぐに望ましくない用途に使われうる。プロジェクトの公開を祝福し、長く見守ってきて成熟したことに興奮しているという声。GitHub上のプロジェクトをどう移行するのか、テスト中にミラーモードがあるのかという質問。
ドキュメントでは、自分が所有または管理するリポジトリだけを公開し、他の管理者と連絡を取って重複したリポジトリIDを初期化しないようにすることが重要だと述べている。しかし人々はドキュメントを読まなかったり注意を払わなかったりして、こうした要請を無視する可能性が高い。ホームページではコードのpush方法を案内しているが、この重要な要請はユーザーガイドにしかなく、問題になりうる。
"peer to peer" や "distributed" のような用語の正確な定義を求める声。こうした言葉はバズワードとして使われると非常に曖昧になりうる。
公開を祝福し、gitの代わりにpijulを使う似たプロジェクトである nest.pijul.com を思い出したというコメント。
話題からそれるが、NESticleを思い出したという言及。