Skip to content

Commit 37c68d0

Browse files
committed
Add nominated election officers, folder for 2025.
Signed-off-by: Josh Berkus <[email protected]>
1 parent b7c5e66 commit 37c68d0

File tree

3 files changed

+349
-0
lines changed

3 files changed

+349
-0
lines changed

elections/steering/2025/OWNERS

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# See the OWNERS docs at https://go.k8s.io/owners
2+
3+
# replace with election officers once election starts
4+
approvers:
5+
- committee-steering
6+
- cblecker
7+
- npolshakova
8+
- sreeram-venkitesh
9+
labels:
10+
- committee/steering

elections/steering/2025/README.md

Lines changed: 316 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,316 @@
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
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-------------------------------------------------------------
2+
name:
3+
ID: GitHubID
4+
info:
5+
- employer: Your Employer or "Independent"
6+
- slack: slack handle
7+
-------------------------------------------------------------
8+
9+
<!-- Please make a copy of this template as "candidate-githubid.md" and save it to
10+
the election directory -->
11+
12+
## SIGS
13+
14+
- SIGs/WGs/Teams you're a member of
15+
16+
## What I have done
17+
18+
## What I'll do
19+
20+
## Resources About Me
21+
22+
- Links to KubeCon or other conference talks or other related material
23+
- Links to social media

0 commit comments

Comments
 (0)