The Tezos Docs say:
Any node running the May release, in case of a successful promotion vote, will activate protocol 005_PsBABY5H, which contains a bug affecting bigmaps in smart contracts.
We advise users to update to this release so that the corrected protocol 005_PsBabyM1 will be activated.
How does the network decide which is the “right” protocol?