In open sourced projects, code is not controlled. Consequences are, that it cannot be used in a strategic way and that there is an intrinsic right to fork. Forking can be pursued, or promoted for either technical reasons, ideological ones or even both of them.
Examples are The DAO forking, for instance. It can be considered that hard fork was proposed for technical reasons (stop loss and potential recovery of “stolen funds”), and it had origin in a technical issue too (a loophole in the SC) but the fact is that it turned out to be ideological too. Many of those who were against the hard fork actually argued that the rules they had agreed upon when becoming participants did not consider the option of modifying reality or re-designing it.
The truth is that, at the end, a vote was held at Carbonvote as a way of listening what did the affected thought should be done about it. BTW, according to their current web page, it works on proof of stake: “how many ethers you have, how many votes you have”, which is not exactly what I would call democratic, as it can imply certain plutocracic overtones, but surely was the best instrument to use at the time.
A quite high percentage (some sources say 87%, other around 95%) of consensus was reached in favor of the hard fork, which meant the basic principles of how the Blockchain was designed upon were somehow overlooked, but in return, funds were retrieved and reimbursed. In this sense, in an interview with Dan Tapscott I recently watched on Youtube, Vitalik stated that “in order for principles to be valuable, they have to have a social purpose” when asked about immutability and the actual social benefits it brought in The DAO.
So forking is a basic inherent right in open source code communities, as schism and heresy have been throughout the history of religion. But forks also bring into place another effect: the threat of forks pushes legitimate guardians (I will use this term to refer to those individuals or organizations that actually have the technical power to execute decisions made in a specific governance system) of the network to drive it towards the fulfillment of the broadest group of users’ needs and expectations. In other words, the possibility of forking forces “guardians” to follow and furtherly institutionalize the inter subjective order amongst that community.
When users are free to leave, or to revolve, you’re bound to guide the project in the direction that this inter subjective order (or common knowledge) demands. And I don’t mean explicit demands (which of course) but implicit ones as well.
For instance, Ethereum’s guardians (let them be the core devs or the foundation), know that there is no chance the community would massively accept to pivot the network into a private, permissioned Blockchain. Or at least they have crystal clear it would take a serious, long discussion about it. They can also take for granted that any relevant modification (like a hard fork) is expected to be previously discussed and voted on the corresponding platform. This happens because even it’s still “under construction”, the Ethereum community members share an intersubjective order.
The same will happen with governance over the Blockchain, a process that will require the community to transition from their subjective order (what I believe should be it) to an explicit common knowledge. And on the way, some may find they do not agree with the mainstream line of thought, or views, like it happens with fund recovery proposals at the time. Whatever your subjective position, the truth is that implementation will be most probably subject to voting processes, in which participants get a saying, and that those who do not agree on the final outcome will very likely assume their will cannot always prevail. Only if they feel their subjective order is radically contrary to that specific outcome, will they consider fork or revolution (of course, they’ll need to gather supporters previously). Which, IMO is a possibility that will reduce with time, as the basis for governance in the Blockchain are settled.
Absolute majorities are not sinequanone conditions for democratic systems (if reached, then great). Qualified majorities are. In democracies, there’s where legitimacy resides. So, me being against a particular decision will not make the whole governance system illegitimate. It may rather become so, if the empowered individuals (capable of executing decisions made on the basis of a governance process that’s been stablished by a majority) do not follow specific institutionalized rules (the common knowledge), or if I personally change my beliefs to a point where the preexisting system that I was following does not make any more sense to me (like a Christian who converts to Islam would feel).
Governance systems that sit on democratic principles will also require participants to understand exactly what’s going on. If as a stakeholder I do not understand what is it that’s being proposed (e.g a specific EIP), I will hardly be able to make a valid call. Would Blockchain governance systems have to consider abstentions as signals of lack of understanding? In that event, is the system going to pursue further explanations or should Blockchains be (explicitly or implicitly) restricted to those who can understand their most technical functions?
At the end of the day, what’s clear is that any community-based project, like Ethereum, need to stick as close as it can to the expectations and needs of its users for them to succeed. Otherwise, the risk of ideological forks increases exponentially, and unlike it has happened throughout history, there is no way of exercising violence to prevent them from happening. That mean that the task of maintaining governance systems dynamically updated requires a very high level of commitment, but there are talented individuals already working on it. Blockchain based businesses (which is what Ethereum is after all) need to know which is the path the users expect the network to follow. The only way through which the technical and the social system that’s being developed can be viable is having its user remaining, as active participants, and in order to ensure it there needs to be a communicating channel between participants/stakeholders and those with the power of executing decisions.
That, is governance. Social participant’s majoritarian demands brought to an open sourced code network.