Framing Federation
I’ve always been intrigued by the way that words shape our thoughts, beliefs, and our understanding of the world around us. It happens all the time, and we often don’t even realize it, especially when the words that we use to describe (and think about) things have formed deeply-rooted mental images that we rely on to relate to things.
An example of this that’s been on my mind lately involves Mastodon (and its sibling ActivityPub implementations). We talk about Mastodon as being part of a federated social network, and that word——“federated”——is an interesting one. For something to be “federated” there must be a “federation”, right? And that word conjures up all kinds of well-established mental images: people or groups aligning and agreeing, shaking hands and cooperating. Where ActivityPub services are concerned, this federation has its own label: the Fediverse, which itself conjures up its own fascinating mental imagery.
So when Meta comes along and continues their rich history of abhorrent, harmful, inexcusable business practices, many Fediverse instance admins turn to the idea of “defederating” from Threads, Meta’s social platform (which uses ActivityPub to connect with other instances across the Fediverse). In this case, defederating is a just a fancy way to say “blocking”. If you ask these admins why they want to block Threads, they’ll usually give two solid reasons:
- They object to Meta’s policies and practices, which are unquestionably harmful, and they want to demonstrate this objection by blocking Threads
- They’re concerned that Meta’s poor moderation will result in an increase of problematic posts on Threads that will disrupt their own instances
These reasons are entirely valid, and in the context of the “Fediverse” and all that comes with the concept, the notion of “defederating” from Threads feels like a totally appropriate course of action to take. Of course we want our Fediverse to be healthy, and of course we want to protect its members from harm. And when you consider all of the mental imagery that comes from the notion of a “federation”, of course we don’t want to align, cooperate, or work with Meta in any way. They’re vile, and we want to distance ourselves from them as much as possible. We want to push them away, and Mastodon has a nice button in the admin interface that you can click on to do exactly that.
But this is actually wrong. We’ve fooled ourselves into thinking that this is an OK approach to take, largely because of that “federated” terminology. Words have power, and they shape how we think about things.
Long before ActivityPub, we had email. Nobody calls email “federated”, but it is, in exactly the same way that Mastodon is federated. There are email service providers, just like there are people and groups that maintain Fediverse instances. There are different server implementations (like Postfix and Exim), just as there are different ActivityPub implementations (like Misskey or Mastodon). There are different software clients that can connect to these services. And there are different users of these services who send messages to one another, confident that those messages will reach their destination, despite the differences in technology, thanks to a common protocol.
Because we don’t refer to email as federated, we don’t think about it with the same spirit of cooperation and alignment that we ascribe to ActivityPub services. We simply take it for granted that a message sent from Gmail will reach Outlook.com (and it will), and that no person or company would actively interfere with that process.
ActivityPub is a protocol, just like the SMTP protocol that sends emails. Under the hood, ActivityPub is a lot like email: instances have inboxes which are used to receive messages from other instances. The only real difference here is in our perception of social messages as more public in nature and emails as more private, but fundamentally, it’s the very same idea. Take a message from Point A running System X and deliver it to Point B running System Y. We could be talking about a Misskey post being delivered to someone on Pixelfed, or an email sent from Fastmail arriving in someone’s Proton Mail inbox. It’s the same.
We never hear about email service providers blocking other email service providers just because the company in question is objectively awful. If Proton announced that they would stop accepting inbound email from Gmail because Google is a terrible company with terrible business practices that routinely harm people, their customers would flip out. The idea sounds ridiculous because it is.
So, then, why is that ridiculous idea somehow a good one when we’re talking about ActivityPub services? It shouldn’t be, all things being equal (protocols, federation, and even the very purpose of these services——to convey messages to people using disparate technologies). I think the reason for the disparity is language; the notion of federation and how it’s shaped the way that we relate to the technology.
The social web wants to be open. ActivityPub servers want to send messages to one another freely (this is literally what they’re designed to do; it’s the entire purpose of the software and the protocol, just like email). Yes, Meta is trash, but the overwhelming majority of Threads users are regular people just like you and me and they don’t harbor vile, hateful attitudes. They’re just using Threads because it’s easy and it’s available. And when we cut them off from their friends on other ActivityPub instances, we’re not helping anyone. We’re just making things worse: weakening the network, reducing its effectiveness, and preventing people from connecting with each other. Which is the entire point of a social network.
I completely understand the desire to lash out against Meta. But clicking the “Add domain block” button in Mastodon isn’t the form of social justice that anyone might think it is. It just drives a sad wedge between people and fractures the potential of this relatively young and hopeful network.
How many of the admins who block Threads because Meta is awful have also blocked all email from Gmail because Google is awful? My guess: not one. Some of them might even use Gmail every day and not even see the irony.
I’ve written about the situation with Meta and Threads in June 2023 and March 2024, and my opinions haven’t changed. Meta has grown more vile, for sure, but I still believe in the idea that the good fight here is trying to embrace the openness of the protocol and keeping good people connected to one another no matter where they are. I do not like or support Meta, and the fact that social.lol has not yet blocked Threads is not an indication of support for them in any way; rather, it’s a testament to my belief that there’s more good to be realized through openness than bad to be prevented through blocking.
(As a reminder for anyone curious about how social.lol handles moderation and federation: we promptly address reports about individuals who violate social.lol’s Code of Conduct. And if any single ActivityPub instance winds up disproportionately disrupting the experience for social.lol members, or creating a genuine moderation burden, we’ll take whatever action is necessary —— including blocking the instance, if it comes to that. This applies to tiny and huge instances alike. We’re not opposed to blocking instances that cause problems, but they have to actually cause problems first. To date, we have received no reports about any Threads users or posts.)