Skip to content

Commit 9433f28

Browse files
committed
CHARTER: s2(h)..(j): restrict OCI Reference Implementations scope
A common problem we've had with runc is that we have ended up implementing a lot of features that are technically within the scope of the OCI Runtime Specification but are not defined by that specification. As a result, users end up depending on runc's particular behaviour rather than the behaviour outlined in the specification. This hopefully establishes a middle-ground between allowing for experimental development within an OCI Reference Implementation, and the anarchy that is allowing for features to become depended on within an OCI Reference Implementation without the prerequisite OCI Specification work. Unfortunately, this problem already exists within runc so we cannot mandate it to no longer be the case (sadly that's not how technology works). But the next best thing we can do is mandate it for any future OCI Reference Implementations, and provide a one-time carve-out for the runc project (to avoid this Charter update from bringing into question the validity of the runc project within the OCI). This change does introduce new restrictions for OCI Reference Implementations which were not an existing convention for runc, though in my view this would've been the convention for future OCI Reference Implementations without this Charter change. Signed-off-by: Aleksa Sarai <[email protected]>
1 parent 75c1333 commit 9433f28

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

CHARTER.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
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. |
88
| 1.2+DRAFT | | | &bull; *(Section 2)* Simplify OCI Project definition and clarify scope. |
9+
| 1.2+DRAFT | | | &bull; *(Section 2)* Restrict out-of-specification features in OCI Reference Implementations. |
910
| 1.2+DRAFT | | | &bull; *(Section 5)* Simplify TDC description and enshrine all maintainers of OCI Projects as TDC Maintainers. |
1011
| 1.2+DRAFT | | | &bull; *(Section 6)* Unify TOB voting rules to always require a qualified super-majority for decisions. |
1112
| 1.2+DRAFT | | | &bull; *(Section 6)* Update TOB procedures, codify election process, and remove outdated sections. |
@@ -58,13 +59,14 @@ c. The initial OCI Projects shall be:
5859

5960
d. When an OCI Project claims that a feature is provided from an OCI
6061
Specification, all of its constituent parts shall comply with the OCI
61-
Specification. An OCI Project may have additional capabilities that are not
62-
reflected in the associated OCI Specification. In this case, it is
63-
understood that the OCI Specification (and any associated OCI Conformance
64-
Suites) are the standard for judging compliance, not the OCI Project. For
65-
the avoidance of doubt, this means that if there is a real or perceived
66-
conflict between an OCI Specification and an OCI Conformance Suite, the OCI
67-
Specification has precdence as the basis for conformance.
62+
Specification. Section 2 (g) of this Charter notwithstanding, an OCI Project
63+
may have additional capabilities that are not reflected in the associated
64+
OCI Specification. In this case, it is understood that the OCI Specification
65+
(and any associated OCI Conformance Suites) are the standard for judging
66+
compliance, not the OCI Project. For the avoidance of doubt, this means that
67+
if there is a real or perceived conflict between an OCI Specification and an
68+
OCI Conformance Suite, the OCI Specification has precdence as the basis for
69+
conformance.
6870

6971
e. The set of OCI Projects may be modified by the TOB using the process
7072
outlined in Section 2 (e) of this Charter, so long as such modifications are
@@ -109,7 +111,12 @@ h. In order to facilitate Section 2 (g) of this Charter,
109111

110112
a. may implement functionality outside of the Specification Scope of the
111113
associated OCI Specification, but any such features must not compromise
112-
compliance with the OCI Specification.
114+
compliance with the OCI Specification; and
115+
116+
b. must not implement functionality within the Specification Scope of the
117+
associated OCI Specification, without clearly marking such features as
118+
experimental and subject to change in response to any future
119+
developments within the OCI Specification.
113120

114121
- iii. OCI Conformance Suites:
115122

@@ -128,6 +135,11 @@ i. Both the Project Category and Specification Scope of each OCI Project will
128135
change, following the process outlined in Section 6 (n) of this Charter,
129136
with thirty (30) days’ notice to the OCI Members before taking effect.
130137

138+
j. Due to historical considerations, the OCI Runtime Reference Implementation
139+
("runc") project is exempt from the requirements of Section 2 (h)(ii)(b) of
140+
this Charter. For the avoidance of doubt, no other OCI Reference
141+
Implementations are granted such an exemption.
142+
131143
## 3. Membership.
132144

133145
a. The Open Container Initiative shall be composed of:

0 commit comments

Comments
 (0)