Technical Committee Charter
The OpenFeature project will operate transparently, collaboratively, ethically, and in alignment with the interests of OpenFeature technology end-users. Project proposals, timelines, and status must not merely be open, but also easily visible to and discoverable by outsiders.
Evolution of OpenFeature Governance
Most large, complex open source communities have both a business and a technical governance model. OpenFeature has a project-level Governance Committee, a project-level Technical Committee, and is a Sandbox project in the Cloud Native Computing Foundation.
This OpenFeature Technical Committee Charter reflects the scope and expectations of the Technical Committee ("TC") with the maintainers, the consumers, and the ecosystem of the project. The charter will not be perfect, and so has a simple amendment process – a TC member proposes changes to be discussed and voted on by the full TC.
Establishment of the Technical Committee
TC memberships are not time-limited. There is no maximum size of the TC. The size is expected to vary in order to ensure adequate coverage of important areas of expertise, balanced with the ability to make decisions efficiently. The TC must have at least four members and is recommended to have an odd number of members for tie-breaking purposes.
TC membership is developed through leadership in the project and was bootstrapped initially by selection of most prolific contributors in the early stages of the project. The TC may add additional members to the TC by the election process described below. The TC members are expected to be active leaders in the project. A TC member may be removed from the TC by voluntary resignation, by a super-majority TC vote similar to the election process, or in accordance with the participation rules described below.
Changes to TC membership should be posted in the agenda document, and may be suggested as any other agenda item.
No more than one-third (33%) of the TC members may be affiliated with the same employer (same employer defined as "representing the same legal entity/project"). If removal or resignation of a TC member, or a change of employment by a TC member, creates a situation where more than one-third of the TC membership shares an employer, then the situation must be immediately remedied by the election of one or more TC members.
Responsibilities of the Technical Committee
The TC ensures that the project maintains a high level of technical excellence while continuing to meet the needs of its adopters, and facilitates ongoing community contribution.
The TC is responsible for:
- Setting technical goals and priorities.
- Participation in specification development.
- Resolving disputes and disagreements about technical matters within the community.
- Establishing and enforcing technical standards and practices.
- Providing guidance to new contributors.
- Ensuring proper stewardship and oversight of project components and repositories.
- Participation in meetings facilitated by the TC Chair.
Some specific examples of activities TC members might be involved in include, but are not limited to:
- Ensuring new maintainer(s) for a particular SDK are identified when a previous maintainer leaves.
- Resolving a dispute over whether or not a particular change is considered "breaking".
- Ensuring repositories and releases conform to the established requirements.
- Reviewing specification PRs and OFEPs.
- Creating and reviewing projects.
- Contributing to the development of a vulnerability reporting policy.
- Reviewing donated repositories, and identifying maintainers for the donated code.
- Archiving a repository that cannot be maintained due to lack of maintainers.
It's the responsibility of the TC Chair to facilitate meetings or other asynchronous mechanisms of communication within the TC. The frequency and mode of the meetings is to be decided by the chair, taking into consideration the availability of TC members. TC members are expected to regularly attend meetings and participate in communication modes facilitated by the TC Chair.
Conflicts of Interest
TC members will avoid taking actions or making decisions that constitute a conflict of interest. In such cases, TC members will inform the the wider TC of the perceived conflict and the issue will be resolved by another member.
Election of TC Members
New TC members can be nominated by an existing TC Member. A candidate can be elected to the TC by the super-majority vote (greater than two thirds) of the existing TC members. The GC will have a veto for the new members.
Election of TC Chair
The TC Chair will rotate amongst TC members. The responsibilities of TC Chair include: building an agenda for TC meetings, encouraging participation of other members and facilitating the decisions among TCs. The TC Chairperson should hold their role for 3 months; there are no limits on the number of terms a TC Chairperson may serve.