|
| 1 | +# 2025 VOTERS GUIDE - KUBERNETES STEERING COMMITTEE ELECTION |
| 2 | + |
| 3 | +## Important Links |
| 4 | + |
| 5 | +* [Kubernetes Steering Committee] |
| 6 | +* [Steering Committee Election Charter] |
| 7 | +* [election app] |
| 8 | +* [election page] |
| 9 | +* [voter exception form] |
| 10 | +* [schedule](#schedule) |
| 11 | + |
| 12 | +## Table of Contents |
| 13 | + |
| 14 | +* [Purpose](#purpose) |
| 15 | +* [Election Platform](#election-platform) |
| 16 | +* [Background](#background) |
| 17 | +* [Eligibility](#eligibility) |
| 18 | + * [Voter Exception](#voter-exception) |
| 19 | +* [Schedule](#schedule) |
| 20 | +* [Candidacy](#candidacy-process) |
| 21 | +* [Voting](#voting-process) |
| 22 | +* [Officers](#officers) |
| 23 | + * [Election Decision](#decision) |
| 24 | +* [Nominees](#nominees) |
| 25 | + |
| 26 | +## Purpose |
| 27 | + |
| 28 | +The role of this election is to fill out the three (3) seats due for |
| 29 | +reelection this year on the [Kubernetes Steering Committee]. Each elected |
| 30 | +member will serve a two (2) year term. |
| 31 | + |
| 32 | +## Election Platform |
| 33 | + |
| 34 | +We will be using [Elekto] to conduct the election. Elekto relies entirely on GitHub Oauth for |
| 35 | +voting, and as such does not use email at all. Elekto also handles exceptions, |
| 36 | +eligibility checks, and other aspects of the election. See the [Elekto voting documentation] |
| 37 | +for how to use it. |
| 38 | + |
| 39 | +## Background |
| 40 | + |
| 41 | +This election will shape the future of Kubernetes as a community and project. |
| 42 | +While SIGs and WGs help shape the technical direction of the project, the |
| 43 | +[Steering Committee Charter] covers the health of the project and community |
| 44 | +as a whole. Some direct responsibilities of steering members to consider as |
| 45 | +you are deciding whether to run or who to vote for: |
| 46 | + |
| 47 | +* Through the chartering review process, delegate ownership of, responsibility |
| 48 | + for and authority over areas of the project to specific entities |
| 49 | +* Define, evolve, and defend the non-technical vision / mission and the values |
| 50 | + of the project |
| 51 | +* Charter and refine policy for defining new community groups and establish |
| 52 | + transparency and accountability policies for such groups |
| 53 | +* Define and evolve project and group governance |
| 54 | + structures and policies |
| 55 | +* Act as a final non-technical escalation point for any Kubernetes repository |
| 56 | +* Request funds and other support from the CNCF (e.g. marketing, press, etc.) |
| 57 | +* Define and enforce requirements for community groups to be in good standing |
| 58 | + such as having an approved charter |
| 59 | + |
| 60 | +For more context, please see the [current steering committee backlog] or a |
| 61 | +previous [governance meeting video] which led to this whole process. |
| 62 | + |
| 63 | +## Eligibility |
| 64 | + |
| 65 | +Please refer to the [Steering Committee Election Charter] for [Eligibility for candidacy] |
| 66 | + |
| 67 | +Eligibility for voting in 2025 is defined as: |
| 68 | + |
| 69 | +* People who had at least 50 contributions to the Kubernetes project over |
| 70 | + the past year, according to a snapshot taken 2025-07-31 of the data driving |
| 71 | + the [devstats developer activity counts dashboard][devstats-dashboard], |
| 72 | + who are also [Org Members]. |
| 73 | + Contributions include GitHub events like creating issues, creating PRs, |
| 74 | + reviewing PRs, commenting on issues, etc. For full details see |
| 75 | + [the SQL query used by devstats for developer activity counts][devstats-sql]. |
| 76 | + |
| 77 | +* Full members of the Code of Conduct Committee (CoCC) and Security Response Committee |
| 78 | + (SRC), as listed in [SIGs.yaml], at any time between August 2023 and August 2025, |
| 79 | + regardless of contribution count. |
| 80 | + |
| 81 | +* People who have submitted the [voter exception form] and are accepted by |
| 82 | + the election committee. |
| 83 | + |
| 84 | +Corporate affiliation is applied after the election. If an organization finds |
| 85 | +itself with too many representatives it is up to those individuals to come |
| 86 | +to a consensus on who should serve on the committee. |
| 87 | + |
| 88 | +Contributors may check their voter eligibility at any time once the election |
| 89 | +process starts, by going to the [election app], logging in, navigating to |
| 90 | +the current year election, and seeing if the screen there says that they are eligible. |
| 91 | +That screen takes its data from the [voters.yaml] file. |
| 92 | + |
| 93 | +If the app does not say that you are eligible, because you have worked on |
| 94 | +Kubernetes in a way that is NOT reflected in GitHub contributions, you can use |
| 95 | +the exception form built into the same app to ask to participate in the election. |
| 96 | +See Voter Exception below for how this works. |
| 97 | + |
| 98 | +### Voter exception |
| 99 | + |
| 100 | +We *explicitly* believe that the above heuristic will be inaccurate |
| 101 | +and not represent the entire community. Thus we provide the form |
| 102 | +for those who have contributed to the project but may not meet the above |
| 103 | +criteria. Acceptance of a form submission will be defined by a simple |
| 104 | +majority vote, and the criteria used during this process will be used to |
| 105 | +help refine further elections. |
| 106 | + |
| 107 | +If you otherwise qualify to vote but have not yet applied for Org Membership, |
| 108 | +then please [request an exception][voter exception form] (and please apply for |
| 109 | +Org Membership as well). |
| 110 | + |
| 111 | +Note that, if you are already eligible, instead of the voter exception form you |
| 112 | +will see "You are already eligible to vote in the election." |
| 113 | + |
| 114 | +Only contributions to projects and artifacts that fall under Steering |
| 115 | +Committee's governance will be considered for voter exception. |
| 116 | + |
| 117 | +Examples of contributions that would be considered: |
| 118 | +* Slack admins who are not active in GitHub |
| 119 | +* K8s Infra staff doing mostly support |
| 120 | +* Working Group leads without a lot of GitHub activity |
| 121 | + |
| 122 | +Examples of contributions that would NOT be considered: |
| 123 | +* Contributions to ecosystem projects and products |
| 124 | +* Organizing meetups or podcasts |
| 125 | + |
| 126 | +### Schedule |
| 127 | + |
| 128 | +<!-- While finalizing the dates in the schedule, ensure that: |
| 129 | +- The Steering Committee and candidate Q+A occurs at a public SC meeting |
| 130 | + (usually a Wednesday). |
| 131 | +- Deadline to submit voter exception forms and request a |
| 132 | + replacement ballot is ~3 days before voting closes. |
| 133 | +- Private announcement of results to SC members is at least ~2 days |
| 134 | + before private announcement to all candidates. |
| 135 | +- The interval between private announcement to all candidates and the |
| 136 | + public announcement is 24-48 hours. |
| 137 | +--> |
| 138 | + |
| 139 | +**The schedule below is an example and has not been updated for 2025** |
| 140 | + |
| 141 | +| Date | Event | |
| 142 | +|:------------------------|:----------------------------------------------------------------------| |
| 143 | +| Tuesday, July 9 | Steering Committee selects Election Committee | |
| 144 | +| Thursday, August 1 | Announcement of Election and publication of voters.md | |
| 145 | +| Wednesday, August 21 | Steering Committee Q+A for the candidates (to be confirmed) | |
| 146 | +| Saturday, August 24 | Candidate nominations due at the end of the day in AoE time | |
| 147 | +| Sunday, August 25 | All candidate bios due at the end of the day in AoE time | |
| 148 | +| Tuesday, August 27 | Election Begins | |
| 149 | +| Monday, September 23 | Deadline to submit voter exception requests | |
| 150 | +| Thursday, September 26 | Election Closes at the end of the day in AoE time | |
| 151 | +| Friday, September 27 | Private announcement of Results to SC members not up for election | |
| 152 | +| Monday, September 30 | Private announcement of Results to all candidates | |
| 153 | +| Wednesday, October 2 | Public announcement of Results at Public Steering Committee Meeting | |
| 154 | +| Wednesday, October 9 | Election Retro | |
| 155 | + |
| 156 | +Candidate nomination, bio, and election close deadlines will be done using Anywhere on Earth timing, meaning it is still valid to submit new nominations/bios/votes as long as it is still the last day anywhere on the planet (i.e. at the end of that day in UTC-12). |
| 157 | + |
| 158 | +## Candidacy Process |
| 159 | + |
| 160 | +**Nomination** |
| 161 | + |
| 162 | +1. If you want to stand for the election, create an issue in this GitHub repo |
| 163 | +(kubernetes/community) with the title `Steering Committee Nomination: Your Name (@yourgithub)`. |
| 164 | +If you want to nominate someone else, you may do so, but PLEASE talk to them |
| 165 | +first. |
| 166 | + |
| 167 | +2. After creating the issue, send an email to [email protected] |
| 168 | +with a link to the issue. The subject line of the email should be same as |
| 169 | +the title of the issue. This email should encourage people to second your |
| 170 | +nomination on GitHub, as +1s via email will not count. Here's an example email: |
| 171 | + |
| 172 | + Hi! I'm nominating _candidate_ for steering committee this year. |
| 173 | + If you are an eligible voter and think they should run, please add your +1 as |
| 174 | + a comment on the issue _link_ and mention the organization you work for. |
| 175 | + While supportive replies are very nice, only comments on the issue will count |
| 176 | + towards their eligibility. |
| 177 | + |
| 178 | +3. If you wish to accept a nomination from someone else, reply to the nomination |
| 179 | +**issue** saying something like "I accept the nomination". |
| 180 | + |
| 181 | +4. Finally, the candidate closes the **issue** (`#NNN`) by opening a Pull Request |
| 182 | +to add their bio (see below). The PR body must contain the text `Fixes #NNN` to |
| 183 | +automatically close the issue once the PR is merged. |
| 184 | + |
| 185 | +5. Create the PR for your bio by copying the `nomination-template.md` file in |
| 186 | +this directory, and creating a new file titled `candidate-yourgithub.md`. Fill |
| 187 | +out all the fields in the template, but avoid making any format changes. |
| 188 | + |
| 189 | +**Endorsement** |
| 190 | + |
| 191 | +Once nominated, you must get the endorsement of three (3) different eligible |
| 192 | +voters from three (3) different employers. If you are eligible to vote |
| 193 | +yourself, you count as one of the three. Endorsements from non-voting members |
| 194 | +does not count towards the final count. |
| 195 | + |
| 196 | +[Eligible voters] may endorse candidates of their choosing by replying to the |
| 197 | +candidate's nomination **issue** saying something like "I endorse this nominee, |
| 198 | +and I work for <COMPANY>" or "+1". Please state that you an eligible voter, |
| 199 | +and include your employer's name so that we see can which candidates have |
| 200 | +sufficient endorsements. |
| 201 | + |
| 202 | +Note that **only endorsements on the GitHub issue will be considered**. |
| 203 | +Endorsements on the nomination email will NOT be considered. |
| 204 | + |
| 205 | +When a candidate has reached the necessary three endorsements, one of the |
| 206 | +Election Officers will announce that on the GitHub issue. |
| 207 | + |
| 208 | +**Running** |
| 209 | + |
| 210 | +Eligible candidates can submit a pull request with a biography in this |
| 211 | +directory with their platform and intent to run. This PR will copy `nomination-template.md` |
| 212 | +to a file named `candidate-yourgithub.md`. It will fill out the fields in |
| 213 | +that template. |
| 214 | + |
| 215 | +All biographical statements should be brief and to the point, with a guideline of around |
| 216 | +**300 words** total for all text. If your statement is excessively long, you |
| 217 | +will be asked to abbreviate it before it is merged. |
| 218 | + |
| 219 | +Please refer to the [prior candidate bios] for examples of content. |
| 220 | +Biography statements are optional. |
| 221 | + |
| 222 | +Missed deadlines by the candidates will be addressed by the election committee |
| 223 | +on a per case basis to determine eligibility. |
| 224 | + |
| 225 | +**Campaigning** |
| 226 | + |
| 227 | +Please refer to the [Steering Committee Election Charter] and understand |
| 228 | +that we care deeply about [limiting corporate campaigning]. The election |
| 229 | +officers and members of the steering committee [pledge to recuse] themselves |
| 230 | +from any form of electioneering. |
| 231 | + |
| 232 | +You should be running as a "brand free" individual, based on your contribution |
| 233 | +to the project as a member of this community, outside of whatever corporate |
| 234 | +roles you may hold. |
| 235 | + |
| 236 | +## Voting Process |
| 237 | + |
| 238 | +See the [eligibility section](#eligibility) to understand if you are eligible to vote. |
| 239 | + |
| 240 | +Elections will be held using time-limited [Condorcet] ranking on [Elekto]. |
| 241 | +The most preferred candidates will be elected to the open seats. |
| 242 | + |
| 243 | +Employer diversity is encouraged, and thus maximal representation will be |
| 244 | +enforced as spelled out in the [Steering Committee Election Charter]. |
| 245 | + |
| 246 | +You will be ranking your choices of the candidates with an option for |
| 247 | +"no opinion". In the event of a tie, a non-involved SC member will flip |
| 248 | +a coin. |
| 249 | + |
| 250 | +The election will open for voting starting on the dates specified on the calendar |
| 251 | +at the top of this document. You will be reminded that voting has opened by an |
| 252 | +email to kubernetes-dev, but no email is required for you to vote. |
| 253 | + |
| 254 | +### Officers |
| 255 | + |
| 256 | +The Steering Committee has selected the following people as [election officers]: |
| 257 | + |
| 258 | +- Christoph Blecker |
| 259 | +- Nina Polshakova |
| 260 | +- Sreeram Venkitesh |
| 261 | + |
| 262 | +In addition, the following contributors are helping with the election: |
| 263 | + |
| 264 | +- Alternate Officers: Rey Lejano, Arujjwal Negi |
| 265 | +- Infra Liaison: TBD |
| 266 | +- Contributor Comms Liaison: TBD |
| 267 | + |
| 268 | +Please direct any questions via email to <[email protected]>. |
| 269 | + |
| 270 | +### Decision |
| 271 | + |
| 272 | +- First, the results are privately announced to the incumbent Steering Committee |
| 273 | +members (who are not up for election) and all the candidates. |
| 274 | + |
| 275 | +- The newly elected body will be publicly announced in the scheduled monthly |
| 276 | +[public Steering Committee Meeting]. |
| 277 | + |
| 278 | +- Following the meeting, the raw voting results and winners will be published on the |
| 279 | +[Kubernetes Blog]. |
| 280 | + |
| 281 | +For more information, definitions, and/or detailed election process, please refer to |
| 282 | +the [Steering Committee Election Charter] |
| 283 | + |
| 284 | +## Nominees |
| 285 | + |
| 286 | +Nominees may be found in the [election app]. |
| 287 | + |
| 288 | +[Kubernetes Steering Committee]: https://github.com/kubernetes/steering |
| 289 | +[Steering Committee Charter]: https://github.com/kubernetes/steering/blob/master/charter.md |
| 290 | +[current steering committee backlog]: https://github.com/orgs/kubernetes/projects/40 |
| 291 | +[governance meeting video]: https://www.youtube.com/watch?v=ltRKXLl0RaE&list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ&index=23 |
| 292 | + |
| 293 | +[Steering Committee Election Charter]: https://git.k8s.io/steering/elections.md |
| 294 | +[Eligibility for voting]: https://github.com/kubernetes/steering/blob/master/elections.md#eligibility-for-voting |
| 295 | +[Eligibility for candidacy]: https://github.com/kubernetes/steering/blob/master/elections.md#eligibility-for-candidacy |
| 296 | +[limiting corporate campaigning]: https://github.com/kubernetes/steering/blob/master/elections.md#limiting-corporate-campaigning |
| 297 | +[pledge to recuse]: https://github.com/kubernetes/steering/blob/master/elections.md#steering-committee-and-election-officer-recusal |
| 298 | + |
| 299 | +[Condorcet]: https://en.wikipedia.org/wiki/Condorcet_method |
| 300 | +[prior candidate bios]: https://github.com/kubernetes/community/tree/master/elections/steering/2023 |
| 301 | +[election officers]: https://github.com/kubernetes/community/tree/master/elections#recommending-election-officers |
| 302 | +[Kubernetes Community Meeting]: https://github.com/kubernetes/community/blob/master/events/community-meeting.md |
| 303 | +[Kubernetes Blog]: https://kubernetes.io/blog/ |
| 304 | + |
| 305 | +[devstats-sql]: https://github.com/cncf/devstats/blob/master/metrics/shared/project_developer_stats.sql |
| 306 | +[devstats-dashboard]: https://k8s.devstats.cncf.io/d/13/developer-activity-counts-by-repository-group?orgId=1&var-period_name=Last%20year&var-metric=contributions&var-repogroup_name=All |
| 307 | +[Org Members]: https://github.com/kubernetes/community/blob/master/community-membership.md |
| 308 | +[Elekto]: https://elekto.dev |
| 309 | +[election app]: https://elections.k8s.io |
| 310 | +[Elekto voting documentation]: https://elekto.dev/docs/voting/ |
| 311 | +[voters.yaml]: https://github.com/kubernetes/community/blob/master/elections/steering/2025/voters.yaml |
| 312 | +[election page]: https://elections.k8s.io/app/elections/steering---2025 |
| 313 | +[voter exception form]: https://elections.k8s.io/app/elections/steering---2025/exception |
| 314 | +[public Steering Committee Meeting]: https://github.com/kubernetes/steering/#meetings |
| 315 | +[Eligible voters]: https://github.com/kubernetes/community/tree/master/elections/steering/2025#eligibility |
| 316 | +[SIGs.yaml]: https://github.com/kubernetes/community/tree/master/sigs.yaml |
0 commit comments