We were thinking a few days ago about how we'd write a "what is the fediverse" post. (Fediverse being the thing that Mastodon is part of, for clarity.) It's more than a bit belated posting it now, but y'know, why not. Everything's under the cut for easier skipping.
So, hypothetical. You are a open source web developer who thinks microblogging - the artistic medium where people post short, extemporaneous comments and build a chronological/reverse chronological feed out of combining subscriptions to a bunch of other people's similar posting - is pretty cool, but you also think that Twitter is kind of awful. You want to do microblogging like it's old school web forums: you make a website, I make a website, your girlfriend makes a website, and all of us host and moderate our own communities.
...but also you want to read your girlfriend's posts, even though those are on a different website. Which means you need a federation protocol: a standard that tells your server how to send messages to her server and vice-versa so both servers can understand them and display them. The servers don't have to be run by the same organization, they don't even have to run the same software, they just have to know how to format their messages.
The fediverse is more or less this: a bunch of servers - instances - run independently, that all yeet messages back and forth. Most of them are designed around microblogging - Mastodon for sure is - but there are a bunch that do other stuff. It's kind of a pain, because if you sign up as dice on example.social and your friend signs up as sheet on example.gay, the way you subscribe to their posts is:
- you search for @sheet@example.gay in the search window on example.social;
- the example.social server pings the example.gay server to ask, "is there a user called @sheet over there?";
- the example.gay server sends back your friends profile information;
- example.social shows the search results to you;
- you click the follow button;
- example.social sends a new message to example.gay saying, "@dice@example.social wants to follow @sheet@example.gay";
- example.gay adds @dice@example.social to the list of people following @sheet;
- example.gay sends a message back saying the follow went through; and
- example.social adds @sheet@example.gay to the list of accounts you follow.
...or something like that. We're not experts. But the point is, it's slightly inconvenient and it can take several seconds.
So, janky. But the big advantage is that there's no ads - most servers are supported by enthusiasts paying for it out of pocket, by crowdfunding, or both - and that moderation is by members of the community and not exploited minimum-wage workers.
And that's kind of key to it. Twitter is designed to create viral posts that hook people in so they spend more time scrolling past sponsored posts and creating tracking data to sell to ad companies. Fedi is designed to help communities form and connect with each other. It's still a social network, it still has harassment campaigns and outbursts of bigotry and all that other stuff that makes us despair for the world, but it is more personal and considerate than most commercial outlets. And there are a lot of communities within it that have good codes of conduct and good moderation, that make space for people to flourish.
...and a lot that are somewhere between useless and malignant when it comes to protecting folks from harassment, because we live in a shitty society.
Let us know if you have questions or want instance suggestions? But that's what people are talking about.