What Does Federation Exactly mean?
hi guys, so I have migrated from reddit, I’m just confused what federation means exactly. what happens when I turn federation off in Kbin?
The best analogy here is always email, because everyone is familiar with it and it’s the original federated technology.
No one company owns email. There isn’t an email.com that you sign up to for email and controls the whole thing. Instead, email is a specification of communication between servers.
This allows multiple organisations to set up email servers that talk to each other. We can pick the email server that’s best for us and we’ll be able to talk to anyone on any other. You can see this because we can’t just have the email address “lotanis” it has to be “lotanis@emailprovider.com” so that we know what server the user lives on. Note also they’re not running the same software - quite a few of them will run Microsoft’s email server, but Google will run their own and other people will be using open source software.
Defederation in the email world is one server choosing not accept email from certain other servers, e.g. because they don’t vet their users and produce a lot of spam.
All of this works the same in the fediverse, but the underlying protocol is called ActivityPub. You have multiple Lemmy instances and it doesn’t matter which one a community is on you can still follow and comment. You don’t even need to run the same software, Lemmy can talk to Kbin etc.
Defederation has happened in the recent Beehaw case because there are a couple of large Lemmy instances that let in users and Beehaw doesn’t have the moderation tools they need to create the community they want so they’ve just disconnected from those large instances.
Federation is the reason I’m allowed to comment on this post, even though I’m on sh.itjust.works and not kbin.social
It simply means that the instances (different websites) are connected, and you can see content from any that are federated as well as create posts or comment anywhere.
Defederation is the opposite. That is your site deciding that they’d rather not have you, or any users on your instance, see or interact with other instances.
Federation is the interoperability between different instances of a service. If your instance stops federating, then it will be just like Reddit, Twitter or YouTube: one website where only you and other people on that website can talk to each other. Federation allows many different websites to talk to each other and create a new kind of shared media platform (the Fediverse), where you’re not locked into using one specific website to access its content. Most services in the Fediverse use the ActivityPub protocol (an official W3C standard like HTML or CSS) to communicate with each other. Theoretically, any service that supports ActivityPub can federate with other ActivityPub services. That’s why you can comment from kbin to Lemmy or from Mastodon to PeerTube.
PS: Just to be clear, you the user can’t decide if your instance continues to federate with other instances or not. However, you can block specific users and whole instances yourself, so that your posts are not federated with them any more. If your admin decides to de-federate with an instance, it’s a server-wide block so nobody can see their posts any more and vice versa.
EDIT: I’m not sure about how it works with kbin exactly, but that’s more or less how it works on other ActivityPub services.