It’s a protocol for independent systems to automatically exchange some information.
It’s not a distributed system of interchangeable instances.
Why not? A person is only banned from one instance, they are free to choose another and federate across any instances they haven’t been banned from. That sure sounds like having both federation and the ability to ban.
These are not public utilities. A person or organization doesn’t have to support someone with opposing views to them. And that’s ok. And that doesn’t break federation, except to specific instances for specific people.
Functioning federation depends entirely on good tools for users to filter and ban people and content.
That's not incompatible. You can go anywhere you want but you can get banned from place if you're an ass there is entirely sensible way for federated network to work.
More than that, it's necessary if you want any resistance to bad actors
If you do, do not be surprised when the service you're using gains a reputation accordingly.
> And on the odd occasion I do, I just ban the user or the entire instance and move on.
Yeah, that's actually part of the problem. If anyone can ban anyone for any reason then you don't actually have a federation. You have, at best, a gathering of barely-interoperable fiefdoms. You can either have a federation of commoditized servers or you can ban people you don't like -- you cannot have both.