blob: db023f9535208e40bab955a752a8817b27347e92 [file] [log] [blame] [view]
---
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 (e.g. approving a release or adding a new committer).
Most of the time we work with the consensus-building techniques documented below.
## 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.
## Consensus Building
Sometimes lazy consensus is not appropriate. In such cases it is necessary to
make a proposal to the mailing list and discuss options. There are mechanisms
for quickly showing your support or otherwise for a proposal and
[building consensus][11] within the community.
Once there is consensus to approve a proposal, people can proceed with the work under the [lazy
consensus][12] model.
## Voting
Occasionally a "feel" for consensus is not enough. Sometimes we need to
have a measurable vote, as when we [voted][13] in new committers or
approve a release.
[10]: /committers/lazyConsensus.html
[11]: /committers/consensusBuilding.html
[12]: /committers/lazyConsensus.html
[13]: /committers/voting.html