There was an interesting post on the YCombinator blog by Ramon Recuero about the evolution of blockchain protocols through forking and copying. The post does not mention the alternative possibility of binding voting as a mechanism for the evolution of blockchains. There are several projects, including the troubled Tezos, where the blockchain protocol will be able to evolve via on-chain voting.
Voting is an important mechanism to be explored as an alternative to forking. In his famous treatise Exit, Voice, and Loyalty, Albert Hirschman describes how members of an organization or consumers of a product/service can respond to a deterioration in quality. They can either choose to exercise voice, that is speak up and demand changes, or they can exit and join a different organization or use a different product/service.
For blockchains forking is the native implementation of “exit” but voting will be the way to achieve “voice.” Change is most effectively accomplished when both mechanisms are available. Forking (exit) is very disruptive and should be chosen only as a means of last recourse after voting (voice) has been tried and failed. This is why I am excited to see projects that are working to implement on-chain voting for protocol evolution. This is an important missing capability.