Skip to content

Latest commit

 

History

History
329 lines (248 loc) · 14.6 KB

GOVERNANCE-elections.md

File metadata and controls

329 lines (248 loc) · 14.6 KB

Steering Committee Governance

This is an example governance document for projects that use steering committee elections from the contributors at large. See GOVERNANCE.md for more information. Thanks to the Kubernetes Project for portions of the text below.

This is a template document for CNCF projects that requires editing before it is ready to use. Read the markdown comments, <!-- COMMENT -->, for additional guidance. The raw markdown uses TODO to identify areas that require customization. Replace [TODO: PROJECTNAME] with the name of your project.

The [TODO: PROJECTNAME] Steering Committee is the governing body of the [TODO: PROJECTNAME] project, providing decision-making and oversight pertaining to the project bylaws, sub-organizations, and financial planning. The Steering Committee also defines the project values and structure.

This governance is an open, living document, and will continue to evolve as the community and project change.

Values

The [TODO: PROJECTNAME] and its leadership embrace the following values:

  • Openness: Communication and decision-making happens in the open and is discoverable for future reference. As much as possible, all discussions and work take place in public forums and open repositories.

  • Fairness: All stakeholders have the opportunity to provide feedback and submit contributions, which will be considered on their merits.

  • Community over Product or Company: Sustaining and growing our community takes priority over shipping code or sponsors' organizational goals. Each contributor participates in the project as an individual.

  • Inclusivity: We innovate through different perspectives and skill sets, which can only be accomplished in a welcoming and respectful environment.

  • Participation: Responsibilities within the project are earned through participation, and there is a clear path up the contributor ladder into leadership positions.

Charter

The following responsibilities and powers belong to the Steering Committee.

Technical governance is expected to be performed by the Maintainers of the various project areas and subprojects, as defined in the appropriate OWNERS files.

  • Delegate ownership of, responsibility for and authority over areas of the project to specific entities.
  • Define, evolve, and defend the vision, mission and the values of the project.
  • Charter and refine policy for defining new community groups, and establish transparency and accountability policies for such groups
  • Define and evolve project and group governance structures and policies.
  • Act as a final escalation point for disputes in any project repository or group.
  • Request funds and other support from the CNCF (e.g. marketing, press, etc.)
  • Coordinate with the CNCF regarding usage of the [TODO: PROJECTNAME] brand and deciding project scope, core requirements, and conformance, as well as how that brand can be used in relation to other efforts or vendors.
  • Decide, for the purpose of elections, who is a member of standing, and what privileges that entails.
  • Control and delegate access to and establish processes regarding all project repositories, resources, and assets.
  • Appointing the members of the Code of Conduct Committee in order to ensure responsiveness, diversity, and good judgement.

Delegated authority

The Steering Committee may choose to delegate its authority to other committees as-needed. The committee currently recognizes this delegated authority for:

  • [TODO: List of Delegated Authorities]

Committee Meetings

The Steering Committee meets [TODO: frequency of meetings], or as-needed. Meetings are held online, and are public by default.

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 developer mailing list. Public meetings will be recorded and the recordings made available publicly.

Questions and proposals for changes to governance or community procedures are posted as issues in the community repo, and the Steering Committee invites your feedback there. See Getting in touch for other options.

Committee members

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

Decision process

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 two of the members present decide require a vote.

Decisions are made in meetings when a quorum of more than half of the members are present (and all members have been informed of the meeting), and may pass with more than half the members of the committee supporting it.

Getting in touch

There are two ways to raise issues to the steering committee for decision:

  1. Emailing the Steering Committee at [email protected]. This is a private discussion list to which all members of the committee have access.
  2. Open an issue on the community repository and indicate that you would like attention from the steering committee.

Composition

The steering committee has [TODO: Number] seats. These seats are open to any project contributor. See candidate eligibility for a definition.

Steering Committee members serve for [TODO: Service Period] terms, staggered in order to preserve continuity. Every year either [TODO:Number] or [TODO:Remainder] contributor seats are elected.

Election Procedure

Timeline

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. Three days 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 on [TODO: Date] of each year.

Election Officer(s)

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 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

Eligibility to Vote

Anyone who has at least [TODO:Number] 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 community forums, participating in working groups, and other efforts that help advance the project.

[This dashboard](TODO: Devstats link) 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 Devstats, 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 and saved by the officers.

The electoral roll of all eligible voters will be captured at [TODO: Github election location] and the voters’ guide will be captured at [TODO: Github Election info location], similar to the Kubernetes election process.

We are committed to an inclusive process and will adapt future eligibility requirements based on community feedback.

Candidate Eligibility

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 Steering Committee members. Nothing prevents a qualified member from serving on both Steering and other groups simultaneously.

To run for a seat, a candidate must additionally be at least a project Member as defined in [ROLES.md](TODO: Link to your contributor ladder).

Voting Procedure

Elections will be held using a time-limited Condorcet ranking on CIVS using the IRV method. The top vote-getters will be elected to the open seats, with the exceptions for company representation discussed below.

Limitations on Company Representation

No more than [TODO: Number] seats may be held by employees of the same organization (or conglomerate, in the case of companies owning each other). If an election results in greater than [TODO: Number] employees of the same organization being selected, 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 too many seats being held by employees of the same organization, sufficient members of the committee must resign until only [TODO: Number] 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.

Vacancies

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.

Changes to the charter

Changes to this 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.

Authority, Facilitation, and Decision Making

Ideally most decisions will be made at the lowest possible level within the project: within individual working groups. When this is not possible, Steering can help facilitate a conversation to work through the contended issue. When facilitation by the SC does not resolve the contention, the SC may have to make a decision.

Note that if the committee is called to resolve contended decisions regularly, it is a symptom of a larger problem in the community that will need to be addressed.