Klaus Zimmermann's Corner

A tale of Distributed Social Networks

Come, children, sit by the fire. Uncle Klaus is about to tell a story firsthand as well as he can remember about how distributed social networks came to be.

The promise

The year was 2014. Having been using Linux and Free Software for a couple of years already by that point, I came across an interesting project with a funny name to it: GNUSocial.

As funny the name was (why does so much Free Software-related stuff have to carry the GNU Projects name or initials into it, anyway? Just saying), its promise was very serious: switch around the feudalistic, centralized and data-silo-like aspects of social networks, and turn them into a democratic and distributed pattern. A distributed social network with no single node, domain or administrator, and most importantly: that anyone can host. My eyes brightened, and I was immediately interested.

Now, as a little bit of background, I was never really into the social media game permeated by the immediate society. I had had Facebook since the peer pressure of High School, but closed the account in 2012 due to lack of interest - surprisingly, before I even had a clue of the Snowden revelations - and never had a twitter account. Yet, this idea of connecting to other hackers and similar idea sharers without having to resort to the draconian policies of gatekeepers was a big appeal. GNUSocial it is, where do I sign up?

I created my first account on the network (kzimmermann) by choosing Quitter.se as my server (it was one of the first recommended) and got to explore this fine new world. The instances were not that many, and by today's standards the features were quite restricted (140c, everything else was an attachment), but the community was great, and I started learning so many things. Loadaverage, Quitter.{,no,is}, skilledtests.net, these were some of the popular instances of the day. Time was passing, and kzimmermann was becoming more popular, gaining followers and favorites, something I had never thought possible for me at the time.

Due to the character limitation and post options, my eyes also turned towards Diaspora, another distributed network that boldly seemed to go head-to-head against the giant Facebook. Multi-paragraph posting, markdown syntax, image embedding and full profiles? Sign me up, I wanna join the fight. My interest in those networks only grew and grew, just like my own advocacy for Free Software, speech and privacy.

The migrant crisis of 2015

Sometime around February 2015, an interesting incident happened: I woke up to find out that overnight about 50 people had started following kzimmermann. As popular as I was getting, this still was an absurd spark in the following. And this was not just me - it seemed that the distributed "fediverse" had received an enormous influx of new users, much like a migration. And a migration it was: many disgruntled users tired of Twitter's censorship and policies decided to abandon it over a freer option - and GNUSocial fit their needs just about perfectly.

Initially, it seemed that most of these users, just like me, made themselves home at some of the popular hosts available at the time (Quitter was popular mostly due to being the first one listed there). However, there was also a background reason why most of these users were disgruntled with Twitter blocking them. Most of them were censored or limited because their content was considered offensive to the audience there, and turns out that the people in these other instances weren't exactly more considering of their posts either.

Soon, the legacy instances realized it was time to do a small reform on content policy. Acceptable use policies were published. Prohibited content was described. Bans started to happen in the network that once was heralded as a champion in freedom of speech. Quitter.se, now bigger than ever, famously changed its homepage to clarify things, stating that "Quitter.se is not a service, and you are not a client," and that "if you don't like the direction this instance is going, you are free to move to another instance or start your own."

People got the message. Thanks to the flexibility and power of the network software, soon many new instances started appearing, giving more resilience to the federation, and also stating out their own terms of service and rules, which could be anything that combatted their previous dissatisfaction. Shitposter.club, sealion.club, freezepeach.xyz, and many other instances where people would be free to post anything were popping out, with people blocking or following others in a small content-vs-freedom tug of war. The biggest winner, however, was the network as a whole, since many new nodes were created at the time.

kzimmermann pushed on posting, and grew to a couple hundred followers in that time.

The second immigrant crisis, internal issues and new saviors

Almost on cue, 2016 brought in another Twitter-related migrant crisis to the network. As #RIPTwitter trended, many users again gave up on Twitter due to problems with content and censorship policy, again with GNUsocial being the obvious alternative at the time.

This time, however, the federation started to get in trouble: too many people signing up for the way overloaded Quitter.se, and not many new instances being created or populated to balance out the load. Many outages in the Quitters meant that the entire network seemed to suffer for many new users, who started questioning its actual resilience. Hannes, admin of Quitter.se, shut down the new user registration feature in protest, trying to educate new users on what a federation really means and how they can participate via other instances or even host their own.

In parallel, other people were growing dissatisfied with even the way that ithe GNUSocial software worked. The project was written in PHP, lacked updated documentation and installing it was complicated. Would it be time to change things completely, perhaps rewriting it from scratch? A developer by the handle of Gargron took up to the challenge, and silently started writing his own platform to join in the federation: Mastodon was born.

Initially a lonely node across the federation, Mastodon enjoyed a spectacular growth over the remainder of that year and the next ones. And it wasn't for less: modern looks, modern social network features and - perhaps the most controversial - many fine controls for moderating, filtering, blocking and stating terms of service were easily available. Mastodon became the flag-bearer of the Social Justice movement that swept the internet at the time, and probably remains today.

The "shitposting" audience and other wildcard members also reacted: another GNUSocial revamping by the name of Pleroma emerged later. Boasting complete freedom of speech plus being lightweight enough to run in a Raspberry PI, Pleroma nowadays is the latter half of the federation.

And as for Quitter.se, it finally went under sometime in 2017. kzimmermann together with a couple dozen thousand was no more, and though I did try other instances like gnusocial.club, basically I gave up on microblogging there. It was no longer fun anymore after losing 400 or something followers and having to start from scratch again.

The future, or how can we do it better?

There are many big lessons to be learned out of this story, but perhaps the most important one is about what decentralization means, and how it can be guaranteed.

Quitter.se no doubt played a huge part in making the fediverse what it is today, but its immense popularity also ended up harming the concept of a federation: instead of many instances sharing content and promoting a healthy network, it became more of a few beehive-like supernodes that controled most of the available content, in a model that can easily turn around on user freedom and privacy and freedom of speech.

Mastodon and pleroma answered that call making it easier for instances to be created and developed, strengthening the network, but I believe that true decentralization has to go even further: I'm talking peer-to-peer. Projects such as ZeroNet force a user to also become a host, and that way ensures that content stays decentralized forever, in a truly democractic and full freedom of speech manner. And yes, there is even a social network built for it.

When each user is in charge of their own content and what to show, hide and share, that's when true freedom has been achieved. I believe this is the direction we should all be heading to, empowering users.

And as for ol' kzimmermann, it has (somewhat) returned: check me out here on Mastodon.

Epilogue: Decentralized networks, platforms and resources

Some of my favorite platforms and software, listed in no specific order:

Last updated on 09/26/20