- The API Enhancement Proposals (AEP) project exists to help developers and organizations build clear, consistent network APIs and clients by providing an extensible set of design guidelines (AEPs) and an ecosystem of tools to apply those rules in practice.
- To support this aim, the project provides and maintains tools that enrich the experience of developing and using APIs that conform to the project's design guidelines by generating artifacts such as client libraries and documentation.
- The AEP project aims to be a project of the Cloud Native Computing Foundation. As such, it accepts the CNCF Code of Conduct.
- The AEP project shall be governed by a steering committee, comprising at least five representatives from at least five distinct organizations.
- No more than one third of the committee shall represent or be employed by
the same organization.
- In the event that ambiguities arise regarding what constitutes "the same organization," a vote of the committee shall decide. Any members from the organizations under consideration may deliberate, but shall recuse themselves from the vote.
- Membership on the steering committee shall be by invitation of the current steering committee. The steering committee shall meet at least once annually to consider the addition, removal, or replacement of members.
- The members of the steering committee shall be maintained in a MAINTAINERS.md file in the primary AEP GitHub repository.
- Steering committee members accept the following responsibilities:
- Ownership of the charter, vision, and direction of the AEP project.
- Regular attendance and participation at stated committee meetings.
- Contribution of design guidance or code as appropriate, and reviewing the contributions of others.
- Steering committee members who are unable or unwilling to continue to perform the responsibilities described above may voluntarily step down from the committee or may be removed from the steering committee without prejudice. Former committee members will be designated as "emeritus" in the maintainers list.
- The steering committee may appoint additional maintainers, to whom it may delegate tasks as necessary.
- The AEP GitHub repositories are the source of truth for everything in the project, including both code and guidelines.
- The steering committee shall hold a regular meeting on a cadence of its
choosing, and shall keep minutes of said meetings in a GitHub repository set
aside for that purpose, which shall be accessible by all steering committee
members.
- Meetings and minutes may be public or private, at the discretion of the steering committee.
- The steering committee ordinarily operates by consensus, and recording votes for each decision is not required (but the decision should be recorded in the minutes). When possible, decisions and voting shall be done using GitHub issues for transparency.
- In the event that a vote is required, an email shall be sent to each steering committee explaining the issue in question and allowing at least 10 business days for voting. The specifics of how elections are handled are at the discretion of the steering committee.
This charter may be amended by a two-thirds supermajority of the steering committee, after conducting an vote as described in V§3.