Skip to content

Commit 27ace95

Browse files
committed
CHARTER: s2: refine OCI Projects definition and scope
We already have more than one type of project, but Section 2 (as written) doesn't appear to have a clear way of describing the different types of projects that exist. Given the "getting started" document's selection of "project buckets", we need to reflect those views in the Charter. This change does rearrange some parts of this Section of the Charter (and introduces several new concepts), but it is intended to primarily mirror the existing conventions of the OCI. In fact, it legitimises most of the projects which have been included after the initial Charter came into effect. This change *does not* add any additional restrictions to existing projects or potential OCI projects, as that will be handled in a separate patch. An additional restriction is added to OCI Conformance Suites, but that was a restriction which had already been followed in practice by the respective OCI Conformance Suite projects, so it simply is mirroring existing convention. Signed-off-by: Aleksa Sarai <[email protected]>
1 parent 614bc79 commit 27ace95

File tree

1 file changed

+117
-54
lines changed

1 file changed

+117
-54
lines changed

CHARTER.md

Lines changed: 117 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
| 1.0 | 2015-11-13 | 2015-11-13 | *Initial release.* |
66
| 1.1 | 2020-05-06 | 2020-06-05 | &bull; *(Section 1)* Remove scope table. |
77
| 1.2 | 2020-06-04 | 2020-07-04 | &bull; *(Section 1)* Simplify mission. |
8+
| 1.2+DRAFT | | | &bull; *(Section 2)* Simplify OCI Project definition and clarify scope. |
89
| 1.2+DRAFT | | | &bull; *(Section 6)* Unify TOB voting rules to always require a qualified super-majority for decisions. |
910
| 1.2+DRAFT | | | &bull; *(Section 12)* Formalise changelog and version numbers. |
1011

@@ -27,42 +28,103 @@ standardizing technical areas undergoing innovation and debate.
2728

2829
## 2. OCI Projects
2930

30-
a. The OCI will maintain a collection of projects to execute its Mission (“OCI
31-
Projects”). The initial OCI Projects shall be the specification (“OCI
32-
Specification”) and runtime (“runc”) projects. When an OCI Project claims
33-
that a feature is provided from the OCI Specification, all of its
34-
constituent parts shall comply with the OCI Specification. An OCI project
35-
may have additional capabilities that are not reflected in the associated
36-
specification. In this case, it is understood that the specification (and
37-
any associated test suites) are the standard for judging compliance, not the
38-
reference implementation.
39-
40-
b. OCI Projects may be modified by the Technical Oversight Board so long as
41-
such modifications are in the spirit of the original charter. For example,
42-
the TOB may choose to add a top level Compliance Test Suite project or a
43-
reference implementation for an optional layer item.
44-
45-
c. Any Member can bring forward a new project proposal to the TOB for review.
46-
Approval of a new OCI Project requires the TOB to decide in favour of the
47-
proposal, following the process outlined in Section 6 (n) of this Charter.
48-
49-
d. A project need not be contributed to the OCI in order to be deemed compliant
50-
with an associated OCI specification. For avoidance of doubt, a runtime can
51-
be compliant with the OCI Specification even if: a)it differs substantially
52-
from runC, b)it is housed outside the OCI, c)it is licensed differently from
53-
runC, including if it is licensed under a proprietary license.
54-
55-
e. In order to support d. above, it is expected that:
56-
57-
- i. there may be functionality in runC that is not included in the
58-
specification, provided that such functionality does not compromise
59-
compliance with the specification, and
60-
- ii. there may be multiple other implementations of the specification that
61-
also contain functionality not included in the specification, and
62-
- iii. there will be a strong bias to exclude items from the specification
63-
in technical areas undergoing significant innovation and debate,
64-
especially if those areas are likely to be the basis of differentiation
65-
between competing implementations.
31+
a. The OCI will maintain a collection of projects ("OCI Projects") to execute
32+
its Mission as outlined in Section 1 of this Charter.
33+
34+
b. Each OCI Project must belong to a category (hereafter "Project Category" in
35+
this Section), meaning it must be categorised as:
36+
37+
- i. a specification ("OCI Specification"), which describes an industry
38+
standard that the OCI maintains, which must be within the scope of the
39+
OCI's Mission as described in Section 1 of this Charter; or
40+
- ii. a reference implementation ("OCI Reference Implementation"), which
41+
implements an OCI Specification; or
42+
- iii. a conformance test suite ("OCI Conformance Suite"), which can be used
43+
to validate whether a (possibly third-party) project implements an OCI
44+
Specification correctly, and may be used as a basis for judging
45+
conformance to an OCI Specification (notwithstanding Section 2 (c) of this
46+
Charter); or
47+
- iv. a library ("OCI Library"), which is small, reusable, and can assist
48+
other projects in implementing an OCI Specification.
49+
50+
c. The initial OCI Projects shall be:
51+
52+
- i. an OCI Specification for container runtimes ("OCI Runtime
53+
Specification"); and
54+
- ii. an OCI Reference Implementation of the OCI Runtime Specification
55+
("runc").
56+
57+
d. When an OCI Project claims that a feature is provided from an OCI
58+
Specification, all of its constituent parts shall comply with the OCI
59+
Specification. An OCI Project may have additional capabilities that are not
60+
reflected in the associated OCI Specification. In this case, it is
61+
understood that the OCI Specification (and any associated OCI Conformance
62+
Suites) are the standard for judging compliance, not the OCI Project. For
63+
the avoidance of doubt, this means that if there is a real or perceived
64+
conflict between an OCI Specification and an OCI Conformance Suite, the OCI
65+
Specification has precdence as the basis for conformance.
66+
67+
e. The set of OCI Projects may be modified by the TOB using the process
68+
outlined in Section 2 (e) of this Charter, so long as such modifications are
69+
in the spirit of this Charter and are in accordance with Section 2 (a) of
70+
this Charter.
71+
72+
f. Any TDC member may bring forward a proposal to the TOB for a new or existing
73+
project to be included in the set of OCI Projects. Approval of a new OCI
74+
Project requires the TOB to decide in favour of the proposal, following the
75+
process outlined in Section 6 (n) of this Charter. For the avoidance of
76+
doubt, any project (once included in the OCI Projects) will be governed
77+
under the rules of this Charter.
78+
79+
g. A project need not be contributed to the OCI in order to be deemed compliant
80+
with an OCI specification, nor need it only implement the set of features
81+
defined in an OCI Specification. For the avoidance of doubt, a project can
82+
be compliant with an OCI Specification even if:
83+
84+
- i. it differs substantially from any associated OCI Reference
85+
Implementation; or
86+
- ii. it is not an OCI Project; or
87+
- iii. it is licensed differently to any OCI Project, including if it is
88+
licensed under a proprietary license; or
89+
- iv. it implements features which are not included in the associated OCI
90+
Specification.
91+
92+
h. In order to facilitate Section 2 (g) of this Charter,
93+
94+
- i. OCI Specifications:
95+
96+
a. must have a strong bias to exclude items from the specification in
97+
technical areas undergoing significant innovation and debate, especially
98+
if those areas are likely to be the basis of differentiation between
99+
competing implementations; and
100+
101+
b. must establish a clear scope of the specification (hereafter
102+
"Specification Scope" within this Section), which once established may
103+
only be changed via a TOB decision, following the process outlined in
104+
Section 6 (n) of this Charter.
105+
106+
- ii. OCI Reference Implementations:
107+
108+
a. may implement functionality outside of the Specification Scope of the
109+
associated OCI Specification, but any such features must not compromise
110+
compliance with the OCI Specification.
111+
112+
- iii. OCI Conformance Suites:
113+
114+
a. must only test for strict conformance with the OCI Specification
115+
(meaning that they must not place requirements on any features
116+
permitted under Sections (g)(i) and (g)(iv) of this Charter); and
117+
118+
b. must not emit a conformance test failure for any optional features
119+
within an OCI Specification (though they may produce a non-fatal
120+
warning if the tested project does not follow a specific recommendation
121+
given by the OCI Specification).
122+
123+
i. Both the Project Category and Specification Scope of each OCI Project will
124+
be maintained in [the TOB's repository](https://github.com/opencontainers/tob).
125+
Changing an OCI Project's category requires a TOB decision in favour of the
126+
change, following the process outlined in Section 6 (n) of this Charter,
127+
with thirty (30) days’ notice to the OCI Members before taking effect.
66128

67129
## 3. Membership.
68130

@@ -117,8 +179,8 @@ e. The Trademark Board is intended to provide a minimalist governance structure
117179
responsible for:
118180

119181
- i. creating the OCI trademarks associated with OCI Projects (including the
120-
OCI Specification Project), the Open Container Format (OCF) or OCI
121-
certified solutions.
182+
OCI Specifications), the Open Container Format (OCF), or OCI certified
183+
solutions.
122184
- ii. creating a certification program establishing the requirements for
123185
achieving the status of an “OCI Certified Solution” and defining the terms
124186
for using any OCI trademark(s) for an OCI Certified Solution;
@@ -162,10 +224,10 @@ a. The OCI hosts and supports the participation of a technical development
162224

163225
b. The OCI TDC has an established scope of work focused on:
164226

165-
- i. Creating and maintaining formal specifications (the OCI Specification
166-
project) for container image formats and runtime, which will allow a
167-
compliant container to be portable across all major, compliant operating
168-
systems and platforms without artificial technical barriers;
227+
- i. Creating and maintaining formal specifications (the OCI Specifications)
228+
for container image formats and runtime, which will allow a compliant
229+
container to be portable across all major, compliant operating systems and
230+
platforms without artificial technical barriers;
169231
- ii. Ensuring that OCI Specifications incorporate and align to the OCI
170232
Values, as defined in Section 8 below;
171233
- iii. The TDC will look to agree on a standard set of container actions
@@ -193,9 +255,9 @@ b. The OCI TDC has an established scope of work focused on:
193255
- xiii. Attempting to harmonize the OCI Specifications with other proposed
194256
standards, including, but not limited to, the appc specification;
195257
- xiv. Ensuring that the scope of technologies promulgated and proposed as
196-
standard elements of OCI Projects (including the OCI Specification) are
197-
those that are sufficiently widespread and sufficiently mature and stable
198-
so as to warrant establishment in the specification;
258+
standard elements of OCI Projects (including OCI Specifications) are those
259+
that are sufficiently widespread and sufficiently mature and stable so as
260+
to warrant establishment in the specification;
199261
- xv. Referring to the Technical Oversight Board any issues that deal with
200262
failure to follow established technical governance, issues that impact
201263
multiple OCI Projects or specifications, or conflicts that cannot be
@@ -369,15 +431,16 @@ c. If an alternative inbound or outbound license is required for compliance
369431
contributions on an exception basis. Please email [email protected] to
370432
obtain exception approval.
371433

372-
d. Upon finalization and release of a new version of any OCI specification, OCI
373-
will notify all Members in writing using the contact information provided in
374-
Exhibit A. As set forth in Section 12 of this Charter, Members may resign
375-
from membership in OCI at any time within thirty (30) days following such
376-
notification to avoid undertaking further obligations with respect to such
377-
specification. All Members on the date thirty (30) days following such
378-
notification will, without further action, be subject to the obligations set
379-
forth in the Open Web Foundation Final Specification Agreement (OWFa 1.0)
380-
(Patent Only) with respect to such specification.
434+
d. Upon finalization and release of a new version of any OCI Specification, the
435+
Executive Director will notify all Members in writing using the contact
436+
information provided in Exhibit A. As set forth in Section 12 of this
437+
Charter, Members may resign from membership in OCI at any time within thirty
438+
(30) days following such notification to avoid undertaking further
439+
obligations with respect to such specification. All Members on the date
440+
thirty (30) days following such notification will, without further action,
441+
be subject to the obligations set forth in the Open Web Foundation Final
442+
Specification Agreement (OWFa 1.0) (Patent Only) with respect to such
443+
specification.
381444
http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0—patent-only
382445

383446
e. On the effective date of their membership, all Members will, without further

0 commit comments

Comments
 (0)