Skip to content

Commit d73eec2

Browse files
committed
feat(0006): move GOVERNANCE.md to an AEP
GOVERNANCE.md is better as an AEP that has more visibility in the project. Removing an article referring to the CNCF, since the long-term home of the project is still TBD. Minor update to @toumorokoshi's membership to reflect their new organization.
1 parent edac165 commit d73eec2

File tree

5 files changed

+102
-103
lines changed

5 files changed

+102
-103
lines changed

GOVERNANCE.md

Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,3 @@
11
# API Enhancement Proposals: Project Charter
22

3-
## Article I: Purpose
4-
5-
1. The API Enhancement Proposals (AEP) project exists to help developers and
6-
organizations build clear, consistent network APIs and clients by providing
7-
an extensible set of design guidelines (AEPs) and an ecosystem of tools to
8-
apply those rules in practice.
9-
2. To support this aim, the project provides and maintains tools that enrich
10-
the experience of developing and using APIs that conform to the project's
11-
design guidelines by generating artifacts such as client libraries and
12-
documentation.
13-
14-
## Article II: Association
15-
16-
1. The AEP project aims to be a project of the Cloud Native Computing
17-
Foundation. As such, it accepts the [CNCF Code of Conduct][0].
18-
19-
## Article III: Steering Committee
20-
21-
1. The AEP project shall be governed by a steering committee, comprising at
22-
least five representatives from at least five distinct organizations.
23-
2. No more than one third of the committee shall represent or be employed by
24-
the same organization.
25-
1. In the event that ambiguities arise regarding what constitutes "the same
26-
organization," a vote of the committee shall decide. Any members from the
27-
organizations under consideration may deliberate, but shall recuse
28-
themselves from the vote.
29-
3. Membership on the steering committee shall be by invitation of the current
30-
steering committee. The steering committee shall meet at least once annually
31-
to consider the addition, removal, or replacement of members.
32-
4. The members of the steering committee shall be maintained in a
33-
MAINTAINERS.md file in the
34-
[primary AEP GitHub repository](https://github.com/aep-dev/aep.dev).
35-
5. Steering committee members accept the following responsibilities:
36-
1. Ownership of the charter, vision, and direction of the AEP project.
37-
2. Regular attendance and participation at stated committee meetings.
38-
3. Contribution of design guidance or code as appropriate, and reviewing the
39-
contributions of others.
40-
6. Steering committee members who are unable or unwilling to continue to
41-
perform the responsibilities described above may voluntarily step down from
42-
the committee or may be removed from the steering committee without
43-
prejudice. Former committee members will be designated as "emeritus" in the
44-
maintainers list.
45-
7. The steering committee may appoint additional maintainers, to whom it may
46-
delegate tasks as necessary.
47-
48-
## Article IV: Source of Truth
49-
50-
1. The AEP GitHub repositories are the source of truth for everything in the
51-
project, including both code and guidelines.
52-
53-
## Article V: Meetings & Voting
54-
55-
1. The steering committee shall hold a regular meeting on a cadence of its
56-
choosing, and shall keep minutes of said meetings in a GitHub repository set
57-
aside for that purpose, which shall be accessible by all steering committee
58-
members.
59-
1. Meetings and minutes may be public or private, at the discretion of the
60-
steering committee.
61-
2. The steering committee ordinarily operates by consensus, and recording votes
62-
for each decision is not required (but the decision should be recorded in
63-
the minutes). When possible, decisions and voting shall be done using GitHub
64-
issues for transparency.
65-
3. In the event that a vote is required, an email shall be sent to each
66-
steering committee explaining the issue in question and allowing at least 10
67-
business days for voting. The specifics of how elections are handled are at
68-
the discretion of the steering committee.
69-
70-
## Article VI: Amendment
71-
72-
This charter may be amended by a two-thirds supermajority of the steering
73-
committee, after conducting an vote as described in V§3.
74-
75-
[0]: https://github.com/cncf/foundation/blob/master/code-of-conduct.md
3+
See https://aep.dev/governance.

MAINTAINERS.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ approval privileges to the aep-dev organization.
55

66
## Maintainers
77

8-
| Name | GitHub | Organization |
9-
| --------------- | ------------------------------------------------ | ------------ |
10-
| Alfred Fuller | [@alfus](https://github.com/alfus) | Buf |
11-
| Alex Stephen | [@rambleraptor](https://github.com/rambleraptor) | Google |
12-
| Dan Hudlow | [@hudlow](https://github.com/hudlow) | IBM |
13-
| Mike Kistler | [@mkistler](https://github.com/mkistler) | Microsoft |
14-
| Mak Ahmad | [@makahmad](https://github.com/makahmad) | |
15-
| Marsh Gardiner | [@earth2marsh](https://github.com/earth2marsh) | |
16-
| Richard Frankel | [@rofrankel](https://github.com/rofrankel) | Roblox |
17-
| Richard Gibson | [@gibson042](https://github.com/gibson042) | Algoric |
18-
| Yusuke Tsutsumi | [@toumorokoshi](https://github.com/toumorokoshi) | Cruise |
8+
| Name | GitHub | Organization |
9+
| --------------- | ------------------------------------------------ | -------------- |
10+
| Alfred Fuller | [@alfus](https://github.com/alfus) | Buf |
11+
| Alex Stephen | [@rambleraptor](https://github.com/rambleraptor) | Google |
12+
| Dan Hudlow | [@hudlow](https://github.com/hudlow) | IBM |
13+
| Mike Kistler | [@mkistler](https://github.com/mkistler) | Microsoft |
14+
| Mak Ahmad | [@makahmad](https://github.com/makahmad) | |
15+
| Marsh Gardiner | [@earth2marsh](https://github.com/earth2marsh) | |
16+
| Richard Frankel | [@rofrankel](https://github.com/rofrankel) | Roblox |
17+
| Richard Gibson | [@gibson042](https://github.com/gibson042) | Algoric |
18+
| Yusuke Tsutsumi | [@toumorokoshi](https://github.com/toumorokoshi) | General Motors |
1919

2020
## Emeritus
2121

aep/general/0001/aep.md.j2

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,7 @@ metadata in the AEP GitHub repository.
2525

2626
### Technical leadership
2727

28-
The AEP system, as well as the guidance on [aep.dev][], is overseen by the AEP
29-
technical steering committee. The committee is the set of people who make
30-
decisions on AEPs. The general goal is that the AEP process is collaborative
31-
and that we largely work on the basis of consensus. However, a limited number
32-
of designated approvers is necessary, and these committee members will be
33-
approvers for each AEP on [aep.dev][].
34-
35-
See
36-
[MAINTAINERS.md](https://github.com/aep-dev/aep.dev/blob/main/MAINTAINERS.md)
37-
for the current committee list (known as maintainers in the document).
38-
39-
The committee is also responsible for the administrative and editorial aspects
40-
of shepherding AEPs and managing the AEP pipeline and workflow. They approve
41-
PRs to AEPs, assign proposal numbers, manage the agenda, set AEP states, and so
42-
forth. They also ensure that AEPs are readable (proper spelling, grammar,
43-
sentence structure, markup, etc.).
44-
45-
Committee membership is by invitation of the current committee. The committee
46-
**must not** include more than two members from the same company.
28+
See [governance](/governance).
4729

4830
## States
4931

aep/general/0006/aep.md.j2

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Governance
2+
3+
## Article I: Purpose
4+
5+
1. The API Enhancement Proposals (AEP) project exists to help developers and
6+
organizations build clear, consistent network APIs and clients by providing
7+
an extensible set of design guidelines (AEPs) and an ecosystem of tools to
8+
apply those rules in practice.
9+
2. To support this aim, the project provides and maintains tools that enrich
10+
the experience of developing and using APIs that conform to the project's
11+
design guidelines by generating artifacts such as client libraries and
12+
documentation.
13+
14+
## Article II: Steering Committee
15+
16+
1. The AEP project shall be governed by a steering committee, comprising at
17+
least five representatives from at least five distinct organizations.
18+
2. No more than one third of the committee shall represent or be employed by
19+
the same organization.
20+
1. In the event that ambiguities arise regarding what constitutes "the same
21+
organization," a vote of the committee shall decide. Any members from the
22+
organizations under consideration may deliberate, but shall recuse
23+
themselves from the vote.
24+
3. Membership on the steering committee shall be by invitation of the current
25+
steering committee. The steering committee shall meet at least once annually
26+
to consider the addition, removal, or replacement of members.
27+
4. The members of the steering committee shall be maintained in a
28+
[MAINTAINERS.md](https://github.com/aep-dev/aep.dev/blob/main/MAINTAINERS.md)
29+
file in the
30+
[primary AEP GitHub repository](https://github.com/aep-dev/aep.dev).
31+
5. Steering committee members accept the following responsibilities:
32+
1. Ownership of the charter, vision, and direction of the AEP project.
33+
2. Regular attendance and participation at stated committee meetings.
34+
3. Contribution of design guidance or code as appropriate, and reviewing the
35+
contributions of others.
36+
6. Steering committee members who are unable or unwilling to continue to
37+
perform the responsibilities described above may voluntarily step down from
38+
the committee or may be removed from the steering committee without
39+
prejudice. Former committee members will be designated as "emeritus" in the
40+
maintainers list.
41+
7. The steering committee may appoint additional maintainers, to whom it may
42+
delegate tasks as necessary.
43+
44+
## Article III: Source of Truth
45+
46+
1. The AEP GitHub repositories are the source of truth for everything in the
47+
project, including both code and guidelines.
48+
49+
## Article IV: Meetings & Voting
50+
51+
1. The steering committee shall hold a regular meeting on a cadence of its
52+
choosing, and shall keep minutes of said meetings in a GitHub repository set
53+
aside for that purpose, which shall be accessible by all steering committee
54+
members.
55+
1. Meetings and minutes may be public or private, at the discretion of the
56+
steering committee.
57+
2. The steering committee ordinarily operates by consensus, and recording votes
58+
for each decision is not required (but the decision should be recorded in
59+
the minutes). When possible, decisions and voting shall be done using GitHub
60+
issues for transparency.
61+
3. In the event that a vote is required, an email shall be sent to each
62+
steering committee explaining the issue in question and allowing at least 10
63+
business days for voting. The specifics of how elections are handled are at
64+
the discretion of the steering committee.
65+
66+
## Article V: Amendment
67+
68+
This charter may be amended by a two-thirds supermajority of the steering
69+
committee, after conducting an vote as described in V§3.
70+
71+
## Additional Information
72+
73+
### Maintainers
74+
75+
See
76+
[MAINTAINERS.md](https://github.com/aep-dev/aep.dev/blob/main/MAINTAINERS.md)
77+
for the current committee list (known as maintainers in the document).

aep/general/0006/aep.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
id: 6
3+
state: approved
4+
created: 2025-10-11
5+
slug: governance
6+
placement:
7+
category: meta
8+
order: 20
9+
js_scripts:
10+
- /assets/js/graphviz/viz.js
11+
- /assets/js/graphviz/lite.render.js
12+
- /assets/js/aep/aep-graphviz.js

0 commit comments

Comments
 (0)