I am to the point where I would take a serious look at a codebase released from a group of people I trust to evolve the protocol in a healthy direction which rectifies some of the deficiencies. gmaxwell, retep, and adam3us come to mind.
Ideally releases from the more desirable codebase would track and inter-operate with releases blessed by the Bitcoin Foundation. Until they didn't.
You already have a codebase released from that group, the one at
http://github.com/bitcoin/bitcoinIf it is changed in a way that is seriously objectionable, as opposed to minor disagreements about engineering tradeoffs, believe me, you
will see alternative releases from myself and many others pop up.
The way I envision this is that a separate repository holds the source code, but it
exactly matches the 'Bitcoin Foundation' one (for lack of a better term.) Releases would come off of it and be distributed via a different channel. The implementation of the protocol would be the same of course.
There would be several goals:
- People could express their interest in either Mike and Gavin's conception of Bitcoin by taking the 'official' release, or alternately, express their support for the philosophical principles of a different set of developers by taking from the alternate channel. There would be no difference in function, but it would be a good way to gauge community sentiment.
- A distribution channel would be primed, tested, and already in use if there came a point when the differences exceeded the 'minor disagreements about engineering.'
---
I am not aware of any other project which has a construct such as I've described, but Bitcoin is a bit unique in the open-source world in that
- there are some real and deep philosophical differences about how monetary systems work (and don't work.)
- there is a large amount of value riding on the solution and it's trajectory, not to mention some significant socio-political considerations.
- consequences of a mis-step in terms of protocol direction would be very difficult to back out of and would leave a lot of residual baggage in the block chain.