
So what's the Fediverse?
Imagine if popular social media was also Usenet.
Huh?
OK, let's back up a bit. Think about email.
Suppose Alice, in her job at TropeCo, comes across some information she thinks her friend Bob might be interested in. She uses her work email, alice@tropeco.com, to send a message to Bob's personal email, bob@gmail.com. Bob doesn't quite understand the significance of what Alice sent him, but he knows that his other friend, Carol, runs a website, carol.zone, which has lots of information on this kind of thing, and she also runs her own mail server. Bob pops Carol an email to carol@carol.zone. Carol receives Bob's email and sends him an explanation; looking deeper into the stuff Alice sent out, she thinks TropeCo might be up to something untoward, so reaches out to one of her sources, David, a journalist at the Daily Express. David receives Carol's email at his work address, david@dailyexpress.news.
See that? Alice, Bob, Carol, and David all have email addresses run by different companies on different websites - Alice and David use emails provided by their employers, Bob uses Google's free email service, and Carol runs her own. But they can all communicate because email is a standard, not a product, and thus anybody with the requisite knowledge can run an email server. This works because of protocols, which are formal rules defining how email works. Email's central protocol is SMTP
, a standard which defines what an email message is and how to deliver it. There are other protocols which define how an email client reads and displays a message; IMAP
and POP3
are by far the most common because they are open, but some companies implement their own proprietary protocols. But it doesn't matter which retrieval protocol you use as long as you use SMTP to send mail, because conformance to SMTP is what defines an email message.
What does this have to do with social media?
The Fediverse takes this concept and applies it to social media. The central protocol is called ActivityPub
. ActivityPub defines what a social media post looks like, how it is posted, and how to deliver it. Various other services can be built on top of ActivityPub which use it to give different experiences, such as Mastodon, Sharkey, Akkoma, Lemmy, Pixelfed, and PeerTube.
Mastodon! I've heard of that! That's like the Fediverse version of Twitter / X, right?
Indeed it is. Let's just consider Mastodon for the moment.
Mastodon is a web programme for social media built on top of ActivityPub. It is not a website; actually, lots of websites run Mastodon. This is where we get into the concept of federation.
Is that like a Star Trek thing?
No, though lots of Fediverse users do like to imagine they live in the Star Trek universe.
Anyway, suppose you install Mastodon on a server with the URL hachyderm.io. Alice signs up to hachyderm.io, and her user handle is thus @alice@hachyderm.io. Alice can use her account to follow and interact with other users on hachyderm.io, much like someone on x.com can follow and interact with users on x.com.
Meanwhile, someone else installs Mastodon on a different website, at sauropods.win. Bob signs up for this site, and his handle is @bob@sauropods.win. Like Alice on hachyderm.io, Bob can follow and interact with accounts on saurpods.win. Since hachyderm.io and saurpods.win are both separate websites running Mastodon, they are referred to as instances (and as a matter of fact both
are real instances
you can sign up to).
Things get more interesting when sites start to federate. If hachyderm.io and saurpods.win federate with each other, then users on hachyderm.io can follow and interact with users on saurpods.win, and vice versa. Alice and Bob can follow and interact with each other despite having accounts on completely seperate websites! The network of instances that all federate with each other constitute the Fediverse.
So as long as two instances are in federation, users can speak to each other?
There's some nuance. Let's say Carol sees her friends are using Mastodon and decides to install it in a subdomain on her own site, at social.carol.zone. She takes the handle @carol@social.carol.zone and doesn't allow anyone else to sign up. If saurpods.win opts to federate with social.carol.zone but hachyderm.io doesn't, then Carol and Bob can easily interact with each other. Carol can still follow Alice if she jumps through a few hoops. She can do so by manually entering a URL such as social.carol.zone/@alice@hachyderm.io to view Alice's profile within social.carol.zone; alternatively, she can also see any of Alice's posts which Bob boosts, and get to Alice's profile by clicking on her display name that way. Either way, she can still follow Alice's account, but Alice's posts will go hachyderm.io → sauropods.win → social.carol.zone rather than directly from hachyderm.io to social.carol.zone.
An instance can also completely block another instance; this is termed defederation, and if two instances are defederated, posts from one will not show up on the other.
Why run different instances? Wouldn't it be easier to just have everybody on one big instance, like Twitter/X does?
Perhaps, but there are a few reasons to have multiple instances.
For one thing, having lots of instances means that nobody owns the Fediverse, and if one server goes down, the rest of the network will remain. Conversely, if x.com goes down, that's all of Twitter/X down.
Multiple instances allow different individuals and communities to choose rules that work for them. Some instances are intended for people with a particular hobby or who live in a certain place, and thus build community. Some restrict accounts to members of particular companies or groups, some to people who work in particular industries. Some serve speakers of particular languages. Some have rules about what sort of thing can be posted. This means that the moderators of a specific instance are only responsible for the behaviour of users on that instance, rather than everybody in the network. If a user doesn't like their instance's rules, they can move their account to a different instance instead of leaving their network completely.
Different instances will also have different timelines. Generally, a Fediverse instance offers users three different timelines:
- The Home timeline is comprised of posts posted or boosted by accounts they follow, or containing hashtags they follow.
- The Local timeline is comprised of posts by accounts on that instance.
- The Federated timeline is comprised of posts by accounts on other instances which are followed by at least one account on the home instance.
Checking out the Local and Federated timelines is a good way to stumble onto interesting accounts to follow.
And, of course, having lots of instances allows people to run different services.
Different services? So it's not just Mastodon?
Not at all. Sharkey, for example, is the Fediverse version of Tumblr.
Suppose David wants to interact with his friends on social media, but prefers Tumblr to Twitter. He can sign up to froggie.gay (which is a real Sharkey instance; as you may have noticed, Fediverse people like quirky URLs) and get a Tumblr-like experience with the handle @david@froggie.gay. And, because froggie.gay federates with hachyderm.io, sauropods.win, and social.carol.zone, David can follow and interact with Alice, Bob, and Carol's Mastodon accounts as if they were Sharkey accounts. Likewise, his own posts will show up in their home timelines as if they were Mastodon posts!
Since it's all open source, it seems like someone with enough motivation could make a whole bunch of Fediverse versions of Twitter or Tumblr.
They have. In fact, Sharkey is far from the first to go for a Tumblr experience. Misskey was the first, and it's still going strong and quite popular in Japan, where it originated. Firefish (originally called Calckey) was a fork of Misskey, which changed the interface language to English. However, due to some issues in the lead developer's private life, development stalled and a few forks were made, of which Sharkey is now the most prominent.
Akkoma is another Tumblr-like which is completely unrelated to Misskey. It itself is a fork of Pleroma, another Fediverse project, and was made due to the Pleroma developers splitting over personal issues.
What other services are there?
Quite a few; we'll just hit the big ones.
Pixelfed is the Fediverse version of Instagram. It can follow accounts from any Fediverse instance, but will only display posts that contain an image.
WriteFreely is a blogging platform, similar to WordPress. WordPress itself has since developed a plugin that allows a hosted blog to federate, with replies to it showing up as comments.
PeerTube is the Fediverse version of YouTube.
Lemmy uses ActivityPub in a rather clever way to give an experience comparable to Reddit. Users can upvote and downvote posts, with upvotes on Lemmy being equivalent to boosts on other services. Non-Lemmy users can follow Lemmy communities (the equivalent of subreddits) as if they were users, and posts posted to a community show up in other Fediverse services as being boosted by that community. There are also Piefed and Substrings, more recent Reddit analogues that do not yet have as many users as Lemmy.
Friendica is the Fediverse version of Facebook. As well as ActivityPub, it also implements the Diaspora protocol. Diaspora was an attempt at federated social media which predates ActivityPub; by implementing both protocols, Friendica users can interact with accounts on both networks.
For a complete list of Fediverse services, see here
or here
.
What about Threads? I heard that was part of the Fediverse, too.
Threads is a special case. Threads.net is another Twitter-like site run by Meta, the company that also runs Facebook and Instagram. It implements ActivityPub, but as of this writing, federation is one-way. Accounts on other Fediverse servers can follow, favourite, and boost posts on threads.net, but users on threads.net are unable to see or interact with posts elsewhere in the Fediverse. The majority of other Fediverse instances completely block threads.net due to opposition to its data and privacy policies, opposition to Meta's business practices, dislike of Mark Zuckerberg, unacceptable user behaviour, and fears that threads.net would garner hegemonic control over the entire Fediverse.
And Bluesky?
Bluesky is an unrelated project started by Jack Dorsey, the founder of Twitter, that uses its own protocol called the ATProtocol to make a separate federated social network.
Is this the future of social media?
Time will tell.
But it should be borne in mind that online communication was federated before it was centralised. Email and Usenet are federated, and they both predate the World Wide Web. If one is willing to stretch the definitions a little, the phone service and post office can also be thought of as federated social media.
