5. In order to solve this problem of protocol tyranny and hijacked implementations, Wu suggested that for the future of bitcoin to remain beautiful and grow, the community will need multiple implementations.
Satoshi was against multiple implementations.
https://bitcointalk.org/index.php?topic=195.msg1611#msg1611.
I don't believe that we should religiously follow everything that satoshi says, but I've seen a lot of people like jonald_fyookball talk about satoshi's support of larger blocks, so I thought I'd throw it right back.
If the second version screwed up, the user experience would reflect badly on both, although it would at least reinforce to users the importance of staying with the official version.
He did say this before your quote:
"
A second version would be a massive development and maintenance hassle for me. It's hard enough maintaining backward compatibility while upgrading the network without a second version locking things in. If the second version screwed up, the user experience would reflect badly on both, although it would at least reinforce to users the importance of staying with the official version. If someone was getting ready to fork a second version, I would have to air a lot of disclaimers about the risks of using a minority version. This is a design where the majority version wins if there's any disagreement, and that can be pretty ugly for the minority version and
I'd rather not go into it, and I don't have to as long as there's only one version."
We are way past this phase and it is not uncommon for Protocols to have multiple implementations.
Although I think Satoshi laid out as many ground as he could, and very well at that, of course he couldn't predict everything.
That said, it is as sound an argument as saying 1 MB blocksize limit was Satoshi's vision and the true Bitcoin vision of one person one node.
This Satoshi arguments don't serve anyone.
He also said he has reasons to not want his software forked which you omitted from the quote:
A second version would be a massive development and maintenance hassle for me. It's hard enough maintaining backward compatibility while upgrading the network without a second version locking things in. If the second version screwed up, the user experience would reflect badly on both, although it would at least reinforce to users the importance of staying with the official version. If someone was getting ready to fork a second version, I would have to air a lot of disclaimers about the risks of using a minority version. This is a design where the majority version wins if there's any disagreement, and that can be pretty ugly for the minority version and I'd rather not go into it, and I don't have to as long as there's only one version.
I know, most developers don't like their software forked, but I have real technical reasons in this case.
This basically means what's being said: Who cares if you create a new implementation, as long as it doesn't fork the network and follows the rules. But not following the rules is a de-facto attack on the network if you want to call that bitcoin, instead of creating your own altcoin. Which is what xt, classic, buglimited and frankensegwit all are: attacks of butthurt people that can't get their shitty code approved in the main branch because it sucks.