I apologize if this has been asked before, but I’m wondering if it would be feasible to implement a new approach to defederation that offers the option of choosing between complete or partial defederation from another instance.
Currently, defederation blocks both the locally made posts on the defederated instance and its entire userbase. This can be excessive, and in many cases it may be better to block only the posts made on the other instance while still allowing its users to interact with the instance that defederated — user behavior may differ between their home instance and other instances. This partial defederation (or limited federation) would facilitate normal interaction without negatively affecting the content of a feed.
Problematic users could be managed on a case-by-case basis using bans, similar to how it is done for federated instances. Automated tools could simplify this process in the future. Complete defederation would still be necessary in extreme cases where no positive user interactions are expected, such as with instances that promote Nazism.
Instances are being forced to choose between a sledgehammer and nothing at all, and I think a compromise is warranted. I’m curious to read others’ thoughts on how to solve this existing challenge.
EDIT: I added a rough sketch that outlines the proposal. On the left side is the system as it works now and on the right side are two possible scenarios for limited federation (1 direction or bidirectional)
I would even say that at least 3 tiers of defederation are nessesary:
Remote instance users can interact with local instance by posting and commenting on local instance, but remote communities are blocked on local instance
Remote users can see posts/comments from local instance, but not the other way around and commenting and posting is disabled both ways
Full defederation as it works right now. Neither instance can see content from the other.
This feels like the lose/lose option? The major reason sites defederate from another is that users on that remote site cannot be meaningfully moderated. This is usually because there’s too much traffic coming from a poorly moderated instance, and there are too many uncooperative users showing up from there.
It’s not the group objects that are the problem, it’s the users.
There’s no reason to disable posting. When you access a “remote” community from your local instance, you are in no way actually on that remote site. You’re not directly interacting with anything remote. Instead, that remote content is mirrored on your local instance. You interact with the local copy, and then the servers sync the content.
Defederation merely shuts down this syncing.
You could, conceivably – though I’m not sure if this is something that ActivityPub allows – have a federation mode where you push out content to a remote site, but merely do not accept update from it. This does nothing to foster the community locally, though, and is probably at least as alienating as being able to see a discussion other people are having in a view-only mode where you cannot interact with anyone at all.
It really just seems better to me to find another community built around the same topic. Or, if you find yourself on an instance that’s being defederated by a lot of other sites, pick up and move to another instance, because it’s probably signalling that something fishy’s going on on your current one.
The defederation tier that’s currently missing is “silencing”, which basically enforces subscription approvals from silenced websites. So, you click subscribe, the mods see that someone wants to subscribe to the community, they check out your profile, and then, finding you’re not causing problems for others, they approve your subscription.
Also useful would be the ability to set communities as ‘Local Only’.