blog/markdown/Create-a-Mastodon-bot-to-fo...

10 KiB

The search for a social safe harbor

My interest into the Fediverse and its ideas, protocols and products dates back to at least a decade.

I've had an account on the centralized Diaspora instance more or less since the service was spawned in 2010 until it shut down some time last year.

And I've been running a Mastodon instance mainly dedicated to Platypush for a while, although I haven't advertised it much so far because I haven't been spending much time on it myself until recently.

However, my interest used to be quite sporadic until recently. Yes, I would rant a lot about Facebook/Meta, about the irresponsibility and greediness rooted deep in its culture, their very hostile and opaque approach against external researchers and auditors and the deeply flawed thirst for further centralization that motivates each of its decisions. And, whenever I got too sick of Facebook, I would just move my social tents to Twitter. Which is far from perfect, but it probably used to be the least poisonous between the two necessary evils.

That applies until recently.

I don't feel comfortable anymore sharing my thoughts and communications on a platform owned by the richest man on earth, which also so happens to be a chief troll with distorted ideas about the balance between freedom of speech and responsibilities for one's words.

So, just like many other users did after Musk's takeover, I also rushed (back) to the Fediverse as a safe and uncompromising solution. But, unlike the majority of them, instead of rushing to mastodon.online (I don't like the idea of moving from a centralized platform/instance to another), I rushed to upgrade and prepare my dusty social.platypush.tech instance.

Give me back the old web

The whole idea of a Fediverse is as old as Facebook and Twitter themselves.

identi.ca, launched in 2008, was probably the first implementation of an open-source social network based on Activity Streams, an open syndacation format drafted by the W3C to represent entities, accounts, media, posts and more across several social platforms.

GNU Social followed in 2009 (and it's still active today), then Diaspora in 2010 brought the world of alternative open-source social networks into the spotlight for a while.

A lot of progress has happened since then. ActivityPub, another open protocol drafted by the W3C, has become a de facto standard when it comes to sharing content across different instances and platforms. And tens of platforms (including Mastodon itself, Pleroma, PeerTube, Pubcast, Hubzilla, NextCloud Social, Friendica) currently support ActivityPub, making it possible for users to follow, interact and share content regardless of where it is hosted.

Anybody can install and run a public instance using one of these platforms, and anybody on that instance can follow and interact with other users, even if they are on other platforms. This is possible because the underlying protocols are the same, no matter who runs the server or what server is run.

In my opinion, this is the way social networks should have been implemented from the very beginning. Anybody can run one, it's up to admins of instances to decide which other instances they want to federate with (therefore importing traffic from other instances into a unique federated timeline), and it's up to individual users to decide who they want to follow and therefore be part of their home timeline, regardless of who runs the servers where those accounts are hosted.

It's an idea that sits somewhere between email (you can exchange emails with anyone as long as you have their email address, even if you have a @gmail.com account and they have a @hotmail.com account, even if you use Thunderbird as a client and they use a web app) and RSS feeds (you can aggregate links from any source under the same interface, as long as that source provides an RSS/Atom feed).

And that's indeed the trajectory that social networks were projected to follow until the early 2010s. The W3C and ISO had worked feverishly on open protocols that could make the social network experience open and distributed, like the whole Internet had been designed to run up to that date. And implementations such as identi.ca, GNU Social and Diaspora were quickly popping up to showcase those implementations.

But that's not how history went, as we all know. Facebook underwent an exponential growth through aggressive centralization and controversial data collection practices and monetization practices. Most of the other social networks also followed the Facebook model. Open chat protocols like XMPP were gradually replaced by centralized apps with nearly no integrations with the outside world. Open syndacation protocols like RSS and Atom were replaced by closed timelines managed by centralized and closely guarded algorithms. This was in part also due to Google killing Reader, the most used interface for feeds, because it was in the way of their idea of web content monetization. Open activity pub/sub algorithms were replaced by a handful of walled gardens. Transparent, machine-readable data access was replaced by proprietary user interfaces, and a few half-heartedly implemented APIs that cover only part of the features and can be deprecated with nearly no notice depending on whatever objective a private company decides to pursue on the short term.

I would argue that the aggressive push towards centralization, closed protocols and walled gardens of the 2010s has only benefited a handful of private companies, while throwing a wrench in a machinery that was already working well, replacing it with a vision of the Web that created way more problems that the ones that it aimed to solve, and overall the 5-6 companies behind that disaster named Web 2.0 are responsible for pushing the innovation of the Internet back by at least a decade.

The wave however, as it always happens in that eternal swing between centralization and decentralization that pushes our industry forward, is changing. The drawbacks of the centralized social network model have been under everyone's for the past few years. The "you can check out any time you like, but you can never leave, because all of your friends and relatives are here" blackmail strategy starts to be less effective, because alternatives are popping up, they are starting to gain traction, and the bleeding of active users on Facebook and Twitter has been a fact for at least the past two years. Twitter is well aware of it, and it has in fact decided to scale up the gear on their Bluesky project. They have recently published a Github repo with a simple MVP with a server and a command-line interface, and a (still quite vague) architecture document that resembles a lot the ActivityPub implementation, except with a more centralized control that would sit in the hands of a (still vaguely defined) consortium/committee and a Blockchain-like approach to manage documents. This has probably been an instinctive reaction to the bleeding of users towards decentralized platform occurred after Musk's takeover, but to me it's too little, too late:

  • There are nearly two decades of work behind ActivityPub. A lot of smart people have already figured out the (open) solutions to most of the problems. I don't see the value of reinventing the wheel through a solution owned by a private company, with a private consortium behind it, that proposes a solution that is largely incompatible with what the ISO and W3C have been building since the mid 2000s.

  • I don't trust the sincerity of Twitter and the BlueSky investors. I feel like the timing of their announcement is odd, it sounds much more like a primordial reaction against Musk's takeover and the consequent bleeding of users towards mastodon.online rather than a sincere effort to improve the social media experience. And the publication of the Github repo (and therefore the opening of the discussion with the community) has occurred way too late. Had they been that interested in building a decentralized social network, they should have been taking active part in the discussions around ActivityPub for the past 10 years. Instead, they have milked their centralized cow as long as they could (even when it was clear that it wasn't profitable), built some hype around BlueSky in the past two years that was all stale marketing talk, and they have rushed to publish a half baked MVP from some engineer's laptop after the richest man on earth bought them. All of this, just to prove the point that Twitter❤️open -source, that their cow has run out of milk, that the geek community had been right all the time, that they can't go anywhere without the open-source community (even if they've been ignoring us for the past few years), but that they still deserve get a chance of running the show their own way, with their own protocols, and with a project where they still hold a majority stake. We shouldn't allow their efforts to succeed, because they don't deserve to succeed.

The problem of content