Distributed social networks
a personal survey

In the spring of 2017, Twitter faced a mass exodus of users caused by discontent with some of their policies. But where did all those people go?

To Mastodon, a new microblogging service with a twist: instead of one website, there are many, that can all talk to each other. So you can have an account on any site running Mastodon, and follow someone who's on any other. You're now free to pick one that won't spy on you, show you ads or ban you over politics. Even better, Mastodon isn't the first or only app of its kind: distributed social networks ("federated" is another term) have existed for ten years now, not to mention the precedent of e-mail or IRC.

Now, one year later, there's another mass exodus, this time from Facebook. But the various alternatives aren't all born equal, and it's fascinating to see what sets them apart.

A bit of history

First there was Identi.ca: launched in 2008 as an alternative to Twitter, it soon gathered a sizable community, myself included. Identi.ca was open source, and relatively easy to install on typical web servers; moreover, any server could talk to any other, so you weren't forced to go where all your friends were.

The plan backfired, however: few could be bothered to install their own server, with most choosing to simply make an account on Identi.ca itself. And soon its creator grew tired of having to host a burgeoning community when all he wanted was to write software. So he proceeded to tear everything down and replace it with something called pump.io, a bare-bones thing designed for developers. Needless to say, most people just left, myself included. The Identi.ca software was renamed to StatusNet, then GNU Social as it was handed over to the Free Software Foundation, only to be left stagnating. (Luckily, that's not the end of the story.)

On the plus side, pump.io later spawned a protocol named ActivityPub, recently standardized by the W3C. This will become important in a moment.

Around the time when Identi.ca was falling apart, someone else released Diaspora, a distributed social network aiming to supplant Facebook. It used a protocol of the same name to let people across "pods" — their term for server — keep in touch with each other remotely. It achieved a measure of success at the time, with compatible apps Friendica and Hubzilla popping up soon after. But the Federation, as it is called, soon faded into obscurity; most people simply chose to stay where everyone else already was.

Fast forward to the summer of 2016, when a new microblogging service called Mastodon burst onto the stage out of nowhere. Using the same OStatus protocol as the original Identi.ca, in exactly a year it reached roughly a thousand server instances and a million users. Known as the Fediverse, this new community is still growing fast, as more and more people are fed up with the big, corporate social networks for various reasons.

I joined the Mastodon network shortly before their big milestone, following a few friends. Most of them still haven't come over, but oh well. Soon after, I also joined Socialhome, a new service using the Diaspora protocol. The idea was to see what life is like on the other side of the fence. A good use of my time as it turned out.

In the mean time, Mastodon has switched to the new ActivityPub protocol. Socialhome was going to add support, but its creator had to take a break, so for now I'd need some other way to bridge the two networks. The adventure continues.

Where we stand

More than 7 years after launch, the Federation (Diaspora network) still has fewer than 700K users, while the Fediverse — mostly Mastodon — has twice as many after less than 2 years. Both however continue to grow, and since they cater to different needs, there's room for everyone.

Still, one might wonder how the new kid on the block managed to grow so much so quickly. And the first reason is, Mastodon isn't just an app, it's the whole community, with its shared values and ideals. Right from the start, the app was designed to support a community, not the other way around. Whereas most people involved in Diaspora only seem to care about what a cool toy it is.

Moreover, every single Mastodon instance is a sub-community within the larger one, with a shared theme and interests, bringing complete strangers together simply by virtue of them hanging around and talking about the same things. And people help each other. Why not, if they happen to see someone ask a question in the local timeline they monitor anyway?

By way of contrast, Diaspora and pals couldn't say what they're all about except social networking across many different servers. Okay, and the freedom of speech it enables, by virtue of being far more resistant to censorship and surveillance than walled gardens. But that's just means to an end!

(To its credit, Socialhome is an exception: an app with well-defined goals, clearly articulated, and illustrated on the homepage for all to see.)

Worse, you know how community also requires the ability to ferret out the bad apples — and keep them out. But while Diaspora has the concept of ignoring someone (what literally everyone else calls muting), it doesn't support blocking. Ask about it, you'll be told to just ignore people who bother you.

Uh-huh. Because ignoring the bullies worked so well in school.

Only Hubzilla has blocking, and a rich set of access controls on top of that. It's also the only other app in the Federation where you can easily reach the default channel on a hub, see what it looks like and what it's all about. There's even a user directory some hubs enable. Also a demo server you can try out without making an account. And there are lots of features to try out.

Hubzilla is also the most visually attractive among its peers, but that's in comparison to Diaspora and Friendica, which look quaint and bland. That is, if you can somehow reach a user profile on either of them, because the default home page of a pod doesn't even say a few words about who owns it and what it's all about.

Contrast with Mastodon, whose landing page is tweaked with every new release to get even better at letting people know what Mastodon is, how to pick an instance and who to contact in case of trouble. And it looks damn slick.

So do the newer forks of GNU Social, which amazingly enough are still around, and still running the same old protocol. Hopefully they're more fleshed out than the original StatusNet. I actually tried it on one of my sites, you know. It installed and ran, but wouldn't federate. What's more, it lacked any trace of basic administration tools such as for fighting spam or cleaning up cruft from the database. Hard to believe it could do the job at all back in the day.

Hardly surprising that nowadays its descendants would be favored by unsavory types of the sort who wouldn't want to clean house if they could.

Speaking of protocols, the future clearly belongs to ActivityPub. Already it's being used by apps such as NextCloud and PeerTube, that have little to do with social networking, but all to do with connecting people across the internet. A more humane one, if we have time to build it before too late.