Cheiron |
|
Decision makingAll developers are encouraged to participate in the process of decision making, but the decision itself is made by those that have committer status in a project. All decisions revolve around "action items", most of these require a vote to be approved, either a majority or consensus vote. The votes of the committers are considered "binding". Action ItemsEverything in need for a decision is an action item, however we have only formalized the following ones:
Voting on formalized action itemsThe act of voting on an action item carries certain obligations. Voting members are not only stating their opinion, they are also agreeing to help do some work[1]. Any developer or committer ("member") may call for an action item vote on a developer mailing list. It is preferred that a vote be preceded by a formal proposal offered for discussion purposes. The message announcing a vote should contain a Subject beginning with "[VOTE]", and a distinctive one-line summary corresponding to the action item for the vote. Each vote on an action item can be made in one of four flavors:
There are two types of approval for an action item:
Except for a public release, all action items are considered to have lazy approval until somebody votes -1, at which point the action item is converted to a formal consensus or majority vote, depending on the type of action item. Note: 'lazy' means the action item has immediate tactic approval, and it is not necessary to tally the vote until a -1 reply is posted. Once a -1 reply is posted, the vote must be tallied and reported before the action item is considered approved. Any member may vote on any action item or related issue. When voting on an action item, the project's committers may also include the word "binding" next to their vote, to simplify a tally if it is needed. All binding vetos must also contain an explanation of why the veto is appropriate. In case the project leader wants to exercise his additional power, as explained in the description of his role, it must include "[INTERVENTION]" in the subject and provide a full explanation for making the formal approval process void. [1] There is no exact definition of 'some work', it's a rather gray area. The main thing we want to prevent from happening is that people vote (express their opinion), leave the stage and come back when there is another decision to be made. Voting caveat
Voting resultsMost action items are subject to lazy approval, and do not require the posting of a formal result, the only exception is currently the public release action item. However, any other majority item that receives any -1 reply (later rescinded or not) must be followed by a "[VOTE-RESULT]" message before the action item is considered approved. Likewise, any consensus item that receives any binding veto must post a "[VOTE-RESULT]" message summarizing the result, and show that each veto was rescinded, before it is considered approved. In either case, the member who requested the vote should also post the result within 120 hours (5 days). Any question regarding the outcome of an action-item vote may be referred by a committer to the CMC for arbitration. A public release is not considered approved until the release manager or its backup posts a followup message with the legend "[VOTE-RESULT]" summarizing the replies. ProposalProposals are not a formal action item; however, the message offering a proposal should contain a Subject beginning with "[PROPOSAL]". It is strongly recommended that a proposal be circulated before calling for a formal vote. Often, once members have had the chance to critique a proposal, an updated copy of a proposal can be reposted as the vote document. Often, a long-term plan will be made in the form of a "[PROPOSAL]". If appropriate, the proposed change or feature may then be entered to the project's status file. Voting on other action itemsThere are other matters upon which members will vote that do not involve action items. The same general voting structure is used in these cases, except that the "flavors" are taken to mean:
BranchingIn any software development project there is a natural tension between revolution and evolution. Many software development teams, open or closed, have a team leader who can declare whether the code base is in evolutionary or revolutionary mode. In a volunteer meritocracy, this type of decision is difficult to make and impossible to enforce. Our meritocracy is fueled by voluntary contributions, and so we must allow everyone to contribute, and then base our final product decisions on the contributions we actually receive. Accordingly, these principles are adopted:
|
||||||||||||||||
| Copyright 2006 Virgil
BV Licensed under the Apache License, Version 2.0. |