Python Steering Council 2021 Retrospective
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
- 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.
- Tools and Links:
- Python Steering Council – PEP 13 defines their responsibilities.
- Tools and Links:
- 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.
- Tools and Links:
- python.org/psf – Official PSF site.
- Tools and Links:
- 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:
- CPython GitHub – Where the core development happens.
- Tools and Links:
- 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.
- Tools and Links:
- PSF Sponsorship Information – How Python is funded.
- Tools and Links:
- 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.
- Tools and Links:
- 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. - 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.
- 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.
- Tools and Links:
- 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.
- 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.
- Python for Absolute Beginners Ideal for brand-new programmers. Learn Python’s foundations and basic constructs.
- Rock Solid Python with Python Typing If you want to explore how modern Python projects (like FastAPI) leverage type hints.
- Python Memory Management and Tips Good if you’re curious about the deeper workings of CPython and how the GIL fits into memory management.
- Modern APIs with FastAPI and Python Recommended for anyone curious about building next-gen web services in Python and understanding frameworks like FastAPI (mentioned during the council’s discussion).
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
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