Article draft
This commit is contained in:
parent
f34f1f6232
commit
29cfb6e889
2 changed files with 171 additions and 0 deletions
BIN
img/twitter2mastodon.png
Normal file
BIN
img/twitter2mastodon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 164 KiB |
|
@ -0,0 +1,171 @@
|
||||||
|
[//]: # (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
|
Loading…
Reference in a new issue