172 lines
10 KiB
Markdown
172 lines
10 KiB
Markdown
[//]: # (title: Create a Mastodon bot to forward Twitter and RSS feeds to your timeline)
|
||
[//]: # (description: Take your favourite accounts and sources with you on the Fediverse, even if they aren't there)
|
||
[//]: # (image: /img/twitter2mastodon.png)
|
||
[//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
|
||
[//]: # (published: 2022-05-06)
|
||
|
||
## The search for a social safe harbor
|
||
|
||
My interest into the [Fediverse](https://en.wikipedia.org/wiki/Fediverse) and
|
||
its ideas, protocols and products dates back to at least a decade.
|
||
|
||
I've had an account on the [centralized Diaspora
|
||
instance](https://joindiaspora.com/) 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](https://social.platypush.tech)
|
||
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](https://www.economist.com/business/2022/04/23/elon-musks-twitter-saga-is-capitalism-gone-rogue).
|
||
|
||
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](https://uk.pcmag.com/social-media/140065/mastodon-gains-30000-new-users-after-musk-buys-twitter)
|
||
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](https://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](https://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](https://en.wikipedia.org/wiki/Identi.ca), launched in 2008, was
|
||
probably the first implementation of an open-source social network based on
|
||
[Activity Streams](https://en.wikipedia.org/wiki/Activity_Streams_(format)), an
|
||
open syndacation format drafted by the W3C to represent entities, accounts,
|
||
media, posts and more across several social platforms.
|
||
|
||
[GNU Social](https://gnusocial.network/) followed in 2009 (and it's still
|
||
active today), then
|
||
[Diaspora](https://en.wikipedia.org/wiki/Diaspora_(social_network)) 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](https://en.wikipedia.org/wiki/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](https://www.theverge.com/2022/5/4/23057473/twitter-bluesky-adx-release-open-source-decentralized-social-network).
|
||
They have recently published a [Github
|
||
repo](https://github.com/bluesky-social/adx) with a simple MVP with a server
|
||
and a command-line interface, and a (still quite vague) [architecture
|
||
document](https://github.com/bluesky-social/adx/blob/main/architecture.md) 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
|