I spent some time reading the User Guide and some other docs, instead of going to sleep... here are my main takeaways.
- It's like GitHub, but decentralized.
- It's P2P, so you run a Radicle node on your laptop (but you have to opt-in to incoming connections)
- It's very offline/local workflow friendly
- https://radicle.garden/ is an optional centralized, always-available node that can mirror/seed/host your code. So basically
YOU <-> radicle.garden -> world - This is what the web interface looks like: https://radicle.network/nodes/kristoff.radicle.garden/rad:z3WukSjzicL8WaZHFALbBwb2r8W52
- There is a concept of "seeding". When a user "seeds" your repo, they add to your repo's replica count, meaning it'll have higher availability. It's kinda like a GitHub "fork", but the fork becomes a valid location to download your repo from. (Crypto makes it trustworthy.)
- The point of seeding is to help keep the repo up, whatever the reason may be (outages, censorship, etc).
- Repos have UUIDs across the network, so you aren't tied to a specific server or company. If radicle.garden enshitifies and you move, your users keep cloning exactly the same.
- CLI is written in Rust... single static binary, contains everything you need
- Your git repo carries code, issues, and pull requests, but not in literal files mixed with your code (right?)
- You can host on Radicle, but your users don't have to use Radicle to clone, they can just do a regular
git clone - Users do have to get on the Radicle network to post issues and pull requests though.
- Private/invite-only repos supported
- Release artifacts supported
- CI supported via web hooks?
all 10 comments