A friendly introduction to the Fediverse.

Jan 04 2019

If you've been kicking around on the Net for the past year or so, you've probably come across a thinkpiece or two about Mastodon, an open source social network that's kind of like Twitter, kind of like Facebook, and kind of like... well, nobody's really sure what else would fit there.  It's a bit of a wildcard.  That seems to throw a lot of people, and because this is the Internet we're talking about that means a lot of "this could never possibly work" posts, nevermind a busy network of several thousand instances and several hundred thousand users doing everything from venting their spleens to asking for (and surprisingly oftentimes receiving) assistance, collaborating on projects, goofing around, and mourning their fallen...

This ambiguity and confusion makes it hard to understand why you'd even want to consider joining yet another social network.  Let me see if I can help a little.

Unless you never use it, Twitter these days is a cesspool of flame wars, hit-and-run shitposting, shoutybots, nazis, and people generally not having a good time.  Facebook went full cyberpunk a few years ago and you're fortunate if you ever see posts from people you actually live with.  Tumblr recently committed brand and business seppuku by hamhandedly hunting down and removing anything that even vaguely smacks of adult content (but you'll have no trouble finding nazis or their fellow travelers).  These things have lead to a large number of people getting fed up with social networks but they still want to find people to, well, socially network with.

The Fediverse is a network of social networking applications that communicate with each other.  While the history is more complex than I tell it, for our purposes it started with Mastodon, an open source microblogging server that resembles Twitter in some ways.  First there was mastodon.social, the instance run by the creator of the software as a proof of concept.  Then more and more people started setting up their own instances - thousands of them.  So many that a project called Mastodon Network Monitoring came together to watch the evolution of this network.  Some instances are more or less general purpose where you can pretty much find folks of every kind.  Some instances have a particular theme associated with them, like cyberpunk (cybre.space), LGBTQ culture (lgbt.io), the furry fandom (awoo.space), Star Trek (tenforward.social), cryptocurrency (bitcoinhackers.org), Homestuck (trollian.space), or just about anything else.  There is even at least one instance dedicated to running bots (botsin.space).  Not that they'll come down on you if you don't strictly adhere to the theme but they do ask that you at least have something to do with it.  This is one of the reasons why it is common for users to have multiple accounts on multiple instances, often called "aspects."  Some people prefer to only talk about certain things on certain instances.

There are so many instances that there are a number of sites which help you figure out what instance(s) you might want to join.  The first is on the joinmastodon.org website, and the second is at instances.social in the form of a brief quiz to help you figure out what kinds of instances you'd might like.

Here's the interesting bit: If you're on mastodon.social, and I'm on hackers.town (and I am), and I have a bot that posts whatever I happen to be listening to at the moment on a third instance (and I do - he's called Broadcast), you and I can follow each other without needing to have accounts on both instances.  Both of us can also follow Broadcast without needing an account on botsin.space.  This is because all of the instances in the Fediverse communicate with each other using a protocol called ActivityPub.  You can think of ActivityPub as SMTP for social networking; rather than e-mail, ActivityPub passes around social media posts.

By now you're probably wondering what makes this different somehow from other socnets.  What's the secret sauce?  The various pieces of software that comprise the Fediverse (Mastodon, Pleroma, Peertube, Pixelfed, and so forth) are all designed to have content moderation tools built in (which ostensibly the other socnets also have but so badly fail at using) and each instance has at least one person moderating the shenanagains (at the very least the person running the instance, while the bigger ones have groups of mods).  Once in a while an instance that gets reported by lots of people or does something patently uncool will be de-federated - this means that other instances will reject any traffic from and will no longer send any traffic to those instances.  I'll leave the sorts of stuff that can warrant de-federation to your imagination, but if you've ever been dogpiled on Twitter you have a pretty good idea of what I mean.  And yes, occasionally we have trouble with rogue users and instances trying to wreak havoc.  We clamp down on that sort of thing hard.

Fediverse culture has evolved a unique set of norms shaped by the features of the software, and helping to shape the features of the software as well.  In the Fediverse, there are CW's, content warnings.  In essence, you can hide your post under a link so that only people who want to see it will click the link.  You'll see this done for spoilers, things that may not be of wide interest, people venting but not wanting to expose others to it without their consent, politics (many of us came to Mastodon because we want to get away from people talking about politics for a little while), and other things.  When in doubt, CW it or don't click "SHOW MORE" as appropriate.  If there is something that keeps popping up on your timeline you can filter out posts that fit some criteria in some contexts and for varying periods of time (from 30 minutes to forever).  This includes usernames and hashtags.  Mastodon allows you to upload some multimedia content, including images and brief videos, which can be flagged as sensitive content so that they won't be visible by default.  This does not necessarily mean that the content is not safe for work or otherwise objectionable, some people do so because they want people to decide for themselves what they want to be exposed to or to avoid causing problems for people with limited bandwidth.  Attached multimedia is federated along with the post.  It is considered polite to include a brief description of what an attachment to a post is for the benefit of assistive technologies like screen readers.

Of course there are emoji.  Emoji are so well supported that you can practically have a conversation with them alone.  Every instance can also support custom emoji, which are generally referred to as emojo.  I think it was a misspelling that took off as a neologism.  At any rate, emojo are also federated so if someone uses one local to their instance it gets federated along with the post, so that everybody following that user can see it also.  It's been my experience that instance admins are happy to add new emojo if you're polite about asking.

If you're new to the Fediverse, it is considered polite to post a brief introduction using the hashtag #introduction.  It's a good way of meeting people.  Some people pin their introductions to their profiles so they're easy to find.  We also have the notion of #ff (Follow Friday), where some people post links to some other people they enjoy following.  There is also a collection of lists of users who've opted in called Trunk which is meant to make it easier to find people with similar interests across the Fediverse.

Every once in a while someone might want to switch instances.  It happens.  The software comprising the Fediverse allows you to export all of your data (all of your posts, a list of everyone you follow, your filters, and your blocklists) so you can re-import it to another instance without having to track everybody down and start over.  Because it is possible to move to a new instance, it is considered good form to leave a forwarding address of sorts on the old one so that people know where you've moved to.  This notice will appear at the very top of your old profile.  As you can see, I've done this once before.  I don't have any problem with mastodon.social, incidentally (if I did I'd have deleted my account) but the essence of federation is that people can move their points of presence to any other instance in the network if they so choose, and it didn't make a whole lot of sense to sit on the flagship instance when there were so many others out there.  Decentralization is meaningless if you don't actually do anything with it.

Some instances are invite-only.  This is done for any number of reasons, from slowing a flood of signups to minimizing trouble by requiring that an existing member of the instance (and thus, a member of the community in good standing) essentially vouch for you by requesting a signup link from the admins to send through separate channels.  This happens.  Most of the time it's nothing personal.  Remember that whole "it's good to be on theme most of the time" thing I said earlier?  There's nothing preventing you from enjoying your particular theme on one of the general-purpose instances.  Which brings me along to something I find both interesting and appealing about the Fediverse: Unless other social networks, you don't see a whole lot of brand-building happening.  What you do see a lot of is people who're being remarkably genuine about themselves and their lives.  None of us are perfect.  As my grandmother used to say, "That's why you've got an eraser on your pencil" (and, I would add, a backspace key on your keyboard).  When people reach out for help, they seem to get it more often than anywhere else I've had a point-of-presence recently.

A user on a Mastodon instance has three timelines, or streams of posts visible.  There's your personal timeline, comprised of toots from everybody you follow.  Your instance has a local timeline, represented by the group-of-people icon, which is comprised of all of the posts from everybody on your instance.  Finally, there is the federated timeline, represented by the globe icon, which is every post from everywhere across the Fediverse as it hits your instance.  Skimming the latter two timelines (and maybe searching for a hashtag or a couple of keywords) once in a while is a good way of building up a list of people you follow (and hopefully interact with!)  Curated follow lists are a thing.  You don't have to follow everybody under the sun.  There's no rush, either.  It can take time to find the folks you want to run with.

Let's not forget the mobile apps.  Mastodon has quite a few for Android and iOS, and most of them are free.  An early version of a Peertube mobile app is in the works; Peertube just hit v1.0 so give them a chance to catch up.  WriteFreely is so minimalist that you really don't need an app, you can just use a browser and be pretty comfortable with it.  There may or may not be apps for other parts of the Fediverse, but bear in mind that if you're logged into an instance or using an app for one, you can follow accounts on the others (and look at their multimedia content).

Earlier, I briefly mentioned a number of other servers without any explanation or context, and I'd like to explain briefly what they are.  This will become relevant in a minute, I promise.

Pixelfed - An image sharing microblogging server, kind of like Instagram.

Peertube - A video sharing server.  Upload your videos and other people can watch them.  Think Youtube.

WriteFreely - A blogging application which can participate in the Fediverse.  Can be used as a personal blog or a sign-up-and-go community blog, kind of like Blogger.  Built to encourage long-form writing.

Plume - Another federated blogging application.

Funkwhale - An audio and music sharing server that can participate in the Fediverse.  Think Soundcloud or Grooveshark.

ActivityPub for Wordpress - Yes, there's even a plugin for Wordpress.

Now, that thing I said was relevant?  The neat thing about these other servers is that they all support ActivityPub, meaning that they participate in the Fediverse as first class citizens.  To put it another way, a Mastodon user can follow a couple of friends' Peertube feeds, add the plugin for Wordpress so their friends can follow their blog from their Pleroma and Mastodon accounts, and you don't have to set up an account on each server.  If I post something to my Pixelfed account (I don't have one, but let's pretend for a minute), you at your account on a Peertube server (again, let's pretend) can follow me over there and look at the pictures of my mom's cat I just posted.

If you've read this far down, you're probably asking yourself why so many people are coming to the Fediverse.  Why am I so excited about this, so much so to use words that make people cringe, like "people they enjoy following"?  Where's the thought leadership?  Where's the advertising?  Where are the machine learning algorithms figuring out what'll get each of us to click links the most to rack up advertising dollars and referral fees?

There isn't a whole lot of that around here.  There certainly doesn't seem to be anything tweaking what posts we can and can't see (you can look at the source code for that, and people far more cynical than I do, in fact).  Most of us are sick of that kind of thing.  It's gotten to the point where you can't have a bad day on Twitter without losing a couple of dozen followers because it's off-brand.  To quote a certain movie, "if you were happy every day of your life you wouldn't be a human being, you'd be a gameshow host."  Maybe I'm waxing idealistic a bit, which is probably going to come back and bite me in the ass in a few months, but I think it's safe to say that most of us seem to be genuinely trying to do things better here.  Not perfect, "utopia" does mean "nowhere," after all, but we can at the very least make different mistakes and try to do things better in some ways.

It's been said that if you're not paying for the service, you're the product.  Time and time again this has proven to be true.  Facebook, Twitter, and so forth make their money selling information about their users to stay in business.  The Fediverse isn't like that, the server admins spend their own money to keep things running.  Smaller instances, on the order of a couple of users, tend to just eat the cost as if it were a hobby.  Bigger instances tend to fund things by having presences on Patreon or Liberapay so users can donate a couple of dollars a month to help defray costs.  I've backed the instances I hang out on by participating in fundraisers and as a monthly patron because they're important enough to me that I feel no compunctions against kicking a few bucks in to help out.  They've been good to me, so the least I can do is be good to them.

One person asked me to compile a brief glossary of terms often used in and around the Fediverse.  Here are some thumbnail definitions:

Instance - A server which comprises part of the Fediverse.  Usually refers to a running install of Mastodon or Pleroma, but can also refer to other software which participates in the Fediverse.  A list of software that can be used to run an instance is over at fediverse.party.

Mastodon - Free and open source social network software which implements federated microblogging.  The name of the most commonly used software which forms the Fediverse.

Pleroma - An alternative free and open source social network server.  Implements the same protocol as Mastodon, so they can federate with each other.

Follow - When an account on an instance tracking posts to other accounts on the same or other instances in the Fediverse.

Local timeline - All of the posts on the instance you're currently logged into.

Federated timeline - All of the posts from all of the servers in the Fediverse, as they hit the instance you're logged into.

Federation - When an instance sends copies of its posts to other instances.  This is how an account on an instance can keep up with posts to other instances.

Fediverse - The name given to the network of federated social networking servers that communicate with each other.  This is possible because they use the same protocol to exchange information, called ActivityPub.

Toot - The Fediverse's name for a post.  Compare with 'tweet' or 'status'.

Boost - Repeating a toot on your timeline so that everyone who follows you can see it, also.  Compare with 'retweet'.

Fav - Putting a star on a post to show you liked it.  Some people use this to mean that you liked and/or acknowledged their tweet.  Some people use this to bookmark a post for later.  Compare to a thumbs-up on Facebook or a heart on Twitter.

Point of Presence - An instance on the Fediverse that you hang out on.  A user can have more than one of these.