'Federation' or decentralization is a fantastic idea. There is really only one way that it truly 'works' as a decentralized service...
Each and every user runs their own instance of a federated server. This way, they can 'defederate' anything they please, without affecting the whole. This way there is still no 'central' service that can be monetized, locked down, etc. and all of the federated data is available to all private instances, akin to BitTorrent or a (and I shudder typing this) blockchain.
Maybe I'm wrong.