PEP: 8105
Title: 2024 Term Steering Council election
Author: Ee Durbin <ee@python.org>
Sponsor: Thomas Wouters <thomas@python.org>
Status: Final
Type: Informational
Topic: Governance
Created: 23-Oct-2023


Abstract
========

This document describes the schedule and other details of the
2023 election for the Python steering council, as specified in
:pep:`13`. This is the steering council election for the 2024 term
(i.e. Python 3.13).


Election Administration
=======================

The steering council appointed the
`Python Software Foundation <https://www.python.org/psf-landing/>`__
Director of Infrastructure, Ee Durbin, to administer the election.


Schedule
========

There was a two-week nomination period, followed by a two-week
vote.

The nomination period was: November 9, 2023 through `November 22, 2023 AoE
<https://www.timeanddate.com/worldclock/fixedtime.html?msg=Python+Steering+Council+nominations+close&iso=20231123T00&p1=3399>`_ [#note-aoe]_.

The voting period was: November 27, 2023 through `December 11, 2023 AoE
<https://www.timeanddate.com/worldclock/fixedtime.html?msg=Python+Steering+Council+voting+closes&iso=20231212T00&p1=3399>`_ [#note-aoe]_.


Candidates
==========

Candidates must be nominated by a core team member. If the candidate
is a core team member, they may nominate themselves.

Nominees (in alphabetical order by first name):

- `Barry Warsaw <https://discuss.python.org/t/steering-council-nomination-barry-warsaw-2024-term/39380>`_
- `Donghee Na <https://discuss.python.org/t/steering-council-nomination-donghee-na-2024-term/39280>`_
- `Emily Morehouse <https://discuss.python.org/t/steering-council-nomination-emily-morehouse-2024-term/39288/1>`_
- `Gregory P. Smith <https://discuss.python.org/t/steering-council-nomination-gregory-p-smith-2024-term/39381>`_
- `Mariatta <https://discuss.python.org/t/steering-council-nomination-mariatta-2024-term/39396>`_
- `Pablo Galindo Salgado <https://discuss.python.org/t/steering-council-nomination-pablo-galindo-salgado-2024-term/39237>`_
- `Thomas Wouters <https://discuss.python.org/t/steering-council-nomination-thomas-wouters-2024-term/39215>`_
- `Victor Stinner <https://discuss.python.org/t/steering-council-nomination-victor-stinner-2024-term/39349>`_

Withdrawn nominations:

- None

Voter Roll
==========

All active Python core team members are eligible to vote. Active status
is determined as :pep:`described in PEP 13 <13#membership>`
and implemented via the software at `python/voters <https://github.com/python/voters>`_
[#note-voters]_.

Ballots were be distributed based on the the `Python Voter Roll
<https://github.com/python/voters/blob/master/voter-files/>`_ [#note-voters]_
for this election.

While this file is not public as it contains private email addresses,
the `Complete Voter Roll`_ is available with a list of all eligible voters by name.

Election Implementation
=======================

The election was be conducted using the `Helios Voting Service
<https://heliosvoting.org>`__.


Configuration
-------------

Short name: ``2024-python-steering-council``

Name: ``2024 Python Steering Council Election``

Description: ``Election for the Python steering council, as specified in PEP 13. This is steering council election for the 2024 term.``

type: ``Election``

Use voter aliases: ``[X]``

Randomize answer order: ``[X]``

Private: ``[X]``

Help Email Address: ``psf-election@python.org``

Voting starts at: ``November 27, 2023 12:00 UTC``

Voting ends at: ``December 11, 2023 12:00 UTC``

This will create an election in which:

* Voting is not open to the public, only those on the `Voter Roll`_ may
  participate. Ballots will be emailed when voting starts.
* Candidates are presented in random order, to help avoid bias.
* Voter identities and ballots are protected against cryptographic advances.

Questions
---------

Question 1
~~~~~~~~~~

Select between ``0`` and ``- (approval)`` answers. Result Type: ``absolute``

Question: ``Select candidates for the Python Steering Council``

Answer #1 - #N: ``Candidates from Candidates_ Section``


Extended Election Implementation
================================

Due to a mismatch between announced timeline and the initial election implementation
an extended election is held to provide the additional day for voters who were disenfranchised
by the initial election.

Results from the initial election were combined with the results from the extended election.
Only voters who **DID NOT** cast ballots in the initial election were able to vote.

The election was be conducted using the `Helios Voting Service
<https://heliosvoting.org>`__.


Configuration
-------------

Short name: ``2024-python-steering-council-extension``

Name: ``2024 Python Steering Council Election Extension``

Description: ``Election for the Python steering council, as specified in PEP 13. This is steering council election for the 2024 term.``

type: ``Election``

Use voter aliases: ``[X]``

Randomize answer order: ``[X]``

Private: ``[X]``

Help Email Address: ``psf-election@python.org``

Voting starts at: ``December 11, 2023 12:00 UTC``

Voting ends at: ``December 12, 2023 12:00 UTC``

This will create an election in which:

* Voting is not open to the public, only those on the `Voter Roll`_ may
  participate. Ballots will be emailed when voting starts.
* Candidates are presented in random order, to help avoid bias.
* Voter identities and ballots are protected against cryptographic advances.

Questions
---------

Question 1
~~~~~~~~~~

Select between ``0`` and ``- (approval)`` answers. Result Type: ``absolute``

Question: ``Select candidates for the Python Steering Council``

Answer #1 - #N: ``Candidates from Candidates_ Section``


Results
=======

Of 87 eligible voters, 68 cast ballots.

The top five vote-getters are:

* Pablo Galindo Salgado
* Gregory P. Smith
* Barry Warsaw
* Emily Morehouse
* Thomas Wouters

No conflict of interest as defined in :pep:`13` were observed.

The full vote counts are as follows:

**Initial Election**

56 of 87 eligible voters cast ballots.

+-----------------------+----------------+
| Candidate             | Votes Received |
+=======================+================+
| Barry Warsaw          | 35             |
+-----------------------+----------------+
| Donghee Na            | 27             |
+-----------------------+----------------+
| Emily Morehouse       | 38             |
+-----------------------+----------------+
| Gregory P. Smith      | 42             |
+-----------------------+----------------+
| Mariatta              | 25             |
+-----------------------+----------------+
| Pablo Galindo Salgado | 48             |
+-----------------------+----------------+
| Thomas Wouters        | 30             |
+-----------------------+----------------+
| Victor Stinner        | 27             |
+-----------------------+----------------+

**Election Extension**

12 of 31 eligible voters disenfranchised in the initial election cast ballots.

+-----------------------+----------------+
| Candidate             | Votes Received |
+=======================+================+
| Barry Warsaw          | 8              |
+-----------------------+----------------+
| Donghee Na            | 5              |
+-----------------------+----------------+
| Emily Morehouse       | 8              |
+-----------------------+----------------+
| Gregory P. Smith      | 10             |
+-----------------------+----------------+
| Mariatta              | 5              |
+-----------------------+----------------+
| Pablo Galindo Salgado | 12             |
+-----------------------+----------------+
| Thomas Wouters        | 10             |
+-----------------------+----------------+
| Victor Stinner        | 8              |
+-----------------------+----------------+

**Combined**

68 of 87 eligible voters cast ballots

+-----------------------+----------------+
| Candidate             | Votes Received |
+=======================+================+
| Barry Warsaw          | **43**         |
+-----------------------+----------------+
| Donghee Na            | **32**         |
+-----------------------+----------------+
| Emily Morehouse       | **46**         |
+-----------------------+----------------+
| Gregory P. Smith      | **52**         |
+-----------------------+----------------+
| Mariatta              | **30**         |
+-----------------------+----------------+
| Pablo Galindo Salgado | **60**         |
+-----------------------+----------------+
| Thomas Wouters        | **40**         |
+-----------------------+----------------+
| Victor Stinner        | **35**         |
+-----------------------+----------------+


Copyright
=========

This document has been placed in the public domain.


Complete Voter Roll
===================

Active Python core developers
-----------------------------

.. code-block:: text

    Adam Turner
    Alex Gaynor
    Alex Waygood
    Alexander Belopolsky
    Alyssa Coghlan
    Ammar Askar
    Andrew Svetlov
    Antoine Pitrou
    Barney Gale
    Barry Warsaw
    Batuhan Taskaya
    Benjamin Peterson
    Berker Peksağ
    Brandt Bucher
    Brett Cannon
    Brian Curtin
    C.A.M. Gerlach
    Carl Friedrich Bolz-Tereick
    Carl Meyer
    Carol Willing
    Cheryl Sabella
    Chris Withers
    Christian Heimes
    Dennis Sweeney
    Dino Viehland
    Donghee Na
    Emily Morehouse
    Éric Araujo
    Eric Snow
    Eric V. Smith
    Erlend Egeberg Aasland
    Ethan Furman
    Ezio Melotti
    Facundo Batista
    Filipe Laíns
    Georg Brandl
    Giampaolo Rodolà
    Gregory P. Smith
    Guido van Rossum
    Hugo van Kemenade
    Hynek Schlawack
    Inada Naoki
    Irit Katriel
    Ivan Levkivskyi
    Jason R. Coombs
    Jelle Zijlstra
    Jeremy Kloth
    Joannah Nanjekye
    Julien Palard
    Karthikeyan Singaravelan
    Ken Jin
    Kumar Aditya
    Kurt B. Kaiser
    Kushal Das
    Larry Hastings
    Łukasz Langa
    Lysandros Nikolaou
    Marc-André Lemburg
    Mariatta
    Mark Dickinson
    Mark Shannon
    Nathaniel J. Smith
    Ned Deily
    Neil Schemenauer
    Pablo Galindo
    Paul Ganssle
    Paul Moore
    Petr Viktorin
    Pradyun Gedam
    R. David Murray
    Raymond Hettinger
    Ronald Oussoren
    Senthil Kumaran
    Serhiy Storchaka
    Shantanu Jain
    Stefan Behnel
    Stéphane Wirtel
    Steve Dower
    Tal Einat
    Terry Jan Reedy
    Thomas Wouters
    Tim Golden
    Tim Peters
    Victor Stinner
    Vinay Sajip
    Yury Selivanov
    Zachary Ware

.. [#note-voters] This repository is private and accessible only to Python Core
   Developers, administrators, and Python Software Foundation Staff as it
   contains personal email addresses.
.. [#note-aoe] AoE: `Anywhere on Earth <https://www.ieee802.org/16/aoe.html>`_.
