Skip to content

Commit 1d49943

Browse files
authored
updated versioning and governance (#190)
1 parent 98ffafd commit 1d49943

File tree

3 files changed

+233
-0
lines changed

3 files changed

+233
-0
lines changed

doc/core-teams.rst

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
============
2+
Core Teams
3+
============
4+
5+
Leads are in **bold**.
6+
7+
oneAPI
8+
======
9+
10+
* Aristarkhov, Vasily
11+
* Belyakov, Igor
12+
* **Cohn, Robert**
13+
* Fomenko, Evarist
14+
* Kinsner, Michael
15+
* Kraynyuk, Maria
16+
* Kukanov, Alexey
17+
* Nikolaev, Andrey
18+
* Patty, Spencer
19+
* Shiryaev, Mikhail
20+
* Smith, Timmie
21+
* Waters, Zack
22+
23+
24+
DPC++
25+
=====
26+
27+
* Brodman, James
28+
* **Kinsner, Michael**
29+
30+
31+
oneDPL
32+
======
33+
34+
* **Kukanov, Alexey**
35+
* Smith, Timmie
36+
37+
38+
oneDNN
39+
======
40+
41+
* **Fomenko, Evarist**
42+
43+
44+
oneCCL
45+
======
46+
47+
* **Shiryaev, Mikhail**
48+
49+
50+
Level Zero
51+
==========
52+
53+
* **Waters, Zack**
54+
55+
56+
oneDAL
57+
======
58+
59+
* Chernov, Mikhail
60+
* Grigoriev, Alexey
61+
* Israfilov, Ruslan
62+
* **Nikolaev, Andrey**
63+
* Smirnov, Michael
64+
65+
66+
oneTBB
67+
======
68+
69+
* **Kukanov, Alexey**
70+
71+
72+
oneVPL
73+
======
74+
75+
* **Aristarkhov, Vasily**
76+
* **Belyakov, Igor**
77+
78+
79+
oneMKL
80+
======
81+
82+
* **Kraynyuk, Maria**
83+
* Patty, Spencer

doc/governance.rst

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
============
2+
Governance
3+
============
4+
5+
Roles
6+
=====
7+
8+
Each oneAPI element has a **core team** and **lead** who are the
9+
primary authors for the specification. The community is invited to
10+
make feature requests or proposals, which are reviewed by the core
11+
team.
12+
13+
The overall specification also has a core team and lead. The **oneAPI
14+
core team** is responsible for issues that involve multiple oneAPI
15+
elements and provides general oversight.
16+
17+
Core Team members and leads are `published <core-teams.rst>`__.
18+
19+
`Technical advisory boards
20+
<https://github.com/oneapi-src/oneapi-tab>`__ review topics related to
21+
specifications and provide feedback. There may be overlap between core
22+
team and technical advisory board.
23+
24+
25+
Decision Making
26+
===============
27+
28+
Specification changes and other decisions are by `consensus
29+
<https://en.wikipedia.org/wiki/Wikipedia:What_is_consensus>`__ of the
30+
appropriate core team. The lead determines if consensus has been
31+
reached and what action to take when there is disagreement. Decision
32+
making balances the needs of the community, including: technical
33+
advisory boards, implementations, and users. Decision making is
34+
transparent, with clear explanations and constructive feedback for
35+
rejected proposals.
36+
37+
38+
Membership
39+
==========
40+
41+
A core team may decide to add new members or designate a new
42+
lead. Members will typically have a history of contribution to the
43+
specification, contribution to an implementation, or as an end-user of
44+
an implementation. Membership is open to all companies, institutions,
45+
and implementations.
46+
47+
48+
Commit Rights
49+
=============
50+
51+
Committers follow the direction of the core team. Core teams decide
52+
who has commit rights to the repository.
53+
54+
55+
Governance Changes
56+
==================
57+
58+
Governance is intended to be informal and low overhead while
59+
encouraging broad participation from the community. oneAPI core team
60+
may change governance as the community evolves.
61+
62+
63+
Code of Conduct
64+
===============
65+
66+
We follow `Contributor Covenant
67+
<https://www.contributor-covenant.org>`__. Contact a core team member
68+
or `oneAPI leadership <mailto:[email protected]>`__ with questions or
69+
to report an issue.

doc/versioning.rst

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
========================
2+
Specification versioning
3+
========================
4+
5+
This document describes the versioning of the specification for oneAPI
6+
elements (e.g. oneMKL, oneVPL) and for oneAPI, which includes all the
7+
elements. Specification versioning is independent of oneAPI product
8+
versioning.
9+
10+
Product specification vs standard specification
11+
===============================================
12+
13+
A *product specification* documents a single implementation. It is
14+
typically completed before implementation to get feedback, and as a
15+
reference for implementation, testing, and the creation of end-user
16+
documentation. A *standard specification* documents the standard,
17+
which may have multiple implementations. It is used to get feedback
18+
and agreement between potential implementations. oneAPI specification
19+
is primarily a standard specification. An implementation may contain
20+
features that are not part of the standard. It may be a feature being
21+
considered for standardization, or features that are not suitable for
22+
inclusion in oneAPI standard.
23+
24+
25+
oneAPI specification versioning
26+
===============================
27+
28+
Versioning is MAJOR.MINOR rev REVISION
29+
30+
Increment the:
31+
32+
1. MAJOR version when adding major new functionality and making
33+
incompatible API changes, including removing APIs.
34+
35+
2. MINOR version when adding minor functionality and API changes
36+
that are backwards compatible.
37+
38+
3. REVISION when making backwards compatible bug fixes or any editing
39+
change in the document, including minor changes such as correcting
40+
typos. Initial REVISION is 1.
41+
42+
The distinction between major and minor functionality is determined by
43+
the core group. Latest REVISION is implicit because REVISIONs do not
44+
change the meaning.
45+
46+
Element versioning
47+
==================
48+
49+
By default, elements do not have independent versioning. An element
50+
may incorporate another specification by reference, and may include
51+
extensions or other features that are not part of the included
52+
specification. DPC++ is an example, as it includes SYCL, which is used
53+
independent of oneAPI and DPC++ and has its own standards body. Other
54+
elements can be split out and have independent versioning if the need
55+
arises with agreement of the oneAPI core team. An example would be
56+
when an element has multiple implementations, and the implementation
57+
does not include the rest of the elements.
58+
59+
Specification version approval
60+
==============================
61+
62+
The oneAPI specification must be approved by its `core team
63+
<core-teams.rst>`__. Element specifications must be approved by its
64+
core team and the oneAPI spec core team. Updates which only change
65+
the revision may be approved by the leads.
66+
67+
68+
Provisional versions
69+
====================
70+
71+
A specification may be published before approval, but must be labeled
72+
provisional. Provisional specifications are published as a series of
73+
revisions until approval. After approval, the provisional label is
74+
removed and the rev is set to 1.
75+
76+
Example
77+
| oneAPI provisional 1.1 rev 1
78+
| oneAPI provisional 1.1 rev 2
79+
| oneAPI provisional 1.1 rev 3
80+
| oneAPI 1.1 rev 1
81+

0 commit comments

Comments
 (0)