Important disclaimer first: this is about my personal fediverse instances (Mastodon, Lemmy and Plume) all of which don’t have active users except myself and people I know in person. For larger instances, some of my arguments might not apply.
In a few days, Meta will launch its own ActivityPub-based alternative to Twitter called Threads and the fediverse is going wild. You can hardly open Mastodon or Lemmy without running into a whole bunch of posts about its horrible privacy policies, up to the point that it may not launch in the EU for legal reasons. Understandably, each post is accompanied by calls to defederate from them as soon as possible. And while I fully respect those calls and see the arguments, I’d like to present my counter-arguments. I don’t love Meta, in fact my Facebook profile has been dormant for years, my Instagram profile is completely empty and only exists so I can follow private profiles, I haven’t even used my Oculus Rift S much since Meta bought them and I wouldn’t touch WhatsApp with the proverbial ten foot pole. The sooner that company dies, the better.
Defederating won’t save our data
The number one reason for defederating from Threads as well as any other commercial federated apps that may crop up is the fear that they might use federation to scrape your own instance’s data. The thing is, they don’t need you to federate with them to do that. Both the way federation works and the way the internet works mean that everything you post publically can easily be archived:
They can just setup some standard Mastodon instance and populate it with a few innocent-looking bots and you’ll probably federate with them without ever knowing who runs the instance
They can open accounts on existing instances and subscribe to stuff from there
By their nature, fediverse instances have an open API. They can use that to easily access everything that to at least get all public posts
If all else fails, they can just scrape the HTML. Mastodon instances use a simple and well-known document structure so it’s easy to write a specialized scraper
You can’t even protect yourself from scraping (both API and HTML) by rate limiting clients because federation means that they can just scrape your stuff from any other instance that you federate with
So all in all, if they’re motivated to get your data, they will get your data. Federation makes it slightly easier because your server actively hands it to them but we’re talking about companies with more than enough resources to implement a plethora of other methods.
Federation saves me from using their app
As I’ve mentioned above, I don’t like Meta, for all the obvious reasons. They have no respect for privacy, they see me as a product that they can sell to advertisers and their apps are full of badly moderated conspiracy echo chambers. That’s the reason why I basically never post there. The same goes for Twitter. Even before Elon took over, my account was mostly read-only.
Yet, I still have accounts there. Why? Because there are people on those platforms that I can’t reach anywhere else. While most of my social media bubble consists of nerdy IT-people who prefer open platforms, I still have older family members and less tech-inclined friends who will use whatever is the most conventient for them, privacy be damned. Also, there are a bunch of companies for whom their social media channel is a better way to file a complaint than through their official customer support channels.
If Twitter continues its downward spiral, many of those people will sooner or later migrate to Threads and I won’t have a chance other than at least occasionally interacting with that platform. In theory, I could decide to dig my heels in and cut ties with anyone who doesn’t use my platform of choice but let’s be honest, that won’t happen anytime soon. I may have long hair, a beard and a bunch of machines that run GNU/Linux but I’m not Richard Stallman.
So what options do I have? I can either make an account on their instance and download their trojan horse of an app that probably monitors everything I do on my phone… or I can force everything they want to know about me through the open and well-defined ActivityPub protocol. They will see exactly what I conciously share and nothing more. No contact list, no geolocation, no ad profile.
Federation forces them to play by the rules
As scummy and unethical as Meta might be, they have decided to use an open standard and that means they have to commit to that standard if they want to benefit from it. There will be a point in the future where they will add something to Threads that we as the open source fediverse won’t want to put into our own implementations. At that moment, every user on an open instance that federates with Threads is an argument against implementing something that isn’t compatible with the rest of the fediverse. Social media heavily relies on networking effects and the more Mastodon users a Threads user interacts with, the more important interoperability will be to them. If Threads implements some-weird-feature and half of aunt Agnes’ followers list can’t interact with it, she won’t use it and hopefully, it will quickly sink into obscurity. On the other hand, this also gives them an incentive to contribute to open source ActivityPub implementations for features that we actually want. Meta has a surprisingly good track record when it comes to open source. In fact, Mastodon builds on React which was made by Meta.
We finally have a chance to send a message to large companies that investing in open standards pays off and it would be a shame to let it pass. Meta will run a Twitter clone either way and I’d rather have one that uses ActivityPub than another walled garden. This might even force Twitter to open up their platform to ActivityPub to keep up with Meta which would be a huge win for me as it would be way easier for me to interact with a bunch of existing accounts without having to use Twitter’s horrible app.
I hope this gives you a bit of a different perspective on the whole discussion. I’ll still respect anyone who sees thinks differently and will actively follow the discussion. I’m just annoyed by all the identical knee jerk reactions that have been floating around.
If I see new arguments or the discussion quality on Threads is bad enough that I have to block half their users I might still defederate for them but for now I’ll keep calm and wait for the situation to develop.
Comments are very welcome! (Did you know that you can use Mastodon to comment on Plume posts?)