title | linkTitle | weight | type | aliases | |
---|---|---|---|---|---|
Knative steering committee |
Steering committee |
40 |
docs |
|
The Knative Steering Committee (KSC) is responsible for the general health of the Knative community.
The governance of Knative is an open, living document, and will continue to evolve as the community and project change.
- Charter
- Delegated authority
- Committee Meetings
- Committee Members
- Emeritus Committee Members
- Decision process
- Getting in touch
- Elections
- End User Seat
- Vacancies
- Transition
- Changes to the charter
- Authority, Facilitation, and Decision Making in Knative
- Define, evolve, and promote the vision, values, and mission of the project.
- Define and evolve project governance structures and policies, including project roles and how collaborators become members, approvers, leads, and/or administrators. This includes policy for the creation and administration of working groups and committees.
- Steward, control access, delegate access, and establish processes regarding all Knative project resources and has the final say in the disposition of those resources.
- Advise the Trademark Committee on usage of the brand and marks in relation to promoting the community. This advice is non-binding on the Trademark Committee.
- Define and evolve the scope of the Knative community and extensions, and the process for migration of sandbox projects into Knative Extensions.
- Receive and handle reports about code of conduct violations and maintain confidentiality.
- Receive security reports; work with the appropriate technical leads to accept or reject the report; maintain the private nature of such reports until disclosed to the broader community.
- Act as the final escalation point and decider for any disputes, issues, clarifications, or escalations within the project scope.
KSC may choose to delegate its authority to other committees as-needed. The committee currently recognizes this delegated authority for:
- Technical guidance is delegated to the Technical Oversight Committee.
KSC currently meets weekly, or as-needed. Meetings are open to public and held online.
Given the private nature of some of these discussions (e.g. privacy, private emails to the committee, code of conduct violations, escalations, disputes between members, security reports, etc.) some meetings are held in private.
Meeting notes are available to members of the knative-dev mailing list (note: these are accessible to members of the knative-users list as well). Public meetings will be recorded and the recordings made available publicly.
Questions and proposals for changes to governance are posted as issues in the community repo, and the KSC invites your feedback there. See Getting in touch for other options.
Seats on the Steering Committee are held by an individual, not by their employer.
The current membership of the committee is currently (listed alphabetically by first name):
Member | Organization | Profile | Term Start | Term End | |
---|---|---|---|---|---|
April Kyle Nassi | @thisisnotapril | Bootstrap | 2021 | ||
Carlos Santana | Independent | @csantanapr | 2021-12-02 | 2023 | |
Lance Ball | Red Hat | @lance | 2021-12-02 | 2023 | |
Murugappan Chetty* | Box | @itsmurugappan | 2022-02-01 | 2023 | |
Paul Morie | Independent | @pmorie | 2020-12-11 | 2022 | |
Ville Aikas | Chainguard | @vaikas | 2020-12-11 | 2022 |
- Murugappan holds the End User seat
To recognize the folks that have served in the SC in the past, below we list the previous members of the SC (sorted by their 'Term End').
Member | Profile | Term Start | Term End | |
---|---|---|---|---|
Dewitt Clinton | @dewitt | Bootstrap | 2019 | |
Mark Charmny | @mchmarny | Bootstrap | 2019 | |
Jaice Singer DuMars | @jdumars | 2019 | 2020 | |
Donna Malayeri | @lindydonna | 2019 | 2020 | |
Ryan Gregg | @rgregg | Bootstrap | 2020 | |
Tomas Isdal | @isdal | Bootstrap | 2020 | |
Alex Nicolau | @anicolao | 2020 | 2020 | |
Ron Avnur | @ronavn | 2020 | 2020 | |
Brenda Chan | @bsnchan | Bootstrap | 2021 | |
Michael Behrendt | @mbehrendt | Bootstrap | 2021 |
The steering committee desires to always reach consensus.
Decisions requiring a vote include: issuing written policy, amending existing written policy, creating, removing, or modifying a working group, all spending, hiring, and contracting, official responses to publicly raised issues, or any other decisions that at least half the members present decide require a vote
Decisions are made in meetings when a quorum of the members are present and may pass with at least half the members of the committee supporting it.
Quorum is considered reached when at least half of the members are present.
There are two ways to raise issues to the steering committee for decision:
- Emailing the steering committee at steering@knative.team. This is a private discussion list to which all members of the committee have access.
- Open an issue on a knative repository and indicate that you would like attention from the steering committee.
The Steering Committee has five (5) seats. Of these five seats, four (4) are elected Contributing seats, open to any project contributor, and one (1) is an End User Seat appointed by the Steering Committee.
Steering Committee contributing members serve for 2-year terms, staggered in order to preserve continuity. End user member serves for 1-year term. Every year two contributor seats are elected.
Steering Committee elections are held annually. Six weeks or more before the election, the Steering Committee will appoint Election Officer(s) (see below). Four weeks or more before the election, the Election Officer(s) will issue a call for nominations, publish the list of voters, and open the call for exceptions. One week before the election the call for nominations and exceptions will be closed. The election will be open for voting not less than two weeks and not more than four. The results of the election will be announced within one week of closing the election. New Steering Committee members will take office in December of each year on the date the results are announced.
Six weeks or more before the election, the Steering Committee will appoint between one and three Election Officer(s) to administer the election. Elections Officers will be Knative community members in good standing who are eligible to vote, are not running for Steering in that election, who are not currently part of the Steering Committee and can make a public promise of impartiality. They will be responsible for:
- Making all announcements associated with the election
- Preparing and distributing electronic ballots
- Judging exception requests
- Assisting candidates in preparing and sharing statements
- Tallying voting results according to the rules in this charter
Anyone who has at least 50 contributions in the last 12 months is eligible to vote in the Steering election. Contributions are defined as opening PRs, reviewing and commenting on PRs, opening and commenting on issues, writing design docs, commenting on design docs, helping people on slack, participating in working groups, and other efforts that help advance Knative the project.
This dashboard shows only GitHub based contributions and does not capture all the contributions we value. We expect this metric not to capture everyone who should be eligible to vote. If a community member has had significant contributions over the past year but is not captured in the stats.knative.dev dashboard, they will be able to submit an exception form to the Elections Officer(s) who will then review and determine whether this member should be eligible to vote. All exceptions, and the reasons for them, will be recorded in a log that will be available to Steering and the TOC.
The electoral roll of all eligible voters will be captured at knative/community/steering-elections/$YEAR/voters.md and the voters’ guide will be captured at knative/community/steering-elections/$YEAR/README.md, similar to the kubernetes election process and identical to the TOC election process.
We are committed to an inclusive process and will adapt future eligibility requirements based on community feedback.
Community members must be eligible to vote in order to stand for election (this includes voters who qualify for an exception). Candidates may self-nominate or be nominated by another eligible member. There are no term limits for KSC members. Nothing prevents a qualified member from serving on both the TOC and SC simultaneously.
To run for a Contributing seat, a candidate must additionally be at least a project Member as defined in ROLES.md.
Elections will be held using Elekto, an online voting tool created by CNCF intern Manish Sahani. The details for previous KSC elections can be found in the elections folder.
No more than two seats may be held by employees of the same organization (or conglomerate, in the case of companies owning each other). Additionally, each end user seat (when available) must belong to an employee from a different organization. If the results of an election result in greater than two employees of the same organization, the lowest vote getters from any particular employer will be removed until representation on the committee is down to two.
If employers change because of job changes, acquisitions, or other events, in a way that would yield more than 2 seats being held by employees of the same organization, sufficient members of the committee must resign until only two employees of the same employer are left. If it is impossible to find sufficient members to resign, all employees of that organization will be removed and new special elections held. In the event of a question of company membership (for example evaluating independence of corporate subsidiaries) a majority of all non-involved Steering Committee members will decide.
A person is eligible to serve in the end user seat if their organization is listed in the ADOPTERS file.
The end user seat is appointed by Steering Committee to serve for a 1-year term.
When the new Steering Committee members are seated in December after the elections for the Contributing Seats, the Steering Committee is responsible for appointing a new person to the end user seat.
The person filling the end user seat will take office in February.
In the event of a resignation or other loss of an elected SC member, the candidate with the next most votes from the previous election will be offered the seat, provided that person otherwise qualifies to join the SC. This process will continue until the seat is filled.
In case this fails to fill the seat, a special election for that position will be held as soon as possible, unless the regular SC election is less than 7 weeks away. Eligible voters from the most recent election will vote in the special election. Eligibility will not be redetermined at the time of the special election. Any replacement SC member will serve out the remainder of the term for the person they are replacing, regardless of the length of that remainder.
In the event of a resignation or other loss of an appointed end user KSC member, the SC will appoint a new person to fill the end user SC seat.
Changes to the KSC charter may be proposed via a PR on the charter itself. Amendments are accepted with majority consent of the committee as per the decision process outlined above.
Proposals and amendments to the charter are available for at least a period of one week for comments and questions before a vote will occur.
Ideally most decisions will be made at the lowest possible level within the project: within individual working groups. When this is not possible for technical decisions, the TOC can help facilitate a conversation to work through the contended issue. When facilitation by the TOC does not resolve the contended issue, the Steering Committee can help facilitate. When facilitation by the SC does not resolve the contention, the SC may have to make a decision.
Note that if the SC is called to resolve contended decisions regularly, it is a symptom of a larger problem in the community that will need to be addressed.
Portions of this document are adapted from the Istio Steering Committee documentation, and other portions are copied from the Kubernetes Steering Committee, both of which are licensed under the Apache License 2.0.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License.