ELI5: Why can't defederation be one sided?

CleoTheWizard@beehaw.org to AskBeehaw@beehaw.org – 2 points –

I think I understand how the federation system works currently and I'm not sure if I think this is a good thing, but why does federation require the entire link between communities to be broken?

Like say that Community A wants to block out Community B. That's fine, but can Community B still see posts on A? And if not, why not?

And to go further, if I'm part of Community A and I still want to interact with Community B, why can't I? Like is there a reason for forcing users to only interact with communities that are federated?

Again, I understand there are restrictions with data and how things currently work. I'm just asking from an abstract perspective about the fundamental ideas.

5

I’d imagine you can’t allow a community to read only and not comment to another so that would necessitate defederation being bi-directional.

But would it be possible to have it read only? Or would that break functionality somehow (providing you at least inform the user they cannot comment or vote)?

It is technically one-sided, and it works at the instance level, not the community level. If instance (server) A adds instance B to their defederated list: instance A ignores everything from instance B and does not send any updates to instance B. Instance B doesn't have to add instance A to it's defederation list, but it doesn't matter because it doesn't make a difference to what instance A is doing.

It totally can. It's just not a feature at the moment. There's many federation restrictions that can exist but currently Lemmy only knows of like, ~3.

  1. Open to everyone and everything
  • So everything is allowed, full-on communication
  1. Open to everyone and everything but with a blacklist
  • So everything is allowed, full-on communication however blocklisted Community B becomes "dead" and can't interact with Community A.
  1. Allowlisted community
  • You can only interact between allowlisted communties however when you go to Community B (allowlisted), you could see and interact with people from Community C (which is not allowlisted!) when in a Community of B but not of A. However, people from A cannot see or interact with communities of C and vice-versa.