How is a hard fork resolved? In March 2013 there was a fork following the v0.8 release. The issue was resolved rather efficiently, as explained in the post-mortem report. However in this process there were winners and losers: the miners building on the v0.8 chain had to give up their block creation fee.

The next time there's a fork like this, it may not be so straightforward. The miners may not all agree on the proper resolution for the issue.

Is there any documented set of rules (bye-laws) explaining how such forks are to be resolved in the future?

If there's a conflict among the parties involved, who has the final say?

PS: Any comments on Bitcoin's so-called (faux) "decentralized" architecture are also welcome, given my other question has been censored. The decentralization doesn't seem to work after all, which begs the question as to what the whole point of the proof-of-work scheme is anyway.
A hard fork is by definition one that does not get solved. At least not by the rules of the system, as it is essentially an incompatibility between the rules assumed by separate nodes.

But think about what can cause such a thing:


An incorrect (=not identical to the rest of the network) implementation forks off. In this case it will always certainly be clear who is "at fault". For example, in the 0.7 vs 0.8 fork, there was a bug in the 0.7 (and older) clients that limited them in an unknown way, but 0.8 was at fault for not correctly mimicking the bug. As keeping such a weird and inconsistent limitation would hold the network back, and be risky in itself, the bug-free behavior will become allowed after may 15. However, if old full clients remain on the network after that date, they will end up on a fork, and this fork will not resolve.
Two implementations arise that knowingly implement different rules, perhaps because of ideological disagreement about what the rules should be. If both are economically significant and have significant mining behind them (which in neither case necessarily means a near-majority), this is pretty much a disaster. The incentive for consensus is huge, as disagreement effectively means granting every old coin hold to spend it once on each side.


Regarding decentralization, I think you mistake consensus for centralization. There are of course degrees, but ultimately it is Bitcoin's users who decide which rules to enforce by the software they run. However, as explained, there is a huge incentive for making sure no real disagreement arises. In some cases that may mean discussion will be needed, and an agreement has to be reached, perhaps a compromise. But it doesn't mean one party gets to control others.