Learn Python with Talk Python's 270 hours of courses

Python Steering Council 2021 Retrospective

Episode #350, published Wed, Jan 26, 2022, recorded Tue, Dec 14, 2021

For 30 years, Python was overseen by Guido van Rossum since he created and released it around in 1990. When he retired in 2018 he left the creation of the new governing body up to the core developers. After a few stressful months, they concept of the steering council became the way forward.

On this episode, I welcome the outgoing steering council to give us a look back and how this past year has gone. We welcome Barry Warsaw, Carol Willing, Brett Cannon, Pablo Galindo Salgado, and Thomas Wouters to the show. They are going to give us a rundown on of the important decisions for 2021.

Episode Deep Dive

Guests Introduction and Background

Barry Warsaw

  • Long-time Python core developer since 1994.
  • Works at LinkedIn on Python tooling and documentation-related projects.
  • Served on the Python Steering Council since its inception.

Thomas Wouters

  • Python core developer since 2001.
  • Works at Google on deploying Python internally and supporting large-scale Python systems.
  • Has served on both the Steering Council and the PSF Board of Directors (including interim general manager duties).

Carol Willing

  • Founding Python Steering Council member (served from the start and is rolling off as of this term).
  • Works as VP of Learning at Notable, focusing on data science and open-science collaboration.
  • Previously involved in Project Jupyter, core Python, and the PSF Board.

Brett Cannon

  • Steering Council member from the start.
  • Works at Microsoft, managing the team behind the Python extension for Visual Studio Code.
  • One of the key people responsible for migrations like Python’s move to GitHub.

Pablo Galindo

  • First time serving on the Steering Council in this (outgoing) term.
  • Works at Bloomberg on Python infrastructure and tooling (profilers, debuggers, and more).
  • Release manager for Python 3.10 and 3.11, focusing on error messages, parsing, and garbage collection.

What to Know If You're New to Python

If you’re listening to this retrospective on the Python Steering Council and just getting started with Python, here are a few points that will help you follow along:

  • Python’s Governance: Python used to be led by its creator (BDFL), now it’s overseen by a Steering Council focused on consensus and community.
  • Core Developer Work: Updating or fixing Python involves code, documentation, and decisions on new features. Volunteers and paid roles (like the Developer in Residence) help make it happen.
  • Annual Python Release Cycle: The language adds features, fixes, and improvements each year. The conversation you’ll hear about big decisions (e.g., pattern matching) is part of these annual updates.
  • How Python Evolves: The Steering Council weighs community input, new proposals, and sometimes reverts changes if they conflict with user needs.

Key Points and Takeaways

  1. Transition from BDFL to Steering Council The Python community moved from Guido van Rossum’s “benevolent dictator for life” model to a five-person Steering Council in 2019. This Council focuses on consensus-based decisions rather than single-person authority. They ensure Python evolves while preserving its inclusive, community-driven spirit.
  2. Role of the Steering Council vs. PSF Board The Steering Council decides on technical directions and governance of the language (CPython), whereas the Python Software Foundation (PSF) Board handles community, funding, and legal/trademark matters. They remain separate but collaborate on initiatives such as hiring the Developer in Residence.
  3. Annual Elections and Term Limits The Steering Council is elected annually by core developers, with the election triggered after each major Python release. This cycle ensures fresh perspectives while maintaining continuity—there’s a handover meeting so newly elected members can learn from the outgoing group.
    • Tools and Links:
  4. Developer in Residence Lukasz Langa (also referred to as Lukash in the conversation) holds this newly created full-time role funded by sponsors to handle maintenance and triage issues in CPython. This position allows for a single point of contact to manage bug queues, coordinate releases, and streamline tasks.
  5. Pattern Matching Implementation One notable language feature introduced in Python 3.10 was pattern matching. Although widely embraced, the Steering Council requested multiple revisions to ensure it balanced power and simplicity. This iterative review process highlights how new Python features receive thorough community scrutiny.
  6. Handling Large Community Needs (Example: from __future__ import annotations) The Council had to address potential runtime-breaking changes for frameworks like FastAPI and Pydantic. They reverted default string-based annotations in 3.10 to avoid disrupting libraries depending on the older behavior and to gather more input from the community before making it permanent.
  7. Maintaining Backward Compatibility While Evolving With a global user base across scientific, educational, and enterprise domains, Python’s new features must be carefully balanced so as not to alienate or break critical workflows. The Steering Council emphasizes incremental changes and wide communication to protect that balance.
  8. Release Management Challenges Pablo Galindo discussed the complexity of being a Python release manager. It involves orchestrating major features, handling last-minute PRs, and coordinating extensive Continuous Integration (CI) across multiple platforms. Lukasz now assists with these tasks, reducing bottlenecks.
  9. Python’s Future: No GIL and Faster CPython Sam Gross’s “nogil” experiment and the Faster CPython initiative (spearheaded by Guido van Rossum at Microsoft) point to possible performance boosts. The Council and community remain cautious about breaking C-extensions while also speeding up Python, indicating multi-year, incremental progress.
  10. Community-Driven Development & Communication Throughout the episode, the guests reiterated that Python thrives because of community input, global outreach (PyCon, user groups), and inclusive decision-making. Steering Council members frequently emphasize open communication channels to keep Python’s momentum strong.
  • Tools and Links:
    • PyCon – Largest annual Python conference.

Interesting Quotes and Stories

  • Carol Willing on Community Turnover “Much like I did with the Python Software Foundation, I feel strongly that turnover is good. It’s a great slate of people running.”

    Reflects Carol’s view that fresh perspectives and new voices keep Python governance healthy.

  • Brett Cannon on Hard Decisions “Anything conduct related is always hard… that’s the tough part of the Steering Council role.”

    Shows how the Council must handle not just technical but also community and conduct matters.

  • Pablo Galindo on Releasing Python “It’s a multi-hour process… you have to coordinate big merges, final checks. Everyone is waiting on you.”

    Stresses the high-stakes complexity of managing Python’s releases.


Key Definitions and Terms

  • BDFL: Stands for “Benevolent Dictator for Life,” referring to Guido van Rossum’s former single-leader approach.
  • PEP: Python Enhancement Proposal, the process for proposing major changes or features in Python.
  • PSF: The Python Software Foundation, which manages Python’s legal, financial, and trademark aspects.
  • Steering Council: A five-person elected body that governs Python’s technical direction and final decisions.
  • No-GIL: A proposal (mainly by Sam Gross) to remove or replace Python’s Global Interpreter Lock to enable true parallelism with threads.

Learning Resources

Below are some curated courses from Talk Python Training to help you learn more deeply.


Overall Takeaway

This 2021 retrospective of the Python Steering Council underscores that Python’s success hinges on both technical and community-focused efforts. The council members and the PSF collaborate to ensure that changes like new language features or governance structures serve Python’s vast user base—from educators to large enterprises—without losing sight of the core spirit of openness and clarity. By balancing fresh ideas with measured, consensus-based decisions, they continue to guide Python forward in a sustainable and innovative way.

Links from the show

Guests / Steering Council Members:

Barry Warsaw: @pumpichank
Carol Willing: @WillingCarol
Brett Cannon: @brettsky
Pablo Galindo Salgado: @pyblogsal
Thomas Wouters: @Yhg1s


Python Steering Council: python.org
Meet the Python Developer in Residence: Lukasz Langa episode: talkpython.fm/331

@PSF joke thread: twitter.com

Do you even need loops #PythonShort video: youtube.com
Episode transcripts: talkpython.fm

--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy

Talk Python's Mastodon Michael Kennedy's Mastodon