|
| 1 | +# 2021 VOTERS GUIDE - KUBERNETES STEERING COMMITTEE ELECTION |
| 2 | + |
| 3 | +## Purpose |
| 4 | + |
| 5 | +The role of this election is to fill out the four (4) seats due for |
| 6 | +reelection this year on the [Kubernetes Steering Committee]. Each elected |
| 7 | +member will serve a two (2) year term. |
| 8 | + |
| 9 | +## Background |
| 10 | + |
| 11 | +This election will shape the future of Kubernetes as a community and project. |
| 12 | +While SIGs and WGs help shape the technical direction of the project, the |
| 13 | +[Steering Committee Charter] covers the health of the project and community |
| 14 | +as a whole. Some direct responsibilities of steering members to consider as |
| 15 | +you are deciding whether to run or who to vote for: |
| 16 | + |
| 17 | +* Through the chartering review process, delegate ownership of, responsibility |
| 18 | + for and authority over areas of the project to specific entities |
| 19 | +* Define, evolve, and defend the non-technical vision / mission and the values |
| 20 | + of the project |
| 21 | +* Charter and refine policy for defining new community groups and establish |
| 22 | + transparency and accountability policies for such groups |
| 23 | +* Define and evolve project and group governance |
| 24 | + structures and policies |
| 25 | +* Act as a final non-technical escalation point for any Kubernetes repository |
| 26 | +* Request funds and other support from the CNCF (e.g. marketing, press, etc.) |
| 27 | +* Define and enforce requirements for community groups to be in good standing |
| 28 | + such as having an approved charter |
| 29 | + |
| 30 | +For more context, please see the [current steering committee backlog] or a |
| 31 | +previous [governance meeting video] which led to this whole process. |
| 32 | + |
| 33 | +## Eligibility |
| 34 | + |
| 35 | +Please refer to the [Steering Committee Election Charter] for [Eligibility for candidacy] |
| 36 | + |
| 37 | +Eligibility for voting in 2021 is defined as: |
| 38 | + |
| 39 | +* People who had at least 50 contributions to the Kubernetes project over |
| 40 | + the past year, according to a snapshot taken 2021-MM-DD of the data driving |
| 41 | + the [devstats developer activity counts dashboard][devstats-dashboard], |
| 42 | + who are also [Org Members]. |
| 43 | + Contributions include GitHub events like creating issues, creating PRs, |
| 44 | + reviewing PRs, commenting on issues, etc. For full details see |
| 45 | + [the SQL query used by devstats for developer activity counts][devstats-sql]. |
| 46 | + |
| 47 | +* People who have submitted the [voter exception form] and are accepted by |
| 48 | + the election committee. |
| 49 | + |
| 50 | +Corporate affiliation is applied after the election. If an organization finds |
| 51 | +itself with too many representatives it is up to those individuals to come |
| 52 | +to a consensus on who should serve on the committee. |
| 53 | + |
| 54 | +### Voter exception |
| 55 | + |
| 56 | +We *explicitly* believe that the above heuristic will be inaccurate |
| 57 | +and not represent the entire community. Thus we provide the form |
| 58 | +for those who have contributed to the project but may not meet the above |
| 59 | +criteria. Acceptance of a form submission will be defined by a simple |
| 60 | +majority vote, and the criteria used during this process will be used to |
| 61 | +help refine further elections. |
| 62 | + |
| 63 | +If you otherwise qualify to vote but have not yet applied for Org Membership, |
| 64 | +then please [request an exception][voter exception form] (and please apply for |
| 65 | +Org Membership as well). |
| 66 | + |
| 67 | +Only contributions to projects and artifacts that fall under Steering |
| 68 | +Committee's governance will be considered for voter exception. |
| 69 | + |
| 70 | +Examples of contributions that would be considered: |
| 71 | +* Slack admins who are not active in GitHub |
| 72 | +* Code of Conduct Committee members whose actions are private by default |
| 73 | + |
| 74 | +Examples of contributions that would NOT be considered: |
| 75 | +* Contributions to ecosystem projects and products |
| 76 | +* Organizing meetups or podcasts |
| 77 | + |
| 78 | +### Schedule |
| 79 | + |
| 80 | +<!-- While finalizing the dates in the schedule, ensure that: |
| 81 | +- The Steering Committee and candidate Q+A occurs at a public SC meeting |
| 82 | + (usually a Monday). |
| 83 | +- Deadline to submit voter exception forms and request a |
| 84 | + replacement ballot is ~3 days before voting closes. |
| 85 | +- Private announcement of results to SC members is at least ~2 days |
| 86 | + before private announcement to all candidates. |
| 87 | +- The interval between private announcement to all candidates and the |
| 88 | + public announcement is a weekend. |
| 89 | +--> |
| 90 | + |
| 91 | +| Date | Event | |
| 92 | +| ------------ | ------------------------ | |
| 93 | +| July 1 | Steering Committee selects Election Committee | |
| 94 | +| August XX | Announcement of Election and publication of voters.md | |
| 95 | +| August XX | Steering Committee Meeting with Q+A with the candidates and community | |
| 96 | +| September XX | All candidate bios due by 0000 UTC (5pm PST) | |
| 97 | +| ~1 week | Election prep week (voters.md validation and CIVS setup and testing) |
| 98 | +| September XX | Election Begins via email ballots | |
| 99 | +| October XX | Deadline to submit voter exception forms and request a replacement ballot | |
| 100 | +| October XX | Election Closes by 0000 UTC (5pm PST) | |
| 101 | +| October XX | Private announcement of Results to SC members not up for election | |
| 102 | +| October XX | Private announcement of Results to all candidates | |
| 103 | +| October XX | Public announcement of Results at Public Steering Committee Meeting | |
| 104 | +| October XX | Election Retro | |
| 105 | + |
| 106 | +## Candidacy Process |
| 107 | + |
| 108 | +**Nomination** |
| 109 | + |
| 110 | +1. If you want to stand for the election, create an issue in this GitHub repo |
| 111 | +(kubernetes/community) with the title `Steering Committee Nomination: Your Name (@yourgithub)`. |
| 112 | +If you want to nominate someone else, you may do so, but PLEASE talk to them |
| 113 | +first. |
| 114 | + |
| 115 | +2. After creating the issue, send an email to [email protected] |
| 116 | +with a link to the issue. The subject line of the email should be same as |
| 117 | +the title of the issue. This email should encourage people to second your |
| 118 | +nomination on GitHub, as +1s via email will not count. Here's an example email: |
| 119 | + |
| 120 | + Hi! I'm nominating _candidate_ for steering committee this year. |
| 121 | + If you are an eligible voter and think they should run, please add your +1 as |
| 122 | + a comment on the issue _link_ and mention the organization you work for. |
| 123 | + While supportive replies are very nice, only comments on the issue will count |
| 124 | + towards their eligibility. |
| 125 | + |
| 126 | +3. If you wish to accept a nomination from someone else, reply to the nomination |
| 127 | +**issue** saying something like "I accept the nomination". |
| 128 | + |
| 129 | +4. Finally, the candidate closes the **issue** (`#NNN`) by opening a Pull Request |
| 130 | +to add their bio. The PR body must contain the text `Fixes #NNN` to automatically |
| 131 | +close the issue once the PR is merged. |
| 132 | + |
| 133 | +**Endorsement** |
| 134 | + |
| 135 | +Once nominated, you must get the endorsement of three (3) different eligible |
| 136 | +voters from three (3) different employers. If you are eligible to vote |
| 137 | +yourself, you count as one of the three. Endorsements from non-voting members |
| 138 | +does not count towards the final count. |
| 139 | + |
| 140 | +[Eligible voters] may endorse candidates of their choosing by replying to the |
| 141 | +candidate's nomination **issue** saying something like "I endorse this nominee, |
| 142 | +and I work for <COMPANY>" or "+1". Please state that you an eligible voter, |
| 143 | +and include your employer's name so that we see can which candidates have |
| 144 | +sufficient endorsements. |
| 145 | + |
| 146 | +Note that **only endorsements on the GitHub issue will be considered**. |
| 147 | +Endorsements on the nomination email will NOT be considered. |
| 148 | + |
| 149 | +When a candidate has reached the necessary three endorsements, one of the |
| 150 | +Election Officers will announce that on the GitHub issue. |
| 151 | + |
| 152 | +**Running** |
| 153 | + |
| 154 | +Eligible candidates can submit a pull request with a biography in this |
| 155 | +directory with their platform and intent to run. This statement is |
| 156 | +**limited to 300 words** and must follow the format of `firstnamelastname.md`. |
| 157 | +The word limit applies to the source markdown file and the [`hack/verify-steering-election.sh`] |
| 158 | +script can be used to check the word count. |
| 159 | + |
| 160 | +Please refer to the [2020 candidate bios] for examples. Biography statements are optional. |
| 161 | + |
| 162 | +Missed deadlines by the candidates will be addressed by steering on a per case basis to determine eligibility. |
| 163 | + |
| 164 | +**Campaigning** |
| 165 | + |
| 166 | +Please refer to the [Steering Committee Election Charter] and understand |
| 167 | +that we care deeply about [limiting corporate campaigning]. The election |
| 168 | +officers and members of the steering committee [pledge to recuse] themselves |
| 169 | +from any form of electioneering. |
| 170 | + |
| 171 | +You should be running as a "brand free" individual, based on your contribution |
| 172 | +to the project as a member of this community, outside of whatever corporate |
| 173 | +roles you may hold. |
| 174 | + |
| 175 | +## Voting Process |
| 176 | + |
| 177 | +Eligible voters will receive a ballot via email. If you are |
| 178 | +not on that list and feel you have worked on Kubernetes in a way that is NOT |
| 179 | +reflected in GitHub contributions, you can use the [voter exception form] to ask |
| 180 | +to participate in the election. |
| 181 | + |
| 182 | +Elections will be held using time-limited [Condorcet] ranking on [CIVS] |
| 183 | +using the [IRV method]. The top vote getters will be elected to the open |
| 184 | +seats. |
| 185 | + |
| 186 | +Employer diversity is encouraged, and thus maximal representation will be |
| 187 | +enforced as spelled out in the [Steering Committee Election Charter]. |
| 188 | + |
| 189 | +You will be ranking your choices of the candidates with an option for |
| 190 | +"no opinion". In the event of a tie, a coin will be flipped. |
| 191 | + |
| 192 | +The election will open for voting starting September XX via email and |
| 193 | +end three weeks after on October XX, 2021 at 00:00am UTC. You will receive |
| 194 | +an email to the address on file at the start of the election from "Kubernetes |
| 195 | +(CIVS Poll Supervisor) `<[email protected]>`, please add to the list of addresses |
| 196 | +you don't spam filter. Detailed voting instructions will be addressed in email |
| 197 | +and the CIVS polling page. Please note that email ballots might be unreliable, |
| 198 | +so you are encouraged to contact the election officials if you do not receive a |
| 199 | +ballot by September XX. |
| 200 | + |
| 201 | +If you do not receive your ballot, request a new one via the [Ballot Replacement Form]. |
| 202 | + |
| 203 | +### Officers |
| 204 | + |
| 205 | +The Steering Committee has selected the following people as [election officers]: |
| 206 | +- Name, GitHub handle, Affiliation |
| 207 | + |
| 208 | +Please direct any questions via email to <[email protected]>. |
| 209 | + |
| 210 | +### Decision |
| 211 | + |
| 212 | +- First, the results are privately announced to the incumbent Steering Committee |
| 213 | +members (who are not up for election) and all the candidates. |
| 214 | + |
| 215 | +- The newly elected body will be publicly announced in the monthly |
| 216 | +[public Steering Committee Meeting] on October XX, 2021. |
| 217 | + |
| 218 | +- Following the meeting, the raw voting results and winners will be published on the |
| 219 | +[Kubernetes Blog]. |
| 220 | + |
| 221 | +For more information, definitions, and/or detailed election process, please refer to |
| 222 | +the [Steering Committee Election Charter] |
| 223 | + |
| 224 | +## Nominees |
| 225 | + |
| 226 | +The nominee list is filled in by the Election Officers after all bios have been |
| 227 | +submitted. Please do not edit the following table. |
| 228 | + |
| 229 | + |
| 230 | +| Name | Organization/Company | GitHub | |
| 231 | +|:------------------------------------------:|:--------------------:|:----------------------------------------------------:| |
| 232 | +| [Jane Containerface](./biotemplate.md) | ExampleCo | [@github](https://github.com) | |
| 233 | + |
| 234 | +[Kubernetes Steering Committee]: https://github.com/kubernetes/steering |
| 235 | +[Steering Committee Charter]: https://github.com/kubernetes/steering/blob/master/charter.md |
| 236 | +[current steering committee backlog]: https://github.com/kubernetes/steering/projects/1 |
| 237 | +[governance meeting video]: https://www.youtube.com/watch?v=ltRKXLl0RaE&list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ&index=23 |
| 238 | + |
| 239 | +[Steering Committee Election Charter]: https://git.k8s.io/steering/elections.md |
| 240 | +[Eligibility for voting]: https://github.com/kubernetes/steering/blob/master/elections.md#eligibility-for-voting |
| 241 | +[Eligibility for candidacy]: https://github.com/kubernetes/steering/blob/master/elections.md#eligibility-for-candidacy |
| 242 | +[limiting corporate campaigning]: https://github.com/kubernetes/steering/blob/master/elections.md#limiting-corporate-campaigning |
| 243 | +[pledge to recuse]: https://github.com/kubernetes/steering/blob/master/elections.md#steering-committee-and-election-officer-recusal |
| 244 | + |
| 245 | +[Condorcet]: https://en.wikipedia.org/wiki/Condorcet_method |
| 246 | +[CIVS]: http://civs.cs.cornell.edu/ |
| 247 | +[IRV method]: https://www.daneckam.com/?p=374 |
| 248 | + |
| 249 | +[`hack/verify-steering-election.sh`]: https://git.k8s.io/community/hack/verify-steering-election.sh |
| 250 | +[2020 candidate bios]: https://github.com/kubernetes/community/tree/master/events/elections/2020 |
| 251 | +[election officers]: https://github.com/kubernetes/community/tree/master/events/elections#election-officers |
| 252 | +[Kubernetes Community Meeting]: https://github.com/kubernetes/community/blob/master/events/community-meeting.md |
| 253 | +[Kubernetes Blog]: https://kubernetes.io/blog/ |
| 254 | +[eligible voters]: ./voters.md |
| 255 | +[voter exception form]: https://www.surveymonkey.com/r/k8s-sc-election-2021 |
| 256 | +[voters.md]: ./voters.md |
| 257 | + |
| 258 | +[devstats-sql]: https://github.com/cncf/devstats/blob/master/metrics/shared/project_developer_stats.sql |
| 259 | +[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 |
| 260 | +[Org Members]: https://github.com/kubernetes/community/blob/master/community-membership.md |
| 261 | +[Ballot Replacement Form]: https://www.surveymonkey.com/r/kubernetes-sc-2021-ballot |
0 commit comments