maybe authority proliferates almost as a hack to bypass the need to reach full consensus. those who don't agree can simply be coerced into accepting the terms imposed upon them
in reverse: those who want to reduce the role of authority must (necessarily?) find ways and areas where they can reach full consensus, or alternatively if full consensus cannot be reached, a conflict resolution method that is more equitable to its subjects (such as negotiation of boundaries between zones where certain terms apply or don't apply)
if we call these zones "networks", then by the principle of free association we must allow people to be part of different networks wherever they disagree on terms. or in other words: the network is defined by the terms you accept.
various people have opined that the differentiating factor of fedi is in choosing which *legal* or *service* terms you accept, but on a technical level you also have to consider the *semantic* terms and what you are *capable* of saying or expressing
so in conclusion: instead of building maximalist protocols encompassing everything, we ought to instead find the minimum viable set of agreements, and let people compose their own protocols on top of that.
i think the only thing that really needs universal agreement is the identity and the transport. storage can be abstracted away.
take http(s) as an example. identity is the http: or https: uri, and the transport is the HTTP protocol (over TLS in the latter case). storage can be anywhere.
where i find activitypub has made a mistake, or rather, to some extent where fedi softwares have made a mistake in implementing activitypub, is this:
the inbox and outbox should never have been "everything" endpoints. to the extent that they use HTTP, they should stick to HTTP's semantics.
related: https://mastodon.social/@trwnh/117034697483562928 -- mapping activities flows seems worthwhile. especially as it relates to specific contexts like groups or threads.