« BackRadicle: The Sovereign Forgeradicle.xyzSubmitted by ibobev 2 hours ago
  • jrmg 3 minutes ago

    This certainly seems like a neat system. the FAQ, two things I was most concerned about knowing:

    ——

    How does Radicle deal with potential abuse, illegal content sharing etc. on the network?

    Each node is free to choose which repositories to host (seed) using configured policies. Nodes can block specific repositories or peers exhibiting abusive behavior.

    Is there a way to host private repositories on Radicle?

    Yes, Radicle supports private repositories that are only shared among a trusted set of peers, not the entire network. These are not encrypted at rest but rely on selective replication and are thus completely invisible to the rest of the network.

    https://radicle.xyz/faq

    • woodruffw an hour ago

      I’m heartened by efforts to build new social forges. At the absolute minimum, these kind of initiatives raise the background pressure on GitHub and GitLab to improve their products.

      From the FAQ:

      > For one, [git] has no way of verifying that the repository you downloaded after a git clone is the one you asked for, which means you need to clone from a trusted source (ie. a known server). This isn’t compatible with peer-to-peer in any useful way.

      > Radicle solves this by assigning stable identities to repositories that can be verified locally, allowing repositories to be served by untrusted parties.

      What does this mean, in practice? At first glance this sounds like Radicle is turning a service trust problem into a PKI-shaped problem, which is more of a transmutation than a solution.

      Or more precisely: how do I know which stable repository identities to trust, and how is that trust distributed to parties in the network?

      • endiangroup 11 minutes ago

        AD: I'll take a stab, but I am a new joiner!

        Each repository is governed by an identity document which is signed by a set of delegates, each delegate currently corresponds 1:1 to someones ssh-key. We are working to adjust this mechanism so you can have group identities, but its a hard problem and we're not the only ones working on it (note theres light at the end of this tunnel at this point).

        Seeing as you studied philosophy I'd argue what then do you mean by a solution? Aren't all solutions transmutations of prior 'things'? In the complex domain we have a word for it, exaptation - the radicle repurposing of something in a new context.

        That aside, how do you know which people to trust when you meet them? And how do you signal trust in those you've met? In Radicle holding stable cryptographic identities doesn't resolve the zero-to-some trust problem but it does resolve the some-to-more trust problem, I can continue trusting once I recognise and know an identity.

        So to answer "how is that trust distributed to parties in the network" - by stable cryptographic identities.

        To answer "how do I know which stable repository identities to trust" - by socialising, like you know how to trust people you meet in the world because you were introduced to them by someone else you trust.

        • iamnothere 43 minutes ago

          Trust would need to be established through other channels, or through careful code review, same as a repo by an unknown dev on GitHub. Once trust is established, you can look for other repos owned by the same DID if you want to see more by the same dev. If multiple versions of the same repo exist, and you want to find the “real” one, you may look for the one recommended by a trusted source or the one that is mentioned most elsewhere. Failing that you could look at development activity on the repo.

          Imagine a project with multiple repos on GitHub (not “forks” but someone actually uploaded it as a new repo). Similar problem. I’ve seen this before with some simple C libraries that haven’t changed in years.

        • noelwelsh an hour ago

          Can anyone describe how this differs from Tangled (https://tangled.org/)? Both seem very interesting, but I'm not deep enough into either to understand how they differ.

          • 0x3o3 10 minutes ago

            Radicle is architecturally local-first: you run your own node, sync repositories from a P2P gossip network, and then everything—browsing code, creating issues, reviewing patches—happens against your local data store. There's no round-trip to a server. Issues and patches are stored as signed Git objects (COBs) that replicate with the repo itself. The network is only involved when you choose to sync. This makes it extremely performant for day-to-day work and fully functional offline.

            Tangled to my understanding is federated in theory but centralized in practice. It relies on "knots" (servers that host Git repos) and a central AppView at tangled.sh that aggregates the network. Issues and social artifacts live on Personal Data Servers, not locally. While you can self-host a knot, the default experience routes through Tangled's managed infrastructure. The architecture is fundamentally client-server: your operations go over the network to wherever your data lives.

            • lorenzleutgeb an hour ago

              Tangled is built on top of the AT Protocol, and "mediates" between what they call "knots". Git servers. Their strength is to use AT Protocol to make communication across multiple Git servers work smoothly.

              Radicle is completely peer to peer. There are no such things as servers and clients, only nodes. However, there are quite a few nodes that then act as HTTP servers to offer convenient access via the browser.

              • phoronixrly 37 minutes ago

                Also, Tangled is VC-funded. I cannot find information about Radicle, but considering the authorship is not advertised on their website, and that P2P is not easily monetizable, I would bet it is not VC-funded.

                All in all, seems like an awesome project and instantly more trustworthy and rugpull-resistant than Tangled.

                • creativeair2049 3 minutes ago

                  > instantly more trustworthy

                  quite ironic, radicle seems to have raised 7m$ from "radworks", some sort of crypto foundation.

                  that being said, why is it being not monetizable a good thing? their website says radicle has been in development for 4 years already. without more money in the bank, how would they continue to build the thing?

                  • 0x3o3 14 minutes ago

                    yeah the Radicle protocol is fully owned and governed by a Swiss non-profit.

                    • phoronixrly 13 minutes ago

                      As per https://radicle.xyz/history

                      > The Radicle Foundation is established. A Swiss non-profit that oversees the development of the project.

                      Thank you!

              • hackthemack 40 minutes ago

                I hang out with a small group of sysadmins who like to spin up the old internet stuff, like irc, gopher.

                And that got me to thinking about Usenet and how a ton of software (usually pirated) and images (usually pornography) were posted to it.

                And people often posted stupid stuff they said (usually because they were young and dare I say afflicted by a moment of dumb).

                I think one of the problems with p2p distributed systems is how do you handle "mistakes". Things you want deleted.

                What if someone accidentally posts their address and phone number?

                What if you post a communication system with encryption methods, but then the government passes a law that is criminal? Maybe in some regimes that puts you on a list for arrest? Look at what is happening with HAM radio operators and Belarus...

                https://www.niemanlab.org/reading/ham-radio-operators-in-bel...

                To me, none of this raises above the idea that distributed p2p content should not be used. It is just that it has some issues.

                Also, unrelated, but I think the plethora of "How does this compare to XYZ" type comments are not very helpful. It is too easy to write that kind of post, but much harder to answer.

                • pluralmonad 14 minutes ago

                  This just seems like acknowledging the reality. If you publish something publicly, it's very possibly forever. Maybe a reasonable solution would be for a user client to delay publishing for a time (like an email client that lets you cancel/recall a sent email for a time).

                  • endiangroup 38 minutes ago

                    AD: We're actively working on that issue right now, making the defaults safer. We're also discussing internally how to enable revocation of content at the network level. It won't be perfect, but neither is GitHub or the likes.

                    • vlad-roundabout 19 minutes ago

                      Can't you just download content from centralised services as well?

                      • phoronixrly 20 minutes ago

                        You know, a centralized system is not immune to any of the issues you are listing here.

                        Whether your mistakes can be deleted is up to the operator. They can even lead you to believe your content was deleted, while reporting it to the authorities.

                        > What if you post a communication system with encryption methods, but then the government passes a law that is criminal

                        Did you post it while it was legal to do so? Yes. Are you distributing it after it was deemed illegal? No. If you are in a country with a fair justice system, you wouldn't have to worry. If you are in a country without one, they will find a much easier way to get you anyway.

                        • Dumbledumb 12 minutes ago

                          In legal and public opinion distributions and authorship might not be looked at with such a technical lens, especially in a country trying to ban encrypted communications. A muddying between the two could easily be constructed intentionally, or unintentionally by ignorance of executive and judicial powers.

                          • phoronixrly 5 minutes ago

                            As I mentioned, if you are inconvenient to your government in an authoritarian state, they will not bother with technicalities to get rid of you.

                            Other people distributing code that you once authored will not stop by them getting rid of you.

                        • iamnothere 33 minutes ago

                          Normal person here, you can relate I am sure. Hello fellow normals.

                          What if the government says all FOSS developers must be rounded up and executed? What if you spill coffee on your laptop because you were tired while reading the documentation? What if you misunderstand the instructions and accidentally post a no no word on the internet?

                          One time when I was younger I downloaded something and it had a virus. Bad news!

                          Just some concerns, you know. Not taking a stance here, just saying I have questions...

                          Edit: just tired of seeing posts sowing FUD on every thread about decentralized tech. Don’t worry, the government isn’t going to break down your door because you host a Radicle node.

                        • creativeair2049 2 minutes ago

                          radicle is pretty neat, i'd be quite curious to read more about the state of CI and moderation (given the P2P nature).

                        • eigenspace an hour ago

                          Anyone familiar with both projects that can give a comparison with the work happening on Forgejo (i.e. Forgefed protocal)?

                          • lorenzleutgeb 44 minutes ago

                            Radicle is peer to peer. There are no "instances" or "servers" you interact with. The process that runs on your machine to synchronize changes across the network is the same as you would run on a server somewhere else. This is the core difference in network topology.

                            What Forgejo are working on is to have their servers/instances communicate with each other via ActivityPub (IIRC). Think about it more like GitHub : Forgejo :: Twitter : Mastodon and possibly Filesharing : BitTorrent :: Software Development : Radicle.

                            With Forgejo, every instance has its own database of user accounts, and controls who may log in or not (and so on). This is not the case with Radicle. Since there is no such authority, user accounts are self-certifying.

                            For repositories, since there is no "standard location" like "the server", Radicle has developed a way to abstract from the user namespaces of the maintainers of a repo, to a canonical namespace. This is how references are lifted from individuals to a project. Not by having a copy on some particular server with access control. Of course, Radicle also has access control, but it is tied to the self-certifying identities, not to some server.

                          • iamnothere 38 minutes ago

                            Every time I read about an emulation or file sharing project kicked off of GitHub, I think: should have used Radicle.

                            You can put your node behind Tor if you’re worried about demand letters, by the way.

                            • noman-land an hour ago

                              Radicle is really cool. I've been running a node for months but havent pulled the trigger to use it as primary yet.

                              We need better forges and they need to be p2p to survive. p2p is the only viable future for the web.

                              • endiangroup 40 minutes ago

                                AD: Thank you for your contribution! I also run a permissive seed node, vote by participation!

                                • endiangroup 40 minutes ago

                                  AD: Whats holding you back from using it as your primary?

                                • ilaksh 38 minutes ago

                                  Can radicle seeds run over IPV6? Seems like since IPV6 doesn't have NAT it should be a big advantage for p2p and as it becomes more available the need for everyone to set up port forwarding or get a VPS to seed should go down.

                                  ISPs will try to block use of IPV6 for serving content, but eventually I think users will win because ultimately it should be a right to share information.

                                • jrm4 41 minutes ago

                                  Interesting. I've been critical on "decentralized" for other types of communication (e.g. ATProto/Bluesky) because it seems to forget that "forgetting is sometimes good."

                                  But this seems excellent for code, a thing that (to the extent you can or should be) is mostly apolitical.

                                  • endiangroup 36 minutes ago

                                    AD: We're looking ad introducing 'forgetting' as a feature, there may be a mutually beneficial way of signalling to permissive seeds when content is no longer relevant or stale or actively been flagged for removal.

                                  • acedTrex 16 minutes ago

                                    Damn the UI feels great, actually kind of eerie

                                    • wantlotsofcurry an hour ago

                                      Radicle, Tangled, etc are the future of forges!

                                      • HexDecOctBin an hour ago

                                        What is the revenue model for Tangled? This is why ATProto stuff worries me, the AppView is expensive to host and no one has created a paid service yet to achieve sustainability.

                                        • phoronixrly 34 minutes ago

                                          I don't see any revenue streams, just VC funding. Which raises all kinds of red flags.

                                      • k__ 20 minutes ago

                                        Is Radworks/$RAD still a thing?

                                      • endiangroup an hour ago

                                        AD: Newly joined protocol dev here, feel free to ask questions!

                                        • Tepix an hour ago

                                          This sounds pretty cool, can I do pull requests across radicle instances?

                                          gitlab recently closed a 2015 feature request https://gitlab.com/gitlab-org/gitlab/-/issues/14116

                                          PS: What's this "AD" prefix you're using?

                                          • endiangroup an hour ago

                                            AD: The prefix is my initials :) - my only HN account is a shared one with a co-op organisation I work through. I use AD to distinguish who's commenting... however my co-workers have yet to use this account ha!

                                            • endiangroup an hour ago

                                              AD: Pull requests are `patches` in radicle, when you clone a repository you create a git namespace for yourself from which you can edit to your hearts desire, you can then open patches to other repos via this mechanism.

                                            • a-french-anon an hour ago

                                              Hello, I read the FAQ and didn't manage to find (perhaps my fault) if users had to store data they didn't explicitly/manually cloned; like Freenet. Is it the case?

                                              • lorenzleutgeb an hour ago

                                                No. Please refer to https://radicle.xyz/guides/user and read this to understand the concept of "policies". This should answer your question, but otherwise of course I am happy to explain further.

                                                • endiangroup an hour ago

                                                  AD: You have control over what you seed, if you are a permissive node you accept all content on the network, but by default your local node will only seed what you instruct it too.

                                              • clot27 15 minutes ago

                                                This seems good