...

Text file src/github.com/opencontainers/runtime-spec/GOVERNANCE.md

Documentation: github.com/opencontainers/runtime-spec

     1# Project governance
     2
     3The [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
     7This section describes generic rules and procedures for fulfilling that mandate.
     8
     9## Proposing a motion
    10
    11A 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
    15Voting on a proposed motion SHOULD happen on the dev@opencontainers.org mailing list (except [security issues](#security-issues)) with maintainers posting LGTM or REJECT.
    16Maintainers MAY also explicitly not vote by posting ABSTAIN (which is useful to revert a previous vote).
    17Maintainers MAY post multiple times (e.g. as they revise their position based on feedback), but only their final post counts in the tally.
    18A proposed motion is adopted if two-thirds of votes cast, a quorum having voted, are in favor of the release.
    19
    20Voting SHOULD remain open for a week to collect feedback from the wider community and allow the maintainers to digest the proposed motion.
    21Under exceptional conditions (e.g. non-major security fix releases) proposals which reach quorum with unanimous support MAY be adopted earlier.
    22
    23A maintainer MAY choose to reply with REJECT.
    24A 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).
    25The maintainers SHOULD try to resolve the concerns and wait for the rejecting maintainer to change their opinion to LGTM.
    26However, a motion MAY be adopted with REJECTs, as outlined in the previous paragraphs.
    27
    28## Quorum
    29
    30A quorum is established when at least two-thirds of maintainers have voted.
    31
    32For 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
    36Motions 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.
    37The security@opencontainers.org mailing list includes all members of the TOB.
    38The 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.
    39The TOB and project maintainers will work together to notify affected parties before making an adopted motion public.
    40
    41## Amendments
    42
    43The [project governance](#project-governance) rules and procedures MAY be amended or replaced using the procedures themselves.
    44The 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
    48Maintainers are busy and get lots of email.
    49To 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
    55For 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
    61After 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
    65Where `{status}` is either `adopted` or `rejected`.
    66For example:
    67
    68> [runtime-spec adopted]: Tag 0647920 as 1.0.0-rc (+6 -0 #3)
    69
    70[charter]: https://github.com/opencontainers/tob/blob/main/CHARTER.md

View as plain text