Decentralization is about Redundancy
Last time, I talked a bit about git patches, a system that takes advantage of the decentralized nature of Git. Given that decentralization is a large part of why patches are better, I thought I should talk a bit about the reasons why I think decentralization is a good thing.
My undergraduate degree was Software Engineering, so I like to think about this like an engineer would: decentralization is good because it is a form of redundancy, defined as a system that does not fail because of a single problem. A lack of redundancy is the fundamental problem of centralization: the center is a single point of failure. However, redundancy isn’t the only reason to decentralize: it is also useful because it gives the parts of the system relatively equal power - a desirable property when these parts represent people!
Examples of Decentralization
Git & git patches
If you aren’t a programmer/don’t know about it, Git is basically a system that allows you to store the history of changes to a set of files. This allows you to revert to older versions of a file, and share your changes with other people to collaborate on a project. It was designed to be used on source code, but can work with any kind of file.
Git is one example of decentralization. Before Git, most version control systems were centralized, meaning that every developer’s local copy was just a copy of the current state of the repository, and making any changes required connection & access to the central copy. One of Git’s largest innovations was making every clone of a repository a fully-fledged copy.
One advantage of this model is that you can do almost everything on Git while offline. This is great in places without (free and fast) internet, such as transit – something I have used plenty in my own life – but increases the speed of work even when you have good access.
You can also have multiple copies (forks) of a repository that can have their own changes, while still being able to merge these changes between copies. Some projects, like the Linux kernel, use this to make custom workflows that serve their needs, like being able to review changes quicker:
Distributed Git Workflows
Patches carved into stone tablets: Why the Linux kernel developers rely on plain text email instead of using “modern” development tools
In my own work, I need this to accept changes to my programming projects online without having to give people direct access to change my copies:
My previous post explaining this
All of this is possible because it allows for more than one usable copy of the same repository; in other words, because it increases redundancy.
Setting up my own website
Another example of decentralization is creating a personal website like this one, instead of hosting your stuff on platforms controlled by big businesses.
The main advantage of this is the ability to have a lot of control over how your personal website is run & what is on it. Your web server can contain more than just a website – you can run other apps such as a git server – or even this Gemini server.
Not every web hosting service will have every app available – and they shouldn’t have to! Centralizing the decisions about how websites are run means that the centre has to make the decisions for everyone, even if those people have vastly different desires. Letting people make their own decisions on how to run their websites – including the choice to let someone else do some of the work for them – is best, and is what decentralization does.
Federated Social Media (Nostr/Bluesky/Mastodon)
Something that seems to be getting popular lately is federated social media like Mastodon (ActivityPub), Bluesky (ATproto) and Nostr. These platforms are doing great things, and the only reason I’m not on them more is that I just don’t have much that I want to say on them ‾_(シ)_/‾
They have become more popular because of the decisions of certain centralized media platforms, which I’m sure you all know about. You could look for another platform with better leadership, but this model is fundamentally flawed, since by the nature of centralization, a single bad decision or aquisition is imposed on everyone who uses, and network effects mean that moving platforms means losing your connections, which no one wants to do. Have you noticed the pattern yet? This is also a situation where decentralization’s other benefit appears: it grants much more equal power to the people in the network.
Reading stuff via RSS
Another example of decentralization is RSS. It’s a protocol which allows you to read feeds from many websites at once, in one app, without any third parties able to censor them. You are in full control over what feeds you subscribe to and how you sort and order their posts.
What is RSS (Really Simple Syndication)?
RSS is very similar in design to the above social media protocols, and is good for the same reasons: there isn’t a single centre that needs to be controlled in order to force bad decisions onte everyone.
Why this Matters
I hope you’re convinced that decentralization is good because of redundancy and equality. Why should you care though? I have a few reasons:
- An understanding of the reasons why decentralization matters can help us answer the question of whether any given project is “decentralized enough” (e.g. debates between the different decentralized social media protocols). The best decentralized project is the one which most advances redundancy and equality, at the smallest cost to other things that matter.
- Redundancy and equality are broad principles that can be applied to a lot more situations than just the design of technology.
One example of this is Canada’s trade relationship with the US (I am Canadian). Over the past year, the Trump regime has attacked us economically over blatantly false claims in order to destroy our soverignty [1, 2] – something only possible because of our high dependence on trade with them. Almost every Canadian agrees now that we need to diversify our trade, but if we had followed the principle of redundancy before Trump took office, we wouldn’t have gotten into this mess in the first place.
[1] Trump tariffs on Canada ‘paused’ for 30 days after border commitments (“Asked […] if there was anything Canada can do to get its own reprieve, Trump said “I don’t know,” but then turned to his frequently mentioned push to acquire Canada.”)
[2] Trump doubles down today on his threat to impose steep tariffs on Canada