Discussion and Consensus
Occasionally a consensus may need to be reached regarding a course of action for the project. The preferred mechanism is through discussion leading to a consensus of opinion. (For more background as to why, please read Consensus-Based Democracy in Producing Open Source Software)
However, that may not always be possible, or in some cases, more clarity may be required. In these cases, the VIVO Committers will attempt to come to a consensus by bringing the topic to a vote. Currently, the following voting procedures are in place, as established in late 2015:
Developer Voting Procedures
The VIVO Committers follow the Apache Voting Process.
Votes can be called either during meetings or via email. Any active Committer may call a vote. There are three main votes that can be made:
- +1 : positive, "I agree"
- 0 : neutral, "I'm undecided, or unsure"
- -1 : negative, "I disagree" (should always include a reason why you disagree)
In a general sense, there are three types of votes that may take place:
- Votes on code modifications - proposals require at least three positive (+1) votes, and no negative votes (-1) to pass. In this scenario, a negative vote constitutes a "veto".
- Votes on a new release - proposals require a majority are in favor (and at least three +1 votes have been cast)
- Votes on procedural/policy changes - proposals require more positive (+1) than negative (-1) votes
Similar to the Apache Voting Process, only active Committers have "binding" votes. Others (including Emeritus Committers) are free to vote to express their opinions, but those votes are considered advisory in nature.
There are also votes on new Committers, which follow a similar voting process, but are held in private.
Further details of some of the intricacies of these voting procedures can be found in the Apache Voting Process.