Fediverse

The Background

For most of us, social media is a daily part of our lives. We use it to connect with friends, share our experiences & cat photos, and debate strangers about Star Wars trivia. That’s the upside.

But the downside is pretty awful…

Traditional social media platforms offer little or no control over our own data and images. For example, even though we own our Facebook posts, pictures, and videos, the legal reality — which hasn’t changed since 2015 and you should absolutely read here — isn’t what you probably think:

“By using their platform, users grant Meta a non-exclusive, transferable, sub-licensable, royalty-free, worldwide license to use any IP content that [we] post on or in connection with Facebook…”

Translation? The platform can use our data and posts to create a pornographic amount of earnings and profit:

Meta earned a net $23 billion dollars in 2022

Shitter earned $4.4 billion in revenue in 2022

Snap earned $4.6 billion in revenue in 2022

These earnings come from learning details about who we are and selling that data to advertisers, who then bombard us with targeted advertising based on our click history and user profile.

Worse, every traditional social media platform manipulates not only what and who we see but also when we see it based on a hidden algorithm. That has led to bubbles of people who confirm each other’s biases and helps the now pervasive spread of disinformation and outrage.

Back in Episode 49 of my newsletter, I explained why the Facebook empire run by Mark Zuckerberg is a manipulative, destructive, and greedy corporate entity that refuses to protect its users’ privacy or stop the spread of disinformation. Not that Shitter, Instagram, or Snapchat are any better. They’re not, but that’s intentional.

Today’s social media design results in substandard products based on a parasitic premise: you and your data are the product and maximizing profits is more important than Democracy, security, or privacy.

That’s not an exaggeration: Facebook publically states on its terms page that it cannot guarantee our safety.

But… what if there were a better design?

What is the Fediverse?

First, let’s get the name out of the way: Fediverse stands for Federated Universe.

The name is a good descriptor. The Fediverse is a network of interconnected social platforms offering features we’ve come to love including micro-blogging, photo sharing, music and art posts, or interactive messaging boards. The main difference? The Fediverse platforms collectively operate, in this case on open standards and protocols.

Design matters

The design of the Fediverse is a big deal. Today’s biggest social media platforms are owned and controlled by a single, corporate entity and are run on closed standards using code and algorithms that we’ll never see. These decisions allow a few, select people to wield enormous power and control over billions of people’s daily experiences.

Because of that, let’s call this The Dictator Approach to social media: “I’m in charge! You have no choice but to trust me! Me and my teams know what’s best for you and for your data so we’ll take care of things for you.”

The Fediverse goes in the opposite direction.

Instead of having a single, corporate owner, The Fediverse is a federation of independently operated “instances”. Instances are simply servers that an individual or a company uses to run the software and services used to access The Fediverse.

Let’s call this The Democracy Approach to social media: “Lots of people share control! That includes you! And, since you know better than we do what’s best for you and your data, you get to decide how all of that is managed.”

How does it work?

I’ll use Mastodon as an example. For those who haven’t heard of Mastodon, it’s a federated social media platform that looks and works a lot like Twitter… only it isn’t owned by a control freak who likes giving white supremacists a place to amplify their vile hatred.

That’s why I now call the platform Shitter. It’s also why millions of people and advertisers have left Twitter and flocked to greener pastures.

Joining Mastodon is easy: users register by signing up via an instance that best represents their region, interests, or personality. There are thousands of different servers and some specialize in catering to gamers, artists, the LGBTQIA+ community, and, of course, tech.

As I’m a writer on Medium, I created my Tech Talk account on their Mastodon instance. Once I’m logged in, I can interact with other users on the Medium instance. Fun! However, the real magic is that all Mastodon instances also allow users to read, follow, or chat with people on ANY OTHER instance.

How? Because The Fediverse is built on open-source communication protocols. This decentralized design ensures that there is no single point of failure or censorship. That way, one person or corporation can’t have complete control over the network.

Doesn’t that sound familiar?

It should. What I just described is, essentially, how email works. Anyone can sign up for any email provider. But even if I sign up for ProtonMail and you sign up for Outlook, we can still send each other emails. That’s because email servers all use the same standard protocol to communicate.

The goal of The Fediverse is to bring that model of communication to social media.

What’s under the hood?

At the core of The Fediverse’s decentralized design is a communication protocol that allows interaction between instances. It’s called ActivityPub and it’s an open-source and decentralized protocol for social networking. ActivityPub allows instances to exchange messages, share content, and follow each other, creating a network of interconnected platforms.

Sidebar: open-source means that ActivityPub’s code is publically shared, so that anyone can view it, confirm that it is secure, and — more importantly — find bugs and improve it. For these reasons, open-source is considered “The Gold Standard” of software.

To best demonstrate how powerful ActivtyPub is, let’s do a thought experiment… Imagine if a user on Facebook user could seamlessly share messages with users on Instagram, Snapchat, or Shitter. Wouldn’t that be cool?

Of course, that’s not possible because there IS no interconnectivity between the big, private social media platforms.

But there is in The Fediverse, and ActivityPub is the reason why! This is why I think of it as the root of the Fediverse tree:

Security

Security and privacy are major concerns when it comes to online interactions. This is why privacy advocates despise Facebook and Shitter. The Fediverse addresses these concerns by incorporating security measures into its design.

Decentralization

Design is important. In this case, the design of the Fediverse network is one of its security measures. In a decentralized network, no single point of failure or vulnerability can compromise the entire system. That means the Fediverse will continue to operate, even if ten, 100, or 1000 servers are hacked or shut down for any reason.

Not true for Facebook.

Back in October of 2021, they had a global shutdown that lasted for 6–7 hours. BILLIONS of people couldn’t log on to any of Facebook’s kingdom of social media websites, including WhatsApp and Instagram. And, while I’m no fan of Facebook, a global shutdown event like that is terrifying. BILLIONS of people who rely on the Facebook empire of apps to communicate with one another… suddenly could not.

While traditional social media platforms can’t stop attacks like these, the Fediverse now makes them irrelevant: malicious hackers have no ability to simultaneously take down nearly 10,000 servers in 10,000 locations run on 10,000 networks that are administered by 10,000+ admins with different security protocols.

You own your posts and data

One of the fundamental principles of The Fediverse is user ownership and control. You retain ownership of your posts and have the ability to decide who can view and interact with your content. In practical terms, that means you can:

1. Set your posts to auto-delete after a certain amount of time

2. Export your posts, media, and follower lists

3. Leave one server and migrate to another without losing your followers

That last item, in particular, is amazing to me. It’s like saying, “I don’t like you anymore, Facebook! So I’m gonna MOVE all of my friends and followers over to Snapchat or MeWe where I’ll interact with those same people.”

Amazing… but there are limits.

Currently, although users can migrate friends/followers, they cannot migrate their posts and media from an old server to a new one. Instead, old posts can remain posted (if you elect that) so that old posts from the previous account redirect to the NEW ones. Neat.

Currently, users can only download an archive of their posts and media, but cannot bulk upload them onto a new instance. While that sucks, I’m guessing that — in the not-too-distant future — Mastodon and other services running on ActivityPub will make that possible as well.

Caveat emptor

Security isn’t just about the tech that you use: it’s also about how you use your tech. Mastodon is a better option than traditional Social Media platforms, but it still puts your data into the world. And sharing with the world has its benefits and its drawbacks. Once you’ve posted something, you have far less control over it, so:

1. When in doubt, don’t post it.

2. Once posted, assume that your post can/will be found later.

3. Choose your partners and platforms wisely.

On a decentralized network, each Fediverse instance operates independently. That means that each employs its own admins who, in turn, implement their own security measures and moderation policies. Some admins may operate their instances with stronger community guidelines than others. Read those guidelines before you join an instance.

If you’re in doubt, join well-run and well-liked instances such as Medium’s, Mastodon.Social, or others.

And, if all of that isn’t enough… there is one other security solution for those who want the MOST control over their data.

Run your own instance

The design of The Fediverse enables anyone to run your own instance. This means that we can set up and host our own social media platform on our own networks, free from corporate oversight or rules.

Running an instance allows users to create a digital space that aligns with their values and preferences. They can curate the community, moderate content, and customize the platform’s features to cater to the specific needs of their users. You can also restrict membership, if you desire, to ONLY people that you invite. Want a social media platform just for your extended family or for your college or high school graduating class? You can do that now.

This level of customization is impossible on Facebook or Shitter.

In my opinion, it provides a more tailored and personalized social media experience. Frankly, it’s also a lot more like our in-person interactions. We not only choose who to spend time with and who to avoid, but we also decide which community organizations to join or leave based on how those communities behave.

That kind of freedom should be built into the design of our digital worlds as well.

With the ability to run your instance, you have the freedom to create your own social media space and shape the online experience according to your preferences, not someone else’s.

Why It’s Better than Tradition Social Media?

If I haven’t made it clear already, The Fediverse offers many advantages over traditional social media platforms. Let’s explore the biggest and best of these…

You can move your data

In The Fediverse, you have the flexibility to move your data between different instances. This portability feature is a huge advantage over traditional social media platforms, where migrating your data isn’t possible. If you’re dissatisfied with one Fediverse instance or you simply want to explore different platforms, you can transfer your profile and followers to a new instance within The Fediverse. Here’s how.

This freedom ensures that you are not locked into a single platform or subject to the whims of a centralized authority. It allows you to explore different communities, discover new connections, and adapt to evolving preferences without losing your online identity and social network.

There’s no advertising?

That’s right, friends! There are no advertisements on The Fediverse, so you won’t be bombarded with tailored ads based on your browsing habits or personal information. This absence of advertising creates a more authentic and focused social media experience, where interactions are driven by genuine connections and shared interests rather than any commercial overlords or creepy agendas.

There’s no algorithm.

Traditional social media platforms employ complex algorithms that curate your feed and prioritize certain content over others. This manipulation can lead to information bubbles, echo chambers, and the amplification of certain voices while suppressing others.

The Fediverse takes a different approach. And by different, I mean none.

There is no algorithm governing your timeline on The Fediverse. Instead, you have direct control over the content you see. You choose who to follow, which instances to connect with, and how to curate your feed. This user-driven approach ensures a more diverse and inclusive experience, where you have the power to shape your online environment and engage with a wider range of perspectives.

The money thing

All of this should beg the question: if there are no ads and no algorithms and it’s free to sign up and use then… how does The Fediverse actually support itself? It’s the obvious question and the answer is also obvious: it runs on donations.

Therefore, you should donate. Does that mean you have to donate? No. But ask yourself how much it’s worth to:

1. Not have your data harvested by a company?

2. Not be manipulated by an algorithm?

3. Not be bombarded by ads?

4. Not have your posts, pics, videos, and writing owned and manipulated by others?

If you don’t want yourself to be the product, then it’s 100% worth donating $60–100/year to your instance admin. That money goes to paying for the hardware and software that runs your instance but it will ALSO go to paying for the time that admins put into fixing problems, moderating users, and creating a safe, fun, and informative environment.

Popular Fediverse Platforms

Nearly every popular social media website now has a Fediverse equivalent. All are free to join. That makes it easier than EVER to connect with friends, share opinions, and post photos and videos, all while NOT having a company harvesting that data for their personal or corporate profits.

I urge everyone to check out the platforms below and set up accounts. Then, tell your friends and family to do the same. Traditional social media companies and their “dictatorship approaches” cannot survive when users leave in droves when they discover that there are actually better solutions.

I’ve linked my own accounts below, so come find and connect with me!

Microblogging:

Migrate from Shitter – > Mastodon

Photo Sharing:

Migrate from Instagram – > PixelFed

News Feeds & Messaging:

Migrate from Facebook – > Firefish

Video Creation & Watching:

Migrate from YouTube – > PeerTube

Topic-Organized Discussions:

Migrate from Reddit – > kbin or Lemmy

Writing:

Migrate from Medium – > WriteFreely

Music & Composition:

Migrate from Soundcloud – > FunkWhale

ActivityPub, Fediverse and the Future of social networks

A Crash Course into ActivityPub

The ActivityPub protocol is a decentralized social networking protocol, it defines how applications can represent and communicate classic social network interactions such as ‘Posting a Photo’ or ‘Following a person’, creating a standard with which decentralized social network servers and clients can communicate. ActivityPub is a real-time pub/sub protocol, based on HTTP and JSON.

Let’s start by breaking down an ActivityPub request with one example request, this is a request from Alice to follow Bob on a social network:

HTTP POST Request:

{
"@context" : "https://www.w3.org/ns/activitystreams",
"id":"https://my-example.com/my-first-follow",
"type" : "Follow",
"actor" : "https://mastodon.social/users/Alice",
"object" : "https://mastodon.social/users/Bob"
}

At first glance, you might notice how intuitive it is, we are making a request of type ‘Follow’ performed by the actor ‘Alice’ to the object ‘Bob’. There are three sets of types in ActivityPub:

Activities: They describe actions that can happen on the social network.
Actors: Describe entities that can perform activities.
Objects: Describes an object of any kind.

With these three sets, we can describe classic social network interactions, such as posting an image, following someone, or checking in on an event. The value that ActivityPub creates is by defining a standard to communicate these interactions across federated social networks, creating the possibility, for example, for a user on a social network to follow and interact with someone on a different network.

In order to enable federated social network interactions ActivityPub created the definition of an actor Inbox and Outbox, these are a collection of every action published by the actors that are ready to be requested by other social networks (Outbox) and a collection in which an actor receives actions performed by other actors (Inbox).

In practical terms, your “Inbox” will be an endpoint in which other actors can do POST requests to inform you of new activities, and your “Outbox” will be requested using GET requests by actors to update themselves on the latest activities you created.

Your Inbox and Outbox exist on your ‘Home Server’, we are going to explore the concept of a ‘Home server’ later but for now think of it as the server that is hosting your social network account, this server is going to be responsible for the underlying infrastructure of your social network, for receiving new activities posted on your Inbox and for making your Outbox available for other networks to fetch.

The Fediverse

‘Fediverse’ is a combination of the words “Federated” and “Universe”, it’s also a term that was invented to describe a group of federated social networks that interact with each other using protocols such as the ActivityPub. It started out with a single social network in 2008 and now has more than thousands of live instances with millions of active users. Since the release of ActivityPub in 2018 most of these servers already added support for it and it’s now the most prominent protocol for this server-to-server communication.

In order to join the Fediverse as a user you need to either create your own server to host your account or to choose an existing instance to be your ‘Home server’. Your home server will be responsible for all your account infrastructure on the Fediverse, it will host your Inbox and Outbox and will be the source of truth for your account information.

Adding support for ActivityPub and joining the Fediverse means that a social network can leverage the existing user base of the Fediverse to create content for its own users and to increase the reach of users on its network.

One of the biggest drivers behind the growth of the Fediverse is the open-source project Mastodon. Mastodon is an open-source social network server based on ActivityPub that you can use to host your own social network, it’s also the backend for some of the biggest Fediverse projects that are currently live, such as the Mastodon Social (1M+ users) and Truth Social (2M+ users).

Why would users care about the Fediverse?

There are two main benefits of being part of the Fediverse, Freedom and Content.

Being part of the Fediverse means that you have the freedom to choose a network tailored to your specific needs as your home server, users are free to pick instances based on their content moderation policy, technical reliability, and others, while still being able to interact with their friends that are using a different network or even hosting their own instance.

Using a Fediverse social network also means that you are going to have more content than a traditionally upcoming social network. The Fediverse already has millions of users and several social networks have already announced that they are going to add support for it, such as Tumblr and Threads, this means that even if you are part of a small federated instance you can still consume content being posted on other social networks.

As Bill Gates once said, “Content is king” on the Internet, and since the beginning of social networks users have flocked to where content is being published, but this might change with the Fediverse. With content being available to the whole Fediverse as opposed to a single social network instance this means that each user can make their decision about their home server without taking content into consideration.

Challenges Ahead

Both ActivityPub and the Fediverse have several challenges ahead if they are to continue with their current growth rate.

The first and most pressing one is scalability, ActivityPub is a very recent protocol, it was published in 2018 and so far it has been an uphill battle to scale it with constant outages and degraded user experience. This could be a common case of scaling issues for an early-stage social network with a high growth rate however there are some design decisions behind this protocol that might make it especially hard to scale. Jeff Darcy, an engineer at Meta, wrote a post about this topic, I recommend the read for more context about some of these issues as well as some insights on scaling social networks.

Another important issue is privacy and safety, being a distributed and decentralized network the Fediverse doesn’t have guarantees on how instances are going to handle users right to privacy. Let’s walk through an example, a user posts a picture on their feed, the post is then distributed to all the instances connected to the Fediverse however the user realizes they made a mistake and chooses to delete the picture, in this scenario, a request to delete the picture will be sent to all instances but there are no guarantees that they are going to actually fulfill this request. This issue is not only about instances acting in bad faith, there might be legitimate instances with different policies regarding content deletion requests. In short, there are no guarantees on how instances and users in different instances will interact with the content you post.

Lastly, it’s not clear what the incentives will be for existing social networks to join the Fediverse. Networks in the Fediverse distribute all the content being posted on them, meaning that users will be able to access content that was previously only accessible on their own app/website on a completely different surface, over which the network has no control over. This creates several monetization issues, for example, websites won’t be able to display ads when you consume content shared by them on a different social network.

Keep an eye out

Regardless if you want to create an account in a Fediverse instance or if you use a social network that will add support for it, I recommend keeping an eye out for this space. It’s not frequent that we have an experience of a distributed and federated group of social networks at this scale and, given the current growth trend, it might just be the beginning of a new standard for how social networks operate on the web.