This document defines the guidelines under which a project operates if it hasn't defined its own guidelines.
It defines the roles and responsibilities of the project, who may vote, how voting works, how conflicts are resolved, etc.
The Apache Foundation FAQ and How-It-Works explain the operation and background of the foundation. Terms used are defined in the ASF glossary.
Apache has a code of conduct that it expects its members to follow.
Apache projects define a set of roles with associated rights and responsibilities.
The PMC has many responsibilities including complying with ASF policies, reporting to the board, approving releases and adding new committers and PMC members.
The chair ensures board reports are submitted and that the project's roster is up to date.
This is one suggested model, note that (P)PMCs have some leeway in the way decisions are made, where vetoes apply etc., see https://httpd.apache.org/dev/guidelines.html and http://couchdb.apache.org/bylaws.html#decisions for good examples of that. For CouchDB note that nowadays the term "community guidelines" is preferred over bylaws.
Different decisions require different forms of approval but community consensus is always the goal. Voting when needed, should be open for at least 72 hours.
Action | Who can vote | Approval | Where to vote | Board approval required |
Code change | Committer | Lazy Consensus | public dev or commit list | |
Release | PMC | Majority Approval | public dev list | |
New committer | PMC | Consensus Approval or other documented method4 | private list | |
New PMC member | PMC | Consensus Approval | private list | Yes1 |
Existing committer removal | PMC | Consensus Approval | private list | |
Existing PMC removal | PMC | Consensus Approval | private list | Yes2 |
Change chair | PMC | Consensus Approval | private list | Yes3 |
1 Notice must be sent to the project's private list.
2 Except for the PMC member in question. Only the board can remove PMC members.
3 Needs to be approved by the board at the next board meeting.
4 While most projects vote on new committers, it's up to the PPMC to decide how to do it.