Against controversial forks
Controversial hard forks threaten Bitcoin's value
A controversial hard fork could destroy Bitcoin's value permanently. Bitcoin's current value depends on people's faith in its future value. Controversial hard forks undermine that faith by introducing uncertainty about which fork will win, and uncertainty about which properties Bitcoin will have in the future.
- All else being equal a controversial hard fork will probably reduce Bitcoin's value, but in most cases all else is not equal. Bitcoin being widely used will increase its value, so a hard fork which is expected to make Bitcoin more widely used can still have positive expected value for Bitcoin's market cap.
- There are hundreds of intellectually worthless altcoins that have some positive value. So as long as one fork of Bitcoin continues to provide something valuable that users aren't getting elsewhere, it is very unlikely that its value will go to zero. If we care about creating a currency that is useful and does good in the world and not simply enriching Bitcoin early adopters, the exchange rate should not be a primary concern.
No one should force other Bitcoin users into a system they don't want
Bitcoin should not be a democracy, nor a dictatorship. No one should make you have to play by new rules unless you agree to them. When core developers can make controversial consensus changes, the ecosystem becomes more centralized. It allows people to push through undesirable changes either by force or more subtle methods of influence. So core developers should only implement consensus changes when they are uncontroversial.
- Controversial hard forks are actually the only way of resolving the dispute that does not allow one group to impose its will on the other. This is described in more detail at "The possibility of controversial hard forks prevents any group from being able to force their will others"
Forks set a dangerous precedent
If we allow one controversial hard fork, then future ones that are more sinister become more likely.
A hard fork puts people at risk of double spending
A critical purpose of Bitcoin which is double spend protection. If the fork you choose ends up losing, then all payments to you on that fork are effectively reversed when the other fork wins. If both forks continue to live on together, then the same coins can be spent once in each chain which is a type of double spend.
- If the new chain replaced the old one fairly quickly, then there is little risk of this sort of double spending, especially because the period during which it'd be risky to accept coins only on the old chain would be well known. If the two chains continue to live on because some people still find the old one useful despite the majority migrating to the new one, then in effect the two chains represent different currencies. So spending coins on each chain that both originated from the same coins on the old chain shouldn't be considered a double spend.
Users will really dislike being on the wrong side of a fork
If a user picks the losing side of a hard fork, they'd feel disenfranchised. It might sour them on Bitcoin. They may feel like they can't trust that any future version of Bitcoin will retain its value.
- There will be ways of hedging or insuring against being on the wrong side of a fork, for people who would experience huge financial losses if their non-preferred fork won. Any coins you had before the fork will be on both forks. During the fork you could accept payment in a mix of both coins, or immediately convert to another currency until a new equilibrium was reached.
Core developers should not partake in controversial hard forks
"By using the system everyone agreed on one set of consensus rules, that was the "social contract" of Bitcoin. To me, the consensus rules are more like rules of physics than laws. They cannot be changed willy-nilly according to needs of some groups, much less than lower gravity can be legislated to help the airline industry.
It is shocking to hear wide misunderstanding that it is supposedly 'the developers' that decide on such changes. As if this is merely a private top-down project. No, the point was that this can continue without any kind of central guidance, with expected stability. As a developer I work on improving the technical aspects and fixing bugs, not on 'governing' it. By expecting a few developers to make controversial decisions you are breaking the expectations, as well as making life dangerous for those developers. I'll jump ship before being forced to merge an even remotely controversial hardfork."
The job of a Core developer (a developer working on Bitcoin Core) should be to make technical changes to the system, not to alter the fundamental consensus rules or force their will on others.
- It may not be possible to avoid controversial hard forks without allowing Bitcoin to become something that has little impact on the world. Maybe some changes that Bitcoin requires to succeed will always be opposed by some group. In that case, the position that Core developers can't make changes that don't have near complete consensus would result in Bitcoin failing.
- If we assume that sometimes controversial hard forks are valuable, the question becomes: who should participate in advocating for controversial hard forks? There needs to be some sort of software developer involved who is familiar with Bitcoin to code and test the hard fork. Since the Bitcoin community is loosely organized and people play many roles, it seems natural that a core developer would be involved in advocating a hard forking change if he thought it was good for Bitcoin.