Skip to content

Commit ecc4652

Browse files
committed
Select Election Officers for 2024 Elections
Signed-off-by: Josh Berkus <[email protected]>
1 parent 24169c7 commit ecc4652

File tree

3 files changed

+326
-3
lines changed

3 files changed

+326
-3
lines changed

elections/steering/2024/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+
- bridgetkromhout
7+
- cblecker
8+
- Priyankasaggu11929
9+
labels:
10+
- committee/steering

elections/steering/2024/README.md

Lines changed: 313 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,313 @@
1+
# 2024 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 2023 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 2023-08-04 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 2022 and August 2023,
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+
### Voter exception
89+
90+
We *explicitly* believe that the above heuristic will be inaccurate
91+
and not represent the entire community. Thus we provide the form
92+
for those who have contributed to the project but may not meet the above
93+
criteria. Acceptance of a form submission will be defined by a simple
94+
majority vote, and the criteria used during this process will be used to
95+
help refine further elections.
96+
97+
If you otherwise qualify to vote but have not yet applied for Org Membership,
98+
then please [request an exception][voter exception form] (and please apply for
99+
Org Membership as well).
100+
101+
Note that, if you are already eligible, instead of the voter exception form you
102+
will see "You are already eligible to vote in the election."
103+
104+
Only contributions to projects and artifacts that fall under Steering
105+
Committee's governance will be considered for voter exception.
106+
107+
Examples of contributions that would be considered:
108+
* Slack admins who are not active in GitHub
109+
* K8s Infra staff doing mostly support
110+
* Working Group or User Group leads without a lot of GitHub activity
111+
112+
Examples of contributions that would NOT be considered:
113+
* Contributions to ecosystem projects and products
114+
* Organizing meetups or podcasts
115+
116+
### Schedule
117+
118+
<!-- While finalizing the dates in the schedule, ensure that:
119+
- The Steering Committee and candidate Q+A occurs at a public SC meeting
120+
(usually a Monday).
121+
- Deadline to submit voter exception forms and request a
122+
replacement ballot is ~3 days before voting closes.
123+
- Private announcement of results to SC members is at least ~2 days
124+
before private announcement to all candidates.
125+
- The interval between private announcement to all candidates and the
126+
public announcement is 24-48 hours, ideally during a weekend.
127+
-->
128+
129+
**This schedule is not yet final, and is a copy of last year's **
130+
131+
| Date | Event |
132+
|:------------------------|:----------------------------------------------------------------------|
133+
| Wednesday, July 12 | Steering Committee selects Election Committee |
134+
| Tuesday, August 8 | Announcement of Election and publication of voters.md |
135+
| TBD | Steering Committee Q+A for the candidates |
136+
| Saturday, August 26 | Candidate nominations due at the end of the day in AoE time |
137+
| Sunday, August 27 | All candidate bios due at the end of the day in AoE time |
138+
| Tuesday, August 29 | Election Begins |
139+
| Saturday, September 23 | Deadline to submit voter exception requests |
140+
| Tuesday, September 26 | Election Closes at the end of the day in AoE time |
141+
| Wednesday, September 27 | Private announcement of Results to SC members not up for election |
142+
| Sunday, October 1 | Private announcement of Results to all candidates |
143+
| Monday, October 2 | Public announcement of Results at Public Steering Committee Meeting |
144+
| Tuesday, October 3 | Election Retro |
145+
146+
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).
147+
148+
## Candidacy Process
149+
150+
**Nomination**
151+
152+
1. If you want to stand for the election, create an issue in this GitHub repo
153+
(kubernetes/community) with the title `Steering Committee Nomination: Your Name (@yourgithub)`.
154+
If you want to nominate someone else, you may do so, but PLEASE talk to them
155+
first.
156+
157+
2. After creating the issue, send an email to [email protected]
158+
with a link to the issue. The subject line of the email should be same as
159+
the title of the issue. This email should encourage people to second your
160+
nomination on GitHub, as +1s via email will not count. Here's an example email:
161+
162+
Hi! I'm nominating _candidate_ for steering committee this year.
163+
If you are an eligible voter and think they should run, please add your +1 as
164+
a comment on the issue _link_ and mention the organization you work for.
165+
While supportive replies are very nice, only comments on the issue will count
166+
towards their eligibility.
167+
168+
3. If you wish to accept a nomination from someone else, reply to the nomination
169+
**issue** saying something like "I accept the nomination".
170+
171+
4. Finally, the candidate closes the **issue** (`#NNN`) by opening a Pull Request
172+
to add their bio (see below). The PR body must contain the text `Fixes #NNN` to
173+
automatically close the issue once the PR is merged.
174+
175+
5. Create the PR for your bio by copying the `nomination-template.md` file in
176+
this directory, and creating a new file titled `candidate-githubid.md`. Fill
177+
out all the fields in the template, but avoid making any format changes.
178+
179+
**Endorsement**
180+
181+
Once nominated, you must get the endorsement of three (3) different eligible
182+
voters from three (3) different employers. If you are eligible to vote
183+
yourself, you count as one of the three. Endorsements from non-voting members
184+
does not count towards the final count.
185+
186+
[Eligible voters] may endorse candidates of their choosing by replying to the
187+
candidate's nomination **issue** saying something like "I endorse this nominee,
188+
and I work for <COMPANY>" or "+1". Please state that you an eligible voter,
189+
and include your employer's name so that we see can which candidates have
190+
sufficient endorsements.
191+
192+
Note that **only endorsements on the GitHub issue will be considered**.
193+
Endorsements on the nomination email will NOT be considered.
194+
195+
When a candidate has reached the necessary three endorsements, one of the
196+
Election Officers will announce that on the GitHub issue.
197+
198+
**Running**
199+
200+
Eligible candidates can submit a pull request with a biography in this
201+
directory with their platform and intent to run. This PR will copy `nomination-template.md`
202+
to a file named `candidate-YourName.md`. It will fill out the fields in
203+
that template.
204+
205+
All biographical statements should be brief and to the point, with a guideline of around
206+
**300 words** total for all text. If your statement is excessively long, you
207+
will be asked to abbreviate it before it is merged.
208+
209+
Please refer to the [prior candidate bios] for examples of content.
210+
Biography statements are optional.
211+
212+
Missed deadlines by the candidates will be addressed by the election committee
213+
on a per case basis to determine eligibility.
214+
215+
**Campaigning**
216+
217+
Please refer to the [Steering Committee Election Charter] and understand
218+
that we care deeply about [limiting corporate campaigning]. The election
219+
officers and members of the steering committee [pledge to recuse] themselves
220+
from any form of electioneering.
221+
222+
You should be running as a "brand free" individual, based on your contribution
223+
to the project as a member of this community, outside of whatever corporate
224+
roles you may hold.
225+
226+
## Voting Process
227+
228+
Contributors may check their voter eligibility at any time once the election
229+
process starts, by going to the [election app], logging in, navigating to
230+
the current year election, and seeing if the screen there says that they are eligible.
231+
That screen takes its data from the [voters.yaml] file.
232+
233+
If the app does not say that you are eligible, because you have worked on
234+
Kubernetes in a way that is NOT reflected in GitHub contributions, you can use
235+
the exception form built into the same app to ask to participate in the election.
236+
237+
Elections will be held using time-limited [Condorcet] ranking on [Elekto].
238+
The most preferred candidates will be elected to the open seats.
239+
240+
Employer diversity is encouraged, and thus maximal representation will be
241+
enforced as spelled out in the [Steering Committee Election Charter].
242+
243+
You will be ranking your choices of the candidates with an option for
244+
"no opinion". In the event of a tie, a non-involved SC member will flip
245+
a coin.
246+
247+
The election will open for voting starting on the dates specified on the calendar
248+
at the top of this document. You will be reminded that voting has opened by an
249+
email to kubernetes-dev, but no email is required for you to vote.
250+
251+
### Officers
252+
253+
The Steering Committee has selected the following people as [election officers]:
254+
255+
- Bridget Kromhout
256+
- Christoph Blecker
257+
- Priyanka Saggu
258+
259+
In addition, the following contributors are helping with the election:
260+
261+
- Alternate Officers: Rey Lejano, Joseph Sandoval
262+
- Infra Liaison: TBD
263+
- Contributor Comms Liaison: TBD
264+
265+
Please direct any questions via email to <[email protected]>.
266+
267+
### Decision
268+
269+
- First, the results are privately announced to the incumbent Steering Committee
270+
members (who are not up for election) and all the candidates.
271+
272+
- The newly elected body will be publicly announced in the scheduled monthly
273+
[public Steering Committee Meeting].
274+
275+
- Following the meeting, the raw voting results and winners will be published on the
276+
[Kubernetes Blog].
277+
278+
For more information, definitions, and/or detailed election process, please refer to
279+
the [Steering Committee Election Charter]
280+
281+
## Nominees
282+
283+
Nominees may be found in the [election app].
284+
285+
[Kubernetes Steering Committee]: https://github.com/kubernetes/steering
286+
[Steering Committee Charter]: https://github.com/kubernetes/steering/blob/master/charter.md
287+
[current steering committee backlog]: https://github.com/orgs/kubernetes/projects/40
288+
[governance meeting video]: https://www.youtube.com/watch?v=ltRKXLl0RaE&list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ&index=23
289+
290+
[Steering Committee Election Charter]: https://git.k8s.io/steering/elections.md
291+
[Eligibility for voting]: https://github.com/kubernetes/steering/blob/master/elections.md#eligibility-for-voting
292+
[Eligibility for candidacy]: https://github.com/kubernetes/steering/blob/master/elections.md#eligibility-for-candidacy
293+
[limiting corporate campaigning]: https://github.com/kubernetes/steering/blob/master/elections.md#limiting-corporate-campaigning
294+
[pledge to recuse]: https://github.com/kubernetes/steering/blob/master/elections.md#steering-committee-and-election-officer-recusal
295+
296+
[Condorcet]: https://en.wikipedia.org/wiki/Condorcet_method
297+
[prior candidate bios]: https://github.com/kubernetes/community/tree/master/elections/steering/2022
298+
[election officers]: https://github.com/kubernetes/community/tree/master/elections#recommending-election-officers
299+
[Kubernetes Community Meeting]: https://github.com/kubernetes/community/blob/master/events/community-meeting.md
300+
[Kubernetes Blog]: https://kubernetes.io/blog/
301+
302+
[devstats-sql]: https://github.com/cncf/devstats/blob/master/metrics/shared/project_developer_stats.sql
303+
[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
304+
[Org Members]: https://github.com/kubernetes/community/blob/master/community-membership.md
305+
[Elekto]: https://elekto.dev
306+
[election app]: https://elections.k8s.io
307+
[Elekto voting documentation]: https://elekto.dev/docs/voting/
308+
[voters.yaml]: https://github.com/kubernetes/community/blob/master/elections/steering/2024/voters.yaml
309+
[election page]: https://elections.k8s.io/app/elections/steering---2023
310+
[voter exception form]: https://elections.k8s.io/app/elections/steering---2023/exception
311+
[public Steering Committee Meeting]: https://github.com/kubernetes/steering/#meetings
312+
[Eligible voters]: https://github.com/kubernetes/community/tree/master/elections/steering/2023#eligibility
313+
[SIGs.yaml]: https://github.com/kubernetes/community/tree/master/sigs.yaml

elections/steering/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
This folder contains information on the Kubernetes Steering elections since 2017.
44

5-
The current Steering election, including all directions on eligibility, voting, and candidates, can be found here: [2023 Election]
5+
The current Steering election, including all directions on eligibility, voting, and candidates, can be found here: [2024 Election]
66

7-
The last Steering election, including all directions on eligibility, voting, and candidates, can be found here: [2022 Election]
7+
The last Steering election, including all directions on eligibility, voting, and candidates, can be found here: [2023 Election]
88

99
You can also read [documentation] on how to run a Steering Election.
1010

1111
[2023 Election]: /elections/steering/2023/
12-
[2022 Election]: /elections/steering/2022/
12+
[2024 Election]: /elections/steering/2024/
1313
[documentation]: /elections/steering/documentation/

0 commit comments

Comments
 (0)