Radicle: Sovereign {code forge} built on Git (radicle.dev)

192 points by KolmogorovComp 9 hours ago

figbert an hour ago

I discovered Radicle back in 2020 (when their website looked incredible: https://web.archive.org/web/20201201030505/https://radicle.x...). I bounced off of it, in part due to being unable to effectively delete repositories. They used to have an FAQ about that—looks like it's gone now, though the public-private repository area is much more fleshed out (you can make a repo private, in which case no new updates will be publicized but the history will still exist). In truth, it's just profoundly difficult to effectively "delete" things in a decentralized system (see: Matrix, BitTorrent, et. al.). But definitely something to consider; people accidentally upload secrets, and want to have some recourse when that happens.

Still, time has passed and I have become more interested in GitHub alternatives (https://figbert.com/posts/ideating-tragit/). Will likely end up moving to Tangled. But first I need to add support over there for pushing over HTTPS...

josh-sematic 8 hours ago

Love to see it. Unlike tangled.org this is local-first and has a solid story around private repos. I’m bullish on distributed forges in general, but I’m all for experimentation in figuring out exactly what that looks like.

tsuraan 23 minutes ago

How do these federated forges deal with spam? If merge requests and issues are federated, does that mean that anybody running a radicle node (or interacting with one) can open issues or merge requests on all the repositories that you've made public? Or is there a whitelist (or something fancier?) to allow interaction only with specified nodes?

gsaslis 12 minutes ago

yes, we currently have just the base building blocks (`rad follow` - allowlist / `rad block` - blocklist) for the fancier things to be built on. When you "seed" a repository, by default you seed it only with "followed" scope, which means you would only see issues and "Patches" (our term for PR/MR) from the repo maintainers + other peers you follow (i.e. in your allowlist).

vaylian 8 hours ago

I noticed that they moved to a different domain last month: https://radicle.dev/2026/04/23/domain-move

satvikpendem 6 hours ago

.xyz and similar domains are often blocked by ISPs due to higher than usual rates of spam from domains using that TLD.

deaton 6 hours ago

Makes sense. Usually if you want a 99 cent registration, .xyz is whats available.

h1watt 7 hours ago

Radicle is really underrated, especially when working with agents. I find it a joy to use for my agentic workflows.

If there's purely an agentic forge one day, it's likely going to be a distributed one, with cryptographic identities and signed artifacts by default.

endiangroup 7 hours ago

AD: Feel free to post on our Zulip [^1] about your experiences of agentic workflow if you haven't already! Some of the team are interested in developing the agentic workflow experience.

[^1]: https://radicle.zulipchat.com/

xvilka 5 hours ago

I am surprised you don't use RustChat[1]

[1] https://rustchat.io/

arunc 5 hours ago

chrisweekly 7 hours ago

"AD" ?

asibahi 6 hours ago

KolmogorovComp 7 hours ago

eightysixfour 7 hours ago

What makes it a joy to use with agents?

xvilka 5 hours ago

I wish they would make local-only deployment easier. For example, lets take 3 machines and try to setup Radicle to work only on those, without joining the common Radicle network. Like on-premises GitLab, but decentralized, without the need of the server. It requires quite some serious scripting and usecase not covered in the documentation.

endiangroup 5 hours ago

AD: We've just been discussing this! There's an open RIP [^1] that we will be supplying feedback for soon.

[^1]: https://radicle.zulipchat.com/#narrow/channel/369876-RIPs/to...

vanous 3 hours ago

Same here... I have been looking at all the self hosting options for a while but swapping one centralized system for another isn't what I would prefer. Running/using local and community gitea/forgejo has been good, but I hope decentralized radicle could be the solution to more independence.

heresie-dabord 5 hours ago

A containerised deployment would (understatement warning!) be useful.

gsaslis a few seconds ago

This is a good fit primarily if you want to run a Radicle node that only seeds repos you tell it to. If you want to write code which you publish on Radicle, you need the tool that signs all your work with your private key (of your Radicle identity) - i.e. the `rad` CLI - and running that in a container isn't very useful. (e.g. think about how you'd replace `rad clone`). Having said that, here's a container image I maintain, in case it helps: https://quay.io/repository/radicle_garden/radicle-node

deknos an hour ago

I have two questions:

1. Does Radicle also work over TOR? 2. Does Radicle support Git LFS and/or Git Annex?

gsaslis 29 minutes ago

1. yes, it's in the user guide [1] 2. Git LFS should work, yes. Care to try and report back ? ;) Open a new topic on the Zulip #Support channel [2] if you run into any issues.

[1] - https://radicle.dev/guides/user#4-embracing-the-onion [2] - https://radicle.zulipchat.com/#narrow/channel/369873-Support

incompleteCode 3 hours ago

Congrats!

Maybe I'm not the target audience for this, so pardon my ignorance when I ask what problem does this solve? Centralization and censorship?

gsaslis 9 minutes ago

In a nutshell, I summarise it like this: I see Open Source Software is a public good. As a public good, it doesn't belong in any proprietary platform, nor should orgs of any kind be in a position to gate keep it. We should rather host it on a public, peer-to-peer network that everyone can have access to.

bfrog 7 hours ago

radicle is awesome and Just Works from what I've tried of it

minraws 8 hours ago

The more I have been using git and building my own tooling and services around it for usage, I have figured out that something like radicle feels like the right/better solution, definitely better than what github is atm.

There are rough edges and the seeding thing is a bit mehhh. And honestly there are a bunch of things I would do differently but I like the spirit of things.

Not sure where the authors of the project stand, but it's fun to see them make progress.

endiangroup 7 hours ago

AD: We're definitely interested in hearing about the rough edges and opinions! Feel free to post on our Zulip [^1] if you haven't already :).

[^1]: https://radicle.zulipchat.com/

adastra22 6 hours ago

What are the things you would do differently?

minraws 3 hours ago

Prioritize discoverability, and self hosting on my own domain, with more customization for the protocol and ui/ux aspects.

Basically allow people to deploy something closer to gitea on a webserver initially, which has all the basic protocol features and sharing aspects implemented.

Currently the focus seems to have been very much on just the seeding & p2p part which honestly is good but not very useful for me as a developer/user who wants to work on a collaborative project.

Prioritizing P2P makes sense, but the UX/DX of radicle is not intuitive to put it mildly.

I went to the explorer radicle.network and my own as well and I still had no idea how to create an issue or submit a patch or login to an account or anything of that sort.

I opened the cli and figured out how to do all that, but then I created another node on my web server and now I have no idea how to connect to it, then I figured out how to do that, now how do I share my node without sharing it publicly, figured that out.

Cool now we are at the starting point, so every time I need to work on a project i will have to clone it, but why can't I create stuff in webui.

Maybe there is a setting I can't seem to find it yet.

But the jumping through hoops is mindbending. For a solution that could replace github for me and my friends who maintain a few public projects that wants small contributions from large number of folks as we try and maintain the local "tech" clubs.

Getting low information folks to use within 10 mins, is the bar that I have set for any platform I can use to replace github.

Radicle isn't that yet! anyways.

But I like the direction, putting contributors, access list, issues and prs in the repo is a brilliant idea, maybe put agent plans in it too, agent sessions as well maybe...

I would go as far as to say, something like a radicle network is better than every other alternative, but the UX is just not there yet.

pessimizer 6 hours ago

I'd like to see radicle replace crates.io. I can't get over Rust's dependency on github/Microsoft, and I can't get over the lack of namespacing.

All you would need is cargo compatibility, and a trusted namespace that kept up with the metadata of the current contents of crates.io, right?

edit: I really, really like rust, and love basically all of their choices about the language, but I can't stand the feeling that I'm being tricked into an ecosystem dependent on one of the worst behaved companies in the world, and I can't stand that a lot of rust projects smell like GPL-washing.

That being said, git is GPL and radicle is MIT, so it feels like the same thing, but Github also ain't git. I prefer MIT to MS; if radicle gets important enough and decides to rubpull, there will inevitably be a Free fork anyway.

pie_flavor 2 hours ago

* crates.io is moving away from GitHub-only authentication

* crates.io's attachment to GitHub is a fact about crates.io specifically, not the Cargo crate registry protocol

* Cargo's support for Git repositories is generic across Git and has nothing to do with GitHub specifically

* Radicle offers nothing to a crate registry that a Git remote doesn't

* and none of this has anything to do with the GPL.

It feels like you're just listing off things you like and don't like aesthetically. They have nothing to do with each other structurally.

pessimizer an hour ago

> crates.io is moving away from GitHub-only authentication

Crates.io has not moved away from Github-only authentication, and got into the habit of yelling at people who complained about it.

> crates.io's attachment to GitHub is a fact about crates.io specifically, not the Cargo crate registry protocol

Is this just trivia you wanted to share? I feel like I covered it in the second sentence of the comment you're replying to.

> Cargo's support for Git repositories is generic across Git and has nothing to do with GitHub specifically

I'm looking to compile Rust projects from the semi-standard commonly-used crates. I do not want a Github account.

> Radicle offers nothing to a crate registry that a Git remote doesn't

Radicle offers peer-to-peer hosting that does not require a Github account.

> none of this has anything to do with the GPL.

Radicle is a project being built in Rust that partially reimplements git. Git is GPL-licensed, Radicle is MIT-licensed.

> It feels like you're just listing off things you like and don't like aesthetically.

I am unconcerned about your feelings. What I was saying is that I would like a peer-to-peer hosted, namespaced code repository that mirrors (or replaces) crates.io, and I do not want a github account to be necessary to use it.

> They have nothing to do with each other structurally.

I have no idea what "they" is referring to in this sentence.

Pay08 5 hours ago

Does radicle have some way of storing binaries outside of the source tree? I know cargo compiles from source by default, but AFAIK it can (and does) download binaries as well.

endiangroup 5 hours ago

AD: Theres a project `artifact-cob` [^1] that enables some of the functionality you are looking for. You can host artifacts off-network and make 'releases' that point to them.

[^1]: https://radicle.zulipchat.com/#narrow/channel/369274-General...

esafak 7 hours ago

How well does it hold up under load? What are the CI and PR stories?

h1watt 7 hours ago

Their CI take is early but promising: https://radicle-ci.liw.fi/

jayd16 6 hours ago

This just describes a watcher service that kicks jobs off on an external CI system and logs the results? Not much more detail than that.

Gitlab and Github have pages and pages going over the domain language used to configure the job triggers. Jobs can trigger other jobs either in response to completion or as a dependency etc etc.

I would say these radicle-ci designs as they are now are actually quite rudimentary. That's perfectly fine for an early project but at this point I think you have to say that they won't have a CI system ready for quite some time.

stephbook 4 hours ago

einpoklum 8 hours ago

I like this idea a lot! I need to find people to try it with, though, which is not so easy with GH being so popular :-(

Some nitpicks:

* What is with the forced serif font on the website?

* Does this support other version control systems? Like mercurial, SVN, pijul, etc.?

endiangroup 7 hours ago

AD: The website is currently being redesigned, I suspect we'll have it up in the next few weeks.

No it doesn't currently support other VCS's but we have planned for that possibility in future!

esafak 6 hours ago

VCS agnosticism would be a selling point.

adastra22 6 hours ago

Pay08 5 hours ago

backscratches 5 hours ago

I read that it works well with jujutsu

gsaslis 17 minutes ago

crabbone 5 hours ago

I tried to understand what this does...

> What is Radicle? How is it different from Git/GitHub?

> Radicle is a peer-to-peer code collaboration platform (“forge”) built on Git. Unlike centralized platforms like GitHub, there is no single entity controlling the network or user data. Repositories are replicated across peers in a decentralized manner. Radicle is an alternative for people and organizations who want full control of their data and user experience, without compromising on the social aspects of collaboration platforms.

(Quote from their FAQ).

This isn't even trying to answer the titular question... None of them, actually.

So, what is Radicle? A platform built on Git? What does this mean? A platform for what? What is it for?

Why Git/GitHub are used as if they were the same category of things? There's not even an attempt at answering the "how is this different from Git?" question. What does it offer that Git doesn't? Wtf is "forge"?

Radicle is an alternative... to what? I believe I have full control of my data in my Git repository... why do I need an alternative with even more control? How will I have even more control?

* * *

Maybe whatever this software does is actually useful or even good, but the documentation can't be worse.

ghostpepper 5 hours ago

I agree it's not immediately clear how it works, although I think I understand the role it's intending to fill.

If you're not familiar with the distinction between git and github it could be even more confusing.

As soon as I hear decentralized I have lots of questions about the underlying protocols. Their protocol page helps a little but also uses terms I'm not familiar with like "gossip protocol".

It would be nice for there to be a page that motivates the project a bit more, ie. explaining the technical problems they are attempting to solve before enumerating the components of the complex system they've built.

pessimizer 5 hours ago

> So, what is Radicle?

> Radicle is a peer-to-peer code collaboration platform (“forge”) built on Git.

-----

> Why Git/GitHub are used as if they were the same category of things?

They are not. Github is a centralized collaboration platform built on git, and radicle is a peer-to-peer collaboration platform built on git.

-----

> Wtf is "forge"?

A word some people started using for the class of Github/Bitbucket(RIP) or even Fossil-type things, as FOSS alternatives began to multiply.

-----

> Radicle is an alternative... to what?

To Github, or other "forges."

47282847 5 hours ago

The first I remember using it was SourceForge (1999).

crabbone 2 hours ago

> To Github, or other "forges."

Then why do they bring Git into the picture? They are not comparing themselves to Git...

> Radicle is a peer-to-peer code collaboration platform (“forge”) built on Git.

This is a word salad that means nothing... more than 99% of moderns software is built on Git in one way or another. Anything that is designed to be used by more than a single user could be arguably called a "collaboration platform". This description completely fails to describe anything useful about the program they are trying to describe. For instance, Git is a peer-to-peer code collaboration platform built on Git. And the same can be said about a huge number of programs that share very little in terms of purpose or application.

When someone writes a definition, s.a. you'd find in encyclopedia, the rule is that it has to (a) link to the broader category of things (b) specify in what way the subject is (mostly) unique in the category (a). If you give only (a), then the reader walks away wondering how is subject different from anything else in (a). If you only give (b), then the reader needs to guess (a), and if they fail, they may misattribute or simply abandon efforts to understand the subject.

This attempt at "definition" is the textbook example of forgetting the (b). It's something that a 10-12 y.o. could come up with... this is not what an adult should strive for.

> They are not. Github is a centralized collaboration platform built on git, and radicle is a peer-to-peer collaboration platform built on git.

You didn't understand the question.

amusingimpala75 2 hours ago

pessimizer an hour ago