|
| 1 | +# Project governance |
| 2 | + |
| 3 | +The [OCI charter][charter] §5.b.viii tasks an OCI Project's maintainers (listed in the repository's MAINTAINERS file and sometimes referred to as "the TDC", [§5.e][charter]) with: |
| 4 | + |
| 5 | +> Creating, maintaining and enforcing governance guidelines for the TDC, approved by the maintainers, and which shall be posted visibly for the TDC. |
| 6 | +
|
| 7 | +This section describes generic rules and procedures for fulfilling that mandate. |
| 8 | + |
| 9 | +## Proposing a motion |
| 10 | + |
| 11 | +A maintainer SHOULD propose a motion on the dev@opencontainers.org mailing list (except [security issues](#security-issues)) with another maintainer as a co-sponsor. |
| 12 | + |
| 13 | +## Voting |
| 14 | + |
| 15 | +Voting on a proposed motion SHOULD happen on the dev@opencontainers.org mailing list (except [security issues](#security-issues)) with maintainers posting LGTM or REJECT. |
| 16 | +Maintainers MAY also explicitly not vote by posting ABSTAIN (which is useful to revert a previous vote). |
| 17 | +Maintainers MAY post multiple times (e.g. as they revise their position based on feeback), but only their final post counts in the tally. |
| 18 | +A proposed motion is adopted if two-thirds of votes cast, a quorum having voted, are in favor of the release. |
| 19 | + |
| 20 | +Voting SHOULD remain open for a week to collect feedback from the wider community and allow the maintainers to digest the proposed motion. |
| 21 | +Under exceptional conditions (e.g. non-major security fix releases) proposals which reach quorum with unanimous support MAY be adopted earlier. |
| 22 | + |
| 23 | +A maintainer MAY choose to reply with REJECT. |
| 24 | +A maintainer posting a REJECT MUST include a list of concerns or links to written documentation for those concerns (e.g. GitHub issues or mailing-list threads). |
| 25 | +The maintainers SHOULD try to resolve the concerns and wait for the rejecting maintainer to change their opinion to LGTM. |
| 26 | +However, a motion MAY be adopted with REJECTs, as outlined in the previous paragraphs. |
| 27 | + |
| 28 | +## Quorum |
| 29 | + |
| 30 | +A quorum is established when at least two-thirds of maintainers have voted. |
| 31 | + |
| 32 | +For projects that are not specifications, a [motion to release](#release-approval) MAY be adopted if the tally is at least three LGTMs and no REJECTs, even if three votes does not meet the usual two-thirds quorum. |
| 33 | + |
| 34 | +## Security issues |
| 35 | + |
| 36 | +Motions with sensitive security implications MUST be proposed on the security@opencontainers.org mailing list instead of dev@opencontainers.org, but should otherwise follow the standard [proposal](#proposing-a-motion) process. |
| 37 | +The security@opencontainers.org mailing list includes all members of the TOB. |
| 38 | +The TOB will contact the project maintainers and provide a channel for discussing and voting on the motion, but voting will otherwise follow the standard [voting](#voting) and [quorum](#quorum) rules. |
| 39 | +The TOB and project maintainers will work together to notify affected parties before making an adopted motion public. |
| 40 | + |
| 41 | +## Amendments |
| 42 | + |
| 43 | +The [project governance](#project-governance) rules and procedures MAY be ammended or replaced using the procedures themselves. |
| 44 | +The MAINTAINERS of this project governance document is the total set of MAINTAINERS from all Open Containers projects (runC, runtime-spec, and image-spec). |
| 45 | + |
| 46 | +## Subject templates |
| 47 | + |
| 48 | +Maintainers are busy and get lots of email. |
| 49 | +To make project proposals recognizable, proposed motions SHOULD use the following subject templates. |
| 50 | + |
| 51 | +### Proposing a motion |
| 52 | + |
| 53 | +> [{project} VOTE]: {motion description} (closes {end of voting window}) |
| 54 | +
|
| 55 | +For example: |
| 56 | + |
| 57 | +> [runtime-spec VOTE]: Tag 0647920 as 1.0.0-rc (closes 2016-06-03 20:00 UTC) |
| 58 | +
|
| 59 | +### Tallying results |
| 60 | + |
| 61 | +After voting closes, a maintainer SHOULD post a tally to the motion thread with a subject template like: |
| 62 | + |
| 63 | +> [{project} {status}]: {motion description} (+{LGTMs} -{REJECTs} #{ABSTAINs}) |
| 64 | +
|
| 65 | +Where `{status}` is either `adopted` or `rejected`. |
| 66 | +For example: |
| 67 | + |
| 68 | +> [runtime-spec adopted]: Tag 0647920 as 1.0.0-rc (+6 -0 #3) |
| 69 | +
|
| 70 | +[charter]: https://www.opencontainers.org/about/governance |
0 commit comments