Differences between revisions 1 and 23 (spanning 22 versions)
Revision 1 as of 2018-09-10 03:44:44
Size: 2952
Comment:
Revision 23 as of 2019-04-02 12:34:44
Size: 4059
Comment: link to couchdb + httpd guidelines
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

DRAFT DRAFT DRAFT

NOT ENDORSED BY ANYONE CURRENTLY
Line 9: Line 5:
This document defines the guidelines under which a project operates if it hasn't defined it's own guidelines. This document defines the guidelines under which a project operates if it hasn't defined its own guidelines.
Line 23: Line 19:
The [[http://www.apache.org/dev/pmc.html#what-is-a-pmc|PMC]] has [[https://www.apache.org/foundation/how-it-works.html#pmc|many responsibilities]] including complying with [[http://www.apache.org/dev/pmc.html#policy|ASF policies]], [[https://www.apache.org/foundation/board/reporting|reporting to the board]], [[https://www.apache.org/foundation/voting.html|voting on releases]] and adding new [[http://www.apache.org/dev/pmc.html#newcommitter|committers]] and [[http://www.apache.org/dev/pmc.html#newpmc|PMC members]]. The [[http://www.apache.org/dev/pmc.html#what-is-a-pmc|PMC]] has [[https://www.apache.org/foundation/how-it-works.html#pmc|many responsibilities]] including complying with [[http://www.apache.org/dev/pmc.html#policy|ASF policies]], [[https://www.apache.org/foundation/board/reporting|reporting to the board]], [[https://www.apache.org/foundation/voting.html|approving releases]] and adding new [[http://www.apache.org/dev/pmc.html#newcommitter|committers]] and [[http://www.apache.org/dev/pmc.html#newpmc|PMC members]].
Line 31: Line 27:
Different decisions require different forms of approval.
 - [[https://www.apache.org/foundation/glossary.html#ConsensusApproval|Consensus Approval]] – Consensus approval requires 3 binding +1 votes and no -1 votes ( [[https://www.apache.org/foundation/glossary.html#Veto|vetoes]]).
This is one suggested model, note that 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 bylawxs.
Line 34: Line 29:
 - [[https://www.apache.org/foundation/glossary.html#MajorityApproval|Majority Approval]] – requires at least 3 +1 votes more +1 votes than -1 votes. Different decisions require different forms of approval but community consensus is always the goal. Voting when needed should be open for at [[http://www.apache.org/legal/release-policy.html#release-approval|least 72 hours]].
 - [[https://www.apache.org/foundation/glossary.html#ConsensusApproval|Consensus Approval]] – Consensus approval requires 3 [[https://www.apache.org/foundation/voting.html#binding-votes|binding]] +1 votes and no -1 votes ([[https://www.apache.org/foundation/glossary.html#Veto|vetoes]]).
Line 36: Line 32:
 - [[https://www.apache.org/foundation/glossary.html#LazyConsensus|Lazy Consensus]] consensus no objections (‘silence gives assent’).  - [[https://www.apache.org/foundation/glossary.html#MajorityApproval|Majority Approval]] – requires at least 3 [[https://www.apache.org/foundation/voting.html#binding-votes|binding]] +1 votes more +1 votes than -1 votes.
Line 38: Line 34:
|| Action |||| Who can vote |||| Approval || Board approval required ||
|| Code chan
ge |||| Committer |||| Lazy Consensus |||| ||
|| Release |||| PMC |||| Majority Approval |||| ||
|| New committer |||| PMC |||| Consensus Approval |||| ||
|| New PMC member |||| PMC |||| Consensus Approval |||| Yes^1^ ||
|| Existing committer removal |||| PMC |||| Consensus Approval |||| ||
|| Existing PMC removal |||| PMC |||| Consensus Approval |||| Yes^2^ ||
 - [[https://www.apache.org/foundation/glossary.html#LazyConsensus|Lazy Consensus]] – consensus no objections (‘silence gives assent’).

|| 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 method^4^ |||| private list |||| ||
|| New PMC member |||| PMC |||| Consensus Approval |||| private list|||| Yes^1^ ||
|| Existing committer removal |||| PMC |||| Consensus Approval |||| private list |||| ||
|| Existing PMC removal |||| PMC |||| Consensus Approval |||| private list |||| Yes^2^ ||
|| Change chair |||| PMC |||| Consensus Approval |||| private list |||| Yes^3^ ||
Line 48: Line 47:
^2^ Except PMC member in question. Only the board can [[http://www.apache.org/dev/pmc.html#pmc-removal|remove PMC members]. ^2^ Except PMC member in question. Only the board can [[http://www.apache.org/dev/pmc.html#pmc-removal|remove PMC members]].

^3^ Needs to be [[http://www.apache.org/dev/pmc.html#newchair|approved by the board]] at the next board meeting.

^4^ While most project vote on new committers it's up to the PPMC to decide [[http://www.apache.org/dev/pmc.html#noncommitter|how to do it]].

Default Project Guidelines

Introduction

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.

Roles and Responsibilities

Apache projects define a set of roles with associated rights and responsibilities.

Project Management Committee

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

The chair ensures board reports are submitted and that the project's roster is up to date.

Decision Making

This is one suggested model, note that 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 bylawxs.

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 given to board.

2 Except 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 project vote on new committers it's up to the PPMC to decide how to do it.

DefaultProjectGuidelines (last edited 2019-04-02 12:34:44 by BertrandDelacretaz)