Skip to content

Commit 675f207

Browse files
committed
CHARTER: s5: rework TDC description and scope
The TDC has been a fairly confusing concept from the outset, and the statement of the scope of the TDC was quite difficult to follow (not to mention that it contained some text which was only relevant to the runtime-spec). The text has been refreshed and now has a more general description of the role of the TDC now that the OCI has a pretty large variety of projects under its belt, and explicitly defines the Maintainership Coalition (the set of all maintainers across all projects). Previously, a literal reading of the Charter would have you believe that only runtime-spec maintainers had certain rights under the Charter. This change does redefine some aspects of the TDC, and technically changes the roles of different TDC elements, but broadly this is in keeping with existing conventions within the TDC of OCI Projects and doesn't majorly change the role of the TDC within the OCI. Signed-off-by: Aleksa Sarai <[email protected]>
1 parent 27ace95 commit 675f207

File tree

1 file changed

+98
-64
lines changed

1 file changed

+98
-64
lines changed

CHARTER.md

Lines changed: 98 additions & 64 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 5)* Simplify TDC description and enshrine all maintainers of OCI Projects as TDC Maintainers. |
910
| 1.2+DRAFT | | | &bull; *(Section 6)* Unify TOB voting rules to always require a qualified super-majority for decisions. |
1011
| 1.2+DRAFT | | | &bull; *(Section 12)* Formalise changelog and version numbers. |
1112

@@ -213,72 +214,105 @@ h. For avoidance of doubt, OCI membership does not convey any rights to
213214
influence will come through code and specification contributions to the
214215
technical projects.
215216

216-
## 5. Technical Developer Community
217-
218-
a. The OCI hosts and supports the participation of a technical development
219-
community (“OCI TDC”) in OCI Projects. The OCI TDC shall be open to any
220-
developer, end user or subject matter expert that chooses to participate in
221-
the activities of OCI, regardless of whether the participant is employed by
222-
an OCI Member company so long as his or her contributions and conduct comply
223-
with this Charter.
224-
225-
b. The OCI TDC has an established scope of work focused on:
226-
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;
231-
- ii. Ensuring that OCI Specifications incorporate and align to the OCI
232-
Values, as defined in Section 8 below;
233-
- iii. The TDC will look to agree on a standard set of container actions
234-
(e.g. start, exec, pause) as well as a runtime environment associated with
235-
the container runtime;
236-
- iv. Creating and maintaining test cases that shall serve as the testing
237-
functions for achieving certification as an OCI Certified Solution;
238-
- v. Engaging end users for feedback or input on OCI Projects, including,
239-
but not limited to, relating to usability;
240-
- vi. Ensuring that all OCI Projects follow and adhere to the OCI IP Policy;
241-
- vii. Approving releases by OCI Projects;
242-
- viii. Creating, maintaining and enforcing governance guidelines for the
243-
TDC, approved by the maintainers, and which shall be posted visibly for
244-
the TDC. The guidelines shall cover the following:
245-
- ix. establishing and defining roles and responsibilities (at a minimum, a
217+
## 5. Technical Developer Community (TDC)
218+
219+
a. The OCI shall host and support the participation of a technical development
220+
community ("TDC"), encompassing all OCI Projects. The TDC consists of two
221+
groups:
222+
223+
1. TDC Contributors, membership of which shall be open to any developer, end
224+
user or subject matter expert that chooses to participate in the
225+
activities of any OCI Project, regardless of whether the participant is
226+
employed by an OCI Member company so long as their contributions and
227+
conduct comply with this Charter.
228+
2. TDC Maintainers (hereafter "Maintainers"), which are the set of
229+
maintainers for a given OCI Project (as listed in the top-level
230+
MAINTAINERS file of the OCI Project). For the avoidance of doubt, all
231+
Maintainers are also necessarily TDC Contributors. In addition:
232+
233+
- i. an individual may only become a Maintainer of an OCI Project
234+
after approval by whatever procedure that OCI Project's Maintainers
235+
have established under Section 5 (b)(iii) of this Charter; and
236+
- ii. only the Maintainers of an OCI Project may modify the set of
237+
Maintainers for that OCI Project. No OCI Member, the TOB, the
238+
Maintainers of different OCI Project, nor the Trademark Board may
239+
modify the set of Maintainers for a given OCI Project (except in cases
240+
where an existing Maintainer's contributions or conduct have not
241+
complied with this Charter); and
242+
- iii. the collection of Maintainers for all OCI Projects shall be
243+
referred to in this Charter as the "Maintainership Coalition".
244+
245+
b. The Maintainers of each OCI Project have a responsibility to create,
246+
maintain and enforce governance guidelines for the TDC of their OCI Project,
247+
which shall be posted visibly for the TDC. The guidelines shall cover:
248+
249+
- i. establishing and defining roles and responsibilities (at a minimum, a
246250
role for committers or maintainers authorized to commit code to the
247-
codebase);
248-
- x. defining the process or requirements to take on a role in the TDC (e.g.
249-
how to become a contributor, or how to become a maintainer);
250-
- xi. the process by which participants in the TDC may give up or be revoked
251-
of their roles (e.g. how to remove maintainers); the rules for decision
252-
making in the TDC; and
253-
- xii. any workflow or processes participants are expected to follow in
254-
making or merging contributions.
255-
- xiii. Attempting to harmonize the OCI Specifications with other proposed
256-
standards, including, but not limited to, the appc specification;
257-
- xiv. Ensuring that the scope of technologies promulgated and proposed as
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;
261-
- xv. Referring to the Technical Oversight Board any issues that deal with
262-
failure to follow established technical governance, issues that impact
263-
multiple OCI Projects or specifications, or conflicts that cannot be
264-
resolved within the TDC. Issues shall be referred to the TOB according to
265-
the requirements in Section 6.; and
266-
- xvi. Any issues of non-compliance with the OCI IP Policy shall be
267-
immediately referred to The Linux Foundation.
268-
269-
c. The maintainers and contributors shall set the technical direction of the
270-
OCI Projects, with minimal interference by the Technical Oversight Board;
271-
272-
d. The TDC will only accept influence through contribution. The primary means
251+
codebase); and
252+
- ii. defining the process or requirements to take on a role in the TDC
253+
(including but not limited to how to become a contributor and how to
254+
become a maintainer); and
255+
- iii. the process by which participants in the TDC may give up or be
256+
revoked of their roles (including but not limited to how to remove
257+
maintainers);
258+
- iv. the rules for decision making in the TDC; and
259+
- v. any workflow or processes participants are expected to follow in
260+
making or merging contributions; and
261+
- vi. the procedure for approving and publishing releases of the OCI
262+
Project.
263+
264+
c. The TDC has an established scope of work for all OCI Projects. For each OCI
265+
Project, the TDC has a responsibility to:
266+
267+
- i. ensure that the OCI Project adheres to the general requirements for
268+
OCI Projects and the specific requirements for their project's Project
269+
Category, as outlined in Section 2 of this Charter; and
270+
- ii. ensure that the OCI Project incorporates and aligns with the OCI
271+
Values, as defined in Section 7 of this Charter; and
272+
- iii. ensure that the OCI Project follows and adheres to the OCI IP Policy,
273+
as outlined in Section 8 of this Charter. Any issues of non-compliance
274+
with the OCI IP Policy shall be immediately referred to The Linux
275+
Foundation; and
276+
- iv. create and maintain the OCI Project such that it is portable across
277+
all major, compliant operating systems and platforms without artificial
278+
technical barriers; and
279+
- v. engage end users for feedback or input on the OCI Project, including,
280+
but not limited to, relating to usability.
281+
282+
d. In addition to the responsibilities outlined in Section 5 (b) of this
283+
Charter, Maintainers of OCI Specifications have a responsibility to:
284+
285+
- i. attempt to harmonize the OCI Specification with other proposed
286+
standards, including, but not limited to, the AppC specification; and
287+
- ii. ensure that the scope of technologies promulgated and proposed as
288+
elements of the OCI Specification are those that are sufficiently
289+
widespread and sufficiently mature and stable so as to warrant
290+
establishment in the specification; and
291+
- iii. in addition to Section 5 (b)(vi) of this Charter, require a qualified
292+
super-majority vote of Maintainers of the OCI Specification in order to
293+
approve any release of the OCI Specification.
294+
295+
e. In addition to the responsibilities outlined in Section 5 (b) of this
296+
Charter, Maintainers of OCI Conformance Suites have a responsibility to
297+
create and maintain test cases that shall serve as the testing functions for
298+
achieving certification as an OCI Certified Solution.
299+
300+
f. Notwithstanding Section 2 (i) of this Charter, the TDC Members and
301+
Maintainers shall set the technical direction of the OCI Projects, with
302+
minimal interference by the TOB. However, any issues that deal with failure
303+
to follow established technical governance, issues that impact multiple OCI
304+
Projects or specifications, or conflicts that cannot be resolved within the
305+
TDC shall be referred to the TOB using the procedure outlined in Section 6
306+
of this Charter. Once an issue is referred to the TOB, the TOB is empowered
307+
to resolve it (though such resolutions should be made in consultation with
308+
the relevant Maintainers or the Maintainership Coalition).
309+
310+
g. The TDC will only accept influence through contribution. The primary means
273311
for any organization to influence the technical direction of the OCI
274-
Projects is via contribution or service as maintainers. OCI Members
275-
specifically disclaim any right to influence technical direction either on
276-
the basis of their financial contributions or their existence as OCI
277-
Members;
278-
279-
e. The maintainers of the TDC shall be those listed in the MAINTAINERS file in
280-
the project repository, available at
281-
(https://raw.githubusercontent.com/opencontainers/specs/master/MAINTAINERS).
312+
Projects is via contribution as TDC Members or service as Maintainers. OCI
313+
Members specifically disclaim any right to influence technical direction
314+
either on the basis of their financial contributions or their existence as
315+
OCI Members.
282316

283317
## 6. Technical Oversight Board (TOB)
284318

0 commit comments

Comments
 (0)