Building Fediverse software for reversibility

We know that even slight changes in the user experience or algorithms of social media software can have snowball effects and drastically change how people interact.

But, no-one is omniscient. Even the best intentioned developers, the most carefully planned and discussed feature can, in hindsight, turn out to have undesired effects.

Not only should we design our social media experiences to foster an individual's agency (individual opt-in, instance opt-in, facilitate instance migration), we should also design features and processes such that we can reconsider our decisions and potentially roll them back easily.

On a software level, this could for example mean:

On a “governance” level:

On a community level:

Disclaimer: I say we because I understand I am not operating in a vacuum, but these are just concepts I am working out for myself. I welcome feedback!