Skip to content

Commit 56abe12

Browse files
author
Brandon Philips
committed
GOVERNANCE and RELEASES: split the files
Split files into governance and releases and outline the maintainers of the GOVERNANCE doc itself. Signed-off-by: Brandon Philips <[email protected]>
1 parent c732cc2 commit 56abe12

File tree

2 files changed

+52
-51
lines changed

2 files changed

+52
-51
lines changed

GOVERNANCE.md

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ The TOB and project maintainers will work together to notify affected parties be
4141
## Amendments
4242

4343
The [project governance](#project-governance) rules and procedures MAY be ammended or replaced using the procedures themselves.
44-
No additional quorum or voting restrictions apply to such motions.
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).
4545

4646
## Subject templates
4747

@@ -67,54 +67,4 @@ For example:
6767

6868
> [runtime-spec adopted]: Tag 0647920 as 1.0.0-rc (+6 -0 #3)
6969
70-
# Releases
71-
72-
The release process hopes to encourage early, consistent consensus-building during project development.
73-
The mechanisms used are regular community communication on the mailing list about progress, scheduled meetings for issue resolution and release triage, and regularly paced and communicated releases.
74-
Releases are proposed and adopted or rejected using the usual [project governance](#project-governance) rules and procedures.
75-
76-
An anti-pattern that we want to avoid is heavy development or discussions "late cycle" around major releases.
77-
We want to build a community that is involved and communicates consistently through all releases instead of relying on "silent periods" as a judge of stability.
78-
79-
## Parallel releases
80-
81-
A single project MAY consider several motions to release in parallel.
82-
However each motion to release after the initial 0.1.0 MUST be based on a previous release that has already landed.
83-
84-
For example, runtime-spec maintainers may propose a v1.0.0-rc2 on the 1st of the month and a v0.9.1 bugfix on the 2nd of the month.
85-
They may not propose a v1.0.0-rc3 until the v1.0.0-rc2 is accepted (on the 7th if the vote initiated on the 1st passes).
86-
87-
## Specifications
88-
89-
The OCI maintains three categories of projects: specifications, applications, and conformance-testing tools.
90-
However, specification releases have special restrictions in the [OCI charter][charter]:
91-
92-
* They are the target of backwards compatibility (§7.g), and
93-
* They are subject to the OFWa patent grant (§8.d and e).
94-
95-
To avoid unfortunate side effects (onerous backwards compatibity requirements or Member resignations), the following additional procedures apply to specification releases:
96-
97-
### Planning a release
98-
99-
Every OCI specification project SHOULD hold meetings that involve maintainers reviewing pull requests, debating outstanding issues, and planning releases.
100-
This meeting MUST be advertised on the project README and MAY happen on a phone call, video conference, or on IRC.
101-
Maintainers MUST send updates to the [email protected] with results of these meetings.
102-
103-
Before the specification reaches v1.0.0, the meetings SHOULD be weekly.
104-
Once a specification has reached v1.0.0, the maintainers may alter the cadence, but a meeting MUST be held within four weeks of the previous meeting.
105-
106-
The release plans, corresponding milestones and estimated due dates MUST be published on GitHub (e.g. https://github.com/opencontainers/runtime-spec/milestones).
107-
GitHub milestones and issues are only used for community organization and all releases MUST follow the [project governance](#project-governance) rules and procedures.
108-
109-
### Timelines
110-
111-
Specifications have a variety of different timelines in their lifecycle.
112-
113-
* Pre-v1.0.0 specifications SHOULD release on a monthly cadence to garner feedback.
114-
* Major specification releases MUST release at least three release candidates spaced a minimum of one week apart.
115-
This means a major release like a v1.0.0 or v2.0.0 release will take 1 month at minimum: one week for rc1, one week for rc2, one week for rc3, and one week for the major release itself.
116-
Maintainers SHOULD strive to make zero breaking changes during this cycle of release candidates and SHOULD restart the three-candidate count when a breaking change is introduced.
117-
For example if a breaking change is introduced in v1.0.0-rc2 then the series would end with v1.0.0-rc4 and v1.0.0.
118-
- Minor and patch releases SHOULD be made on an as-needed basis.
119-
12070
[charter]: https://www.opencontainers.org/about/governance

RELEASES.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Releases
2+
3+
The release process hopes to encourage early, consistent consensus-building during project development.
4+
The mechanisms used are regular community communication on the mailing list about progress, scheduled meetings for issue resolution and release triage, and regularly paced and communicated releases.
5+
Releases are proposed and adopted or rejected using the usual [project governance](GOVERNANCE.md) rules and procedures.
6+
7+
An anti-pattern that we want to avoid is heavy development or discussions "late cycle" around major releases.
8+
We want to build a community that is involved and communicates consistently through all releases instead of relying on "silent periods" as a judge of stability.
9+
10+
## Parallel releases
11+
12+
A single project MAY consider several motions to release in parallel.
13+
However each motion to release after the initial 0.1.0 MUST be based on a previous release that has already landed.
14+
15+
For example, runtime-spec maintainers may propose a v1.0.0-rc2 on the 1st of the month and a v0.9.1 bugfix on the 2nd of the month.
16+
They may not propose a v1.0.0-rc3 until the v1.0.0-rc2 is accepted (on the 7th if the vote initiated on the 1st passes).
17+
18+
## Specifications
19+
20+
The OCI maintains three categories of projects: specifications, applications, and conformance-testing tools.
21+
However, specification releases have special restrictions in the [OCI charter][charter]:
22+
23+
* They are the target of backwards compatibility (§7.g), and
24+
* They are subject to the OFWa patent grant (§8.d and e).
25+
26+
To avoid unfortunate side effects (onerous backwards compatibity requirements or Member resignations), the following additional procedures apply to specification releases:
27+
28+
### Planning a release
29+
30+
Every OCI specification project SHOULD hold meetings that involve maintainers reviewing pull requests, debating outstanding issues, and planning releases.
31+
This meeting MUST be advertised on the project README and MAY happen on a phone call, video conference, or on IRC.
32+
Maintainers MUST send updates to the [email protected] with results of these meetings.
33+
34+
Before the specification reaches v1.0.0, the meetings SHOULD be weekly.
35+
Once a specification has reached v1.0.0, the maintainers may alter the cadence, but a meeting MUST be held within four weeks of the previous meeting.
36+
37+
The release plans, corresponding milestones and estimated due dates MUST be published on GitHub (e.g. https://github.com/opencontainers/runtime-spec/milestones).
38+
GitHub milestones and issues are only used for community organization and all releases MUST follow the [project governance](GOVERNANCE.md) rules and procedures.
39+
40+
### Timelines
41+
42+
Specifications have a variety of different timelines in their lifecycle.
43+
44+
* Pre-v1.0.0 specifications SHOULD release on a monthly cadence to garner feedback.
45+
* Major specification releases MUST release at least three release candidates spaced a minimum of one week apart.
46+
This means a major release like a v1.0.0 or v2.0.0 release will take 1 month at minimum: one week for rc1, one week for rc2, one week for rc3, and one week for the major release itself.
47+
Maintainers SHOULD strive to make zero breaking changes during this cycle of release candidates and SHOULD restart the three-candidate count when a breaking change is introduced.
48+
For example if a breaking change is introduced in v1.0.0-rc2 then the series would end with v1.0.0-rc4 and v1.0.0.
49+
- Minor and patch releases SHOULD be made on an as-needed basis.
50+
51+
[charter]: https://www.opencontainers.org/about/governance

0 commit comments

Comments
 (0)