monero:83sNwHc5zr69XeHXMJ8PewMoBGpKCwGHEKYuKmZ5j78UM3Bawuo4rgKjZRBbbu1EhE8QcPh2Vv4Ec6AGAmSEeceVEWBZhCy

Cradicle

An open-source experimental git network for free decentralized repo hosting

Cradicle
A screenshot of Cradicle's explorer in a web browser

Built on Radicle, with components reimplemented in C, and with new features

Linux AppImage Download
Documentation Link missing
Tor-native explorer http://xa2mqd7youtrbayabl2nae6froqullxyvgnm4pvnaoxxrpmptiwp54yd.onion
Discussion Use the #cradicle hashtag on nostr
----
Quick links to git repos (git clone repo_url repo_name)
crad https://iris.radicle.xyz/z2ydYmUCJvDfNFTVTpEbQmm55EPt1.git
custom libssh https://iris.radicle.xyz/z3azMM7wahAi6AKgfhynEnZ5XzrSq.git
crad-gui https://iris.radicle.xyz/zVKd2asJa4AzDkQ3VQSoxanBipAX.git

What is this all about?

Radicle is an open-source code collaboration stack built on Git. It's partly peer-to-peer, but its creators and proponents usually leave out the "partly," conflating it with more well-known P2P networks such as BitTorrent.

Cradicle is designed to fix that, offering a truly P2P network, in order to provide git repo hosting freedom.

If successful, Cradicle should allow anyone to share their projects and app downloads freely, without relying on GitHub or equivalents.

----

Added features

2 arrows icon

Universal peerage via Tor

Unlike Radicle's "peer-to-peer-to-peasant" design, Cradicle is designed to allow any user to become a seeding peer, using Tor onion service integration.

JavaScript-free browser interface

Instead of a "web app" relying on JavaScript, Cradicle's web interface pages are generated in plain HTML.

no javascript icon
nostr logo

Planned: nostr keypairs

While nostr desperately needs decentralized git hosting, nostr devs have complained about Radicle's keypairs being incompatible with nostr's. Therefore, Cradicle will add a nostr keypair mode.

Funding to create Cradicle was raised by a Monero project bounty where these improvements were proposed:
https://bounties.monero.social/posts/207/

----

What do we mean about "peer-to-peer seeding?"

The term "peer-to-peer" was popularized by networks like BitTorrent, defined by offering all users the opportunity to act as "peers" seeding data to each other, rather than clients of a centralized network. "Seeding" means allowing other users to download data from your system, and everyone being able to do this makes everyone a "peer."

Radicle doesn't allow all users to be seeders, but it calls itself "peer-to-peer" and "decentralized" because it does enable many users to become seeding peers. This makes it much less centralized than GitHub and other options.

In order to seed on Radicle, a user needs access to centralized resources such as a DNS name or static IP address, or the skills to implement their own alternative seeding methods.

A new name for this model could be "peer-to-peer-to-peasant" - data can be transferred between peers when two users both have the needed resources and skills, while other data transfers involve users who are not able to become seeding peers.

Cradicle is designed to solve this using Tor, a decentralized network, designed with censorship resistance as a high priority. Tor replaces DNS names with .onion addresses, which use keypairs as an address space, and allow anyone to control their own address. Cradicle simplifies the process of seeding using Tor, so that no special resources or skills are needed.

Decentralized git hosting isn't just for code

Git is fundamentally a "version control system" - designed to keep track of changes in a file, who made those changes, and when.

By adding decentralized hosting, Radicle and Cradicle can form the basis for a wide range of use cases beyond git's typical use as a "code forge."

What else could you use this for?

Decentralized wiki backend

Wikipedia is famous for allowing users to write and rewrite encyclopedia entries. A wiki based on a decentralized git would provide better ways to organize contributions from all users, instead of simply blocking users and erasing entries a central authority disagrees with.

Decentralized databases, lists, charts

Wikipedia is also famous for hosting many lists and charts. A wiki based on a decentralized git could not block certain datasets from being included or completed. For example, there are paywalled climate databases, obfuscating data for researchers and allowing a central authority to manipulate it. Wikipedia props up such databases by refusing to provide space for free versions. With Radicle or Cradicle, users are free to make that space available.

Any tool that relies on public databases

A weather app needs a database of weather measurements, and potentially forecasts. You can't have a decentralized weather app without decentralized databases of things like air temperatures. Social media apps also require databases. Nostr and other similar projects have struggled to make those databases less centralized. Nostr itself can't even standardize how editing posts works under the hood. Maybe nostr is another thing that would be better if it used a network designed around a "version control system."

Tools that can't even work without decentralization

Honey is an infamous tool that promised to track prices and discount offers across the entire internet, so users could get the best price available on a product. It was an obvious scam, as it offered users no way to reinforce the quality of the database. Decentralized database storage with "version control" could be vital to creating a real version of a price comparison app like Honey.

Community policies and governance

Members of Congress take credit for bills written and rewritten by shadowy lobbying groups. Millions of voters have to select one representative to rephrase every paragraph of a bill they'd want to rephrase. Imagine if bills were written and passed through a decentralized wiki, where every user can review segments, suggest changes, and track each part's origins?

If Radicle and/or Cradicle aren't ready for some of these use cases, they should be refined until they are. Decentralized hosting with version control has the potential to change the world's data infrastructure completely.

Additional links

Cradicle feedback thread on Radicle's Zulip board

Radicle on Wikipedia

GitTorrent by Chris Ball (a different project with similar goals)


This webpage and the original proposal for Radicle ("Project Zymogen") are public domain, designed by:
whoever loves Digit
nostr:npub1wamvxt2tr50ghu4fdw47ksadnt0p277nv0vfhplmv0n0z3243zyq26u3l2

Cradicle is open-source software developed and hosted by:
Andrew K.