Understanding decentralized servers (like the Fediverse, Matrix, XMPP etc)

Written by Bruno Fontes, 19 Jun 2023

This is a post for new users, with low to no knowledge about decentralized services. The ideia is to provide a simple explanation to everyone that could find that complicated.

The Matrix / XMPP / Fediverse are communities of decentralized blah blah blah. You know the text, you've read it somewhere, but it might be still confusing on how to start, or WHERE to start. But, actually, it is not only simple, but this is also how the first services worked back them in the early years of the internet. And I bet you already use a decentralized service without knowing it!

When you have a proprietary service as WhatsApp, for example, you cannot communicate with anyone else if they do not join, well... WhatsApp. But if you don't like the WhatsApp interface and you want to change it for another program, you won't be able to do it without losing contact with your friends or family. So you stay in, even not liking to use it anymore. While this is a very simple way of doing stuff, there is also this hidden "menace": you can't leave or you will not reach your friends anymore.

But let's think about a different way of communicating, an older, very stable and extremely used up to Today: the e-mail. You have it and you can send and receive e-mails from anyone in the world, but there is a difference here: you do not need to be using the same server as your friends. You might use an e-mail from Gmail, Yahoo, Microsoft, Zoho and many, many others (even your own e-mail server) and still exchange messages. Don't you like to use your current server anymore? Not a problem! Just send your friends your brand new e-mail address (your-username@your-server.com) and done, everything keeps working nicely. You can even have some "backup" e-mails in different servers in case one of them stop working.

This would be already good enough but there is something even better: if you like your e-mail server but do not like the website they provide, you can use an external e-mail client. Just configure your Microsoft Outlook, Thunderbird, SeaMonkey, mobile app or any of a huge amount of other ones (including other e-mails services). With them, you can access all your e-mail accounts in a single place, organize them the way you prefer, have a local copy, etc.

Does that rings a bell? Yes, your e-mail is a decentralized service! You already use it and it is easy to understand. Actually, other decentralized services works on very similar ways: for example, on Fediverse you choose your server (they usually have a website to interact with it) and you might choose an external tool if you prefer. So you just add your friends and start talking with them. The chances are your e-mail server do not send you random e-mails that you might find interesting nor change your e-mail order just to keep you connected the entire day. They only send/receive what you said you want and anything other than that you just flag as spam and move on. This pretty much describes what the Fediverse, Matrix, XMPP, etc are.


"But Bruno, I do not know a lot of people, and I WANT to see other people messages to get to know people"

Not a problem at all! You can also do that in the Fediverse, but better. Think about your Fediverse server as a neighborhood. You will have a lot of contact with the people that are in the same neighborhood as you, but you can also see people from other places as well. On Fediverse, each server works like a neighborhood and you have a public square (called "Local timeline") on which you will see them all. Remember I said it was better? Well, it is very common to find servers with a "theme", so everyone there will be probably talking about that subject.

But the most fantastic part of the Fediverse (after being decentralized) is how completely different formats talk to each other. It works as if you could see posts from Facebook, Instagram and even the new realeased YouTube video from that channel you like directly from your Twitter account, by just following their address (that looks like an e-mail address: "@your-username@your-server").

Example of Fediverse services (they all talk to each other) are: Mastodon, Pleroma (both similar to Twitter), Pixelfed (similar to Instagram), Lemmy (similar to Reddit), PeerTube (similar to YouTube), etc etc.


There are some federated (decentralized) services to chat, as the Matrix and XMPP. While with a Matrix account you can exchange messages with anyone on any Matrix server, those two protocols (Matrix and XMPP) do not talk natively as the Fediverse does. So you will need to choose one service that you prefer to stick to, configure a bridge software (that will send messages from/to the service in your name) or yet just create an account of each one and use two different softwares (as you probably do with WhatsApp and Telegram). And, if you were so passionate about hosting services as I am, you can host both servers for you and your family.


While some of those services do not appear to be as polished as the commercial versions, you are always free to change your server without losing any of your contacts. You can just move around, jump here and there and change any time you find you would be a better fit somewhere else. A few of those services even provide a help to this transition. As a bonus: most of those services do respect your privacy and do not collect your data, so it is a win-win scenario!

Some links worth checking...

If you want to contact me...

Image: 3D visualization of a proposed Fediverse logo. Image via Wikimedia Commons by Eukombos. CC BY-SA 4.0