Skip Navigation

ELI5: Why can't defederation be one sided?

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
5 comments
  • 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.