InstantDB Project
About InstantDB
Project Mail Lists
Short History
Reporting Bugs
Screen Shots
3rd Party Examples
FAQs

Software
Downloads
Documentation
CVS Repositories
Roadmap
License

About Enhydra.org
Who We Are
News, Articles & Events
Getting Involved
Contact Us

Community
Demos
Contributions
Resources
Case Studies
On The Edge! -NEW-
Commercial Vendors

Enhydra Community Process: Voting

The basis of the Enhydra Community Process, and the way it is organized, is its voting procedures. All issues should be decided through community interaction, and voting provides this interaction in a visible way. It also provides a merit-based reward system, allowing contributors to gain heightened status and honors within the community, as well as to allow proven community members to help in decision making.

Voting Procedures
All community members are encouraged to participate in decisions, but those that have committer status in the working group make the decision itself. In other words, the project is a "Minimum Threshold Meritocracy". Any community member may vote on any issue or action item. However, the only binding votes are those cast by a committer. If the vote is about a change to the source code or documentation and the primary author is a developer (community member) and not a committer, the primary author of what is being changed may also cast a binding vote on that issue.

The act of voting carries certain obligations. Voting members are not only stating their opinion, they are also agreeing to help do the work. Each vote can be made in one of three flavors:

+1 "Yes," "Agree," or "the action should be performed." On functionality issues, this is only binding if the voter has tested the action on their own system(s).
+/-0 "Abstain," which is equivalent to "no opinion." An abstention may have detrimental effects if too many people abstain.
-1 "No." On issues where consensus is required, this vote counts as a veto. All vetoes must contain an explanation of why the veto is appropriate. Vetoes with no explanation are void. No veto can be overruled once it has been cast; a new vote would have to be taken. If you disagree with the veto, you should lobby the person who cast the veto. Voters intending to veto an action item should make their opinions known to the group immediately so that the problem can be remedied as early as possible.

The preference is that a notice of concerns be sent to the mailing list(s) before casting the formal veto; this gives others an opportunity to lobby the vetoing voter, as well as correct any mistaken assumptions that may have been made. It also ensures that a vetoed action is the desired action. Misunderstandings that result in vetoes require significant work to get an issue re-voted on.

Voting Consensus
An action requiring consensus approval must receive at least 3 binding +1 votes and no binding vetoes. An action requiring majority approval must receive at least 3 binding +1 votes and more +1 votes than -1 votes. All other action items are considered to have lazy approval until somebody votes -1, at which point they are decided by either consensus or majority vote, depending on the type of action item.