Radicle: An Open-Source, Peer-to-Peer, GitHub Alternative

diagram of the radicle node-to-node connectivity

The actions of certain large social networks have recently highlighted how a small number of people possess significant power over the masses and how this power is sometimes misused. Consequently, there has been a surge in the development of federated (or decentralized) services, such as Mastodon and Matrix.  But what about development? While GitHub and similar services are less likely to be used for political manipulation, they are still centralized services with a common failure point. Radicle is an open-source, peer-to-peer collaboration stack built on top of Git but backed with public key cryptography as a standard and a gossip protocol to ensure widespread data sharing across the network and, thus, some fault tolerance.

Essentially, code and associated documentation are secured cryptographically with an identity. The Git protocol is used for actual data transfer from peer-to-peer, which means that updates are only sent as deltas, not complete copies, maximizing channel bandwidth efficiency. A custom gossip protocol is used for metadata transfer around the network of peers. The projects had a local-first ideology, with users running a full-stack node on their hardware and all features available, even offline, which is great for laptop users who move around locations with sporadic access to the internet.

Judging from their Zulipchat instance, this is a highly active space, so perhaps it is worth diving in and seeing if it floats your boat. Fancy getting onto the Fediverse, but only have a spare MS-DOS machine to try it on? We’ve got it covered. Want to use Git but not online? You need a private Git server. Finally, too much Git? How about Gitless?

Thanks [Anonymous] for the tip! No, that wasn’t lost on us :D

26 thoughts on “Radicle: An Open-Source, Peer-to-Peer, GitHub Alternative

        1. I’m guessing it’s referring to the debacle between Elon, who had an initial investment in the non-profit org Open AI, and Open AI, who is trying to act like a for-profit type of business now.

          I think that’s the overall story the other post was referring

          1. And even when they were initially acting like a non-profit, it still didn’t seem they actually openly shared any of their AI developments with the wider community. An open AI is one which can run locally, where each parameter can be adjusted, each safety limit turned on or off granularly, where sections of the model irrelevant to the use case can be cut out to save space when needed, and where the model can run on any hardware however slow, just with slower (potentially vastly) responses to inputs.

    1. I think that the demand profile would be different. The average people who use p2p purely want to see an episode of The Office for free. And not get a letter from their IP. The average user of something like this would be someone else entirely.

      1. Github-like tools could still exist with such p2p infrastructure. We just have to decentralize distribution.
        Other services like indexing and linking could still be done by a centralized service or, even better, by multiple companies competing on a completely open market.

  1. Internet would a lot cooler place if CGNATs stopped existing and everyone adopted IPv6. I want to host my own website and FTP server on a NUC at home but too bad CGNATs just won’t allow that.

    Also since we’re on the topic of P2P networks, let me ask this.
    Is there any way for a P2P connection to be created between two machines without the use of a relay server (or whatever its called, the intermediate public server which lets the two parties know of each other’s IP address so that hole punching can be attempted)

    I was able to write a small utility using a dweet.io server to work as a relay server and create a P2P connection between two machines. Now I just use zerotier to have a VLAN between all my machines.

    1. You just need to understand that the evil will widespread whenever there is a place for it. You cannot save the world, and innocent people should not be punished because some perpetrators who would use these services for this kind of evil activity exist.

  2. “While GitHub and similar services are less likely to be used for political manipulation”

    Just try to use it from certain countries which have some dispute with the government of the US…

    “`
    You may not use GitHub in violation of export control or sanctions laws of the United States or any other applicable jurisdiction. You may not use GitHub if you are or are working on behalf of a Specially Designated National (SDN) or a person subject to similar blocking or denied party prohibitions administered by a U.S. government agency. GitHub may allow persons in certain sanctioned countries or territories to access certain GitHub services pursuant to U.S. government authorizations. For more information, please see our Export Controls policy.
    “`

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.