| --- |
| title: Decision-Making |
| --- |
| |
| The most important thing about engaging with any Apache project is that everyone |
| is equal. All project participants with an opinion can express that opinion and, where |
| appropriate, have the community consider it. |
| |
| To some, the idea of having to establish consensus in a large and distributed team |
| sounds inefficient and frustrating. Don't despair, though: The Apache Way has a |
| set of simple processes to ensure things proceed at a good pace. |
| |
| In ASF projects we don't like to vote. We reserve that for the [few things that need |
| official approval for legal or process reasons][14] (e.g. approving a release or adding a new committer). |
| Most of the time we work with the consensus-building techniques documented below. |
| |
| ## Consensus |
| |
| The word "consensus" is a bit ambiguous in English, and so can lead to |
| some misunderstandings of intent when we use it in the context of |
| project decisions. Consensus does not mean that everyone agrees on all |
| details. Rather, it means that the project, as a whole, has arrived a |
| decision, or at least a compromise, that everyone can live with. |
| |
| ## Lazy Consensus |
| |
| [Lazy consensus][10] is the first, and possibly the most important, consensus-building |
| tool we have. Essentially lazy consensus means that you don't need to get explicit |
| approval to proceed, but you need to be prepared to listen if someone objects. |
| |
| Lazy consensus is achieved by stating your intent on a public email, and |
| waiting an appropriate amount of time (usually 72 hours) for anyone to |
| object. Silence indicates consent, and after that time has passed, you |
| can assume that nobody objects, and proceed with your plan. |
| |
| Objections to the plan should be accompanied by a legitimate reason, and |
| be open to discussing possible alternative approaches. |
| |
| ## Consensus Building |
| |
| Sometimes lazy consensus is not appropriate. In such cases it is necessary to |
| make a proposal to the email list and discuss options. There are mechanisms |
| for quickly showing your support or otherwise for a proposal and |
| building consensus within the community. |
| |
| A consensus-building thread is often indicated by a subject line |
| starting with **[DISCUSS]**. Sufficient time should be provided for |
| members of the community to express opinions, and defend objections. |
| |
| It is customary for the initiator of the discussion to post a summary of |
| the discussion once it appears that consensus has been reached, to |
| ensure that their understanding of the will of the community is |
| accurate. |
| |
| ## Voting |
| |
| Occasionally a "feel" for consensus is not enough. Sometimes we need to |
| have a measurable consensus, for example, when [voting][14] to add committers or |
| to approve a release. |
| |
| To conduct a vote once a discussion thread seems to be winding down, |
| start a new thread with a subject line starting with **[VOTE]** to |
| indicate that a formal vote has been requested. |
| |
| [10]: https://www.apache.org/foundation/glossary.html#LazyConsensus |
| [11]: /committers/consensusBuilding.html |
| [14]: https://www.apache.org/foundation/voting |