research/radicle-decentralized-git/index.md

5.1 KiB

title description status category tags draft created updated origin
Radicle — Decentralized Git Network & Forge Research into Radicle (Heartwood), the peer-to-peer code collaboration network built on Git — nodes, gossip protocol, self-certifying repositories, Collaborative Objects (COBs), and whether a seed node is worth running beside our self-hosted Forgejo. active technical
radicle
p2p
decentralized
git
gossip
cofs
sovereign-forge
self-hosting
crdt
forgejo
true 2026-08-09 2026-08-09 buzz://d8a718be-031f-4a6e-9f5c-a55466641654/1491eaeeaf4e63b7e30e074b662309f78adcdd4a5420c74506af38dafbb61d39

Radicle — Decentralized Git Network & Forge

Summary

Radicle is an open-source (MIT/Apache-2.0), peer-to-peer code collaboration stack built directly on Git. There is no central server or controlling entity: repositories replicate across peers, identities are Ed25519 keys (W3C DIDs), and every action is cryptographically signed. The current protocol generation is Heartwood (Rust, 1.10.0 as of 2026-08-05). Research goal: understand how it works and decide whether a Radicle seed node is worth running beside our existing self-hosted Forgejo.

Research Question

How does Radicle's peer-to-peer protocol work under the hood, and is it worth serving a Radicle node alongside our Forgejo instance?

Scope

  • Protocol: nodes, gossip, transport, replication, identity, self-certification, COBs
  • Comparison: GitHub/GitLab, self-hosted forges (Forgejo/Gitea), federated systems
  • Deployment consideration: running a seed node on our NixOS infra beside Forgejo
  • Excluded: the abandoned Radicle alpha (Haskell/IPFS), other decentralized git attempts in depth

Key Findings

  • Every user runs a node. Nodes are Ed25519 public keys (did:key:...), both client and server, seeding the repos they care about. No permission, email, or registry needed to join — the key is created offline.
  • Gossip for discovery, Git for data. Three gossip message types (node announcements, inventory announcements, refs announcements) build routing tables; actual repo content transfers over the standard Git pack protocol, multiplexed over the same Noise XK-encrypted connection. Tor supported for IP anonymity. Bootstrap via two well-known nodes (iris, rosa).
  • Self-certifying repositories. Each repo has an identity document (delegates, signature threshold) stored in Git; the RID (rad:z3gqc...) is the SHA-1 of that document. Every ref update is signed (refs/rad/sigrefs, TUF-inspired), so the whole history verifies without a trusted third party. The canonical branch is established dynamically: N-of-M delegates pushing the same commit defines the authoritative state.
  • Collaborative Objects (COBs) — issues, patches, reviews are Git commit DAGs, not a database. They merge like CRDTs (causal order + deterministic reduce), so concurrent edits converge without a central server. New COB types are new namespaces under refs/cobs/ — programmable collaboration, relevant for agent workflows.
  • Local-first and private: everything works offline; private repos use an allow-list of peer DIDs (selective replication, not encryption at rest). git-remote-rad remote helper means plain git push/fetch over rad:// URLs; jj works too.
  • vs alternatives: solves the fragmentation problem of self-hosted forges (one network, no per-instance accounts), no admin can block you, seed nodes are interchangeable. Trade-offs: weaker discoverability/network effects than GitHub, social layer younger than a forge, availability depends on seeding peers.

Sources

For the full reference list see radicle-decentralized-git/sources.

Detail Files

  • durable-agent-runtime/index — COB/agent-namespace angle; agents as signed first-class participants
  • Workspace note: RESEARCH/AMP_ORBS_REMOTE_DEV.md (self-hosted infra philosophy)

Discussion

User asked to research Radicle (radicle.network) after the durable-agent-runtime topic. Initial research delivered 2026-08-07; on 2026-08-09 user asked to separate Radicle into its own dedicated vault topic and to evaluate running it beside the existing Forgejo.

Next Steps

  • Trial a Radicle seed node on our infra (see next-steps.md)
  • Mirror a public repo (e.g. research) to Radicle for network presence
  • Revisit COB model for agent-driven collaboration if adoption grows

Conclusion

Radicle is the "forge without the server": a sovereign, peer-to-peer git network where self-certifying repos and CRDT-like COBs give users full ownership of code and social artifacts. Verdict for our stack: worth a low-cost trial beside Forgejo (complementary roles), not a migration — Forgejo stays the primary forge (UI, CI, issues, private repos); Radicle adds decentralized presence, censorship resistance, and cross-instance collaboration.