As Elon Musk’s Category 5 tweetstorm continues, the once-obscure Mastodon social network has been gaining over 1,000 new refugees per hour, every hour, bringing its user count to about eight million.
Joining as a user is pretty easy. More than enough ex-Twitterers are happy finding a Mastodon instance via joinmastodon.org, getting a list of handles for their Twitter friends via Movetodon, and carrying on as before.
But what new converts may not realize is that Mastodon is just the most prominent node in a much broader movement to change the nature of the web.
With a core goal of decentralization, Mastodon and its kin are “federated,” meaning you are welcome to put up a server as a home base for friends and colleagues (an “instance”), and users on all instances can communicate with users on yours. The most common metaphor is email, where yahoo.com, uchicago.edu, and condenast.com all host a local collection of users, but anybody can send messages to anybody else via standard messaging protocols. With cosmic ambitions, the new federation of freely communicating instances is called “the Fediverse.”
I started using Mastodon in mid-2017 when I faintly heard the initial buzz. I found that the people who inhabited a world whose first major selling point was its decentralized network topology were geeky and countercultural. There were no #brands. Servers were (and are) operated by academic institutions, journalists, hobbyists, and activists in the LGBTQ+ community. The organizers of one instance, scholar.social, run an annual seminar series, where I have presented.
The decentralization aspect that was such a selling point for me was also a core design goal for Mastodon and the predecessors it built upon, such as GNU Social. In an interview with Time, lead developer Eugen Rochko said that he began development of Mastodon in 2016 because Twitter was becoming too centralized and too important to discourse. “Maybe it should not be in the hands of a single corporation,” he said. His desire to build a new system “was generally related to a feeling of distrust of the top-down control that Twitter exercised.”
As with many a web app, Mastodon is a duct taping together of components and standards; hosting or interacting with a Mastodon instance requires some familiarity with all of these. Among them, and the headliner at the heart of The Fediverse, is the ActivityPub standard of the World Wide Web Consortium (W3C), which specifies how actors on the network are defined and interact.
Mastodon and ActivityPub evolved at about the same time, with Mastodon’s first major release in early 2017 and ActivityPub finalized as a standard by the W3C in January 2018. Mastodon quickly adopted ActivityPub, and it has become such a focus of use that many forget that ActivityPub is usable in many contexts beyond reporting what users had for lunch.
Like Mastodon, ActivityPub represents a rebellion against an increasingly centralized web. Christine Lemmer-Webber is the lead author of the 2018 ActivityPub standard, based on prior work led by Evan Prodromou on another service called pump.io. Lemmer-Webber tells Ars that, when developing the ActivityPub standard, “We were like the only standards group at the W3C that didn’t have corporate involvement… None of the big players wanted to do it.”
She felt that ActivityPub was a success for the idea of decentralization even before its multi-million user bump over the last few months. “The assumptions that you might have, that only the big players can play, turned out to be false. And I think that that should be really inspiring to everybody,” she said. “It’s inspiring to me.”
The idea of an open web where actors use common standards to communicate is as old as, well, the web. “The dreams of the 90s are alive in the Fediverse,” Lemmer-Webber told me.
In the late ’00s, there were more than enough siloed, incompatible networking and sharing systems like Boxee, Flickr, Brightkite, Last.fm, Flux, Ma.gnolia, Windows Live, Foursquare, Facebook, and many others we loved, hated, forgot about, or wish we could forget about. Various independent efforts to standardize interoperation across silos generally coalesced into the Activity Streams v1 standard.
Both the original Activity Streams standard, and the current W3C Activity Streams 2.0 standard used by Mastodon and friends, offer a grammar for expressing things a user might do, like “create a post” or “like👍 a post with a given ID” or “request to befriend a certain user.” The vocabulary one would use with this grammar is split into its own sub-standard, the Activity Vocabulary.
Now that we have a way to express a person’s stream of thought and action in JSON blobs, where do all these streams go? The ActivityPub standard is an actor-based model which specifies that servers should have a profile for each actor providing a universal resource indicator (URI) for each actor’s inbox and outbox. Actors can send a GET request to their own inbox to see what the actors they follow have been posting, or they can GET another actor’s outbox to see what that specific actor has been posting. A POST request to a friend’s inbox places a message there; a POST request to the user’s own outbox posts messages for all (with the right permissions). The standard specifies that these various in- and outboxes hold activities in sequential order, much like our familiar social media timelines.
(PS: If you want to see what an activity stream looks like, and your browser renders JSON nicely, just grab a random outbox and have a look.)
Here we have the vision of the Fediverse: a set of ActivityPub nodes, scattered across the globe, all speaking a common language. Mastodon is one of many efforts to implement the inboxes and outboxes of the ActivityPub standard. There are dozens of others, ranging from other microblogging platforms (“It’s like Mastodon, but…”) to an ActivityPub server that runs a chess club.
In theory, they all intercommunicate; in practice, not so much. The sources of incompatibility stem from several issues, from imperfections in the standard to questions of how online communities should form to efforts to reach beyond the standard post/comment/follow format of typical social networks.