3.3.4. Governance#
Python’s governance model ensures that the language continues to evolve in a stable, transparent, and community-driven manner. Initially, Python’s development was overseen solely by its creator, Guido van Rossum, who served as the Benevolent Dictator for Life (BDFL). In 2018, van Rossum stepped down from this role, prompting the transition to a more democratic and structured governance model to guide Python’s future development.
Python now operates under a formalized Steering Council model, introduced by PEP 8016. The Steering Council is composed of five members elected annually by the Python core development team. This council has the authority to make decisions about Python’s direction, resolve disputes, and manage contributions. Its decentralized structure ensures broad representation and encourages open discussion within the community.
Python’s governance also relies on collaborative working groups, such as the Python Packaging Authority (PyPA) and the Security Response Team, which manage specific areas of the language’s ecosystem. These groups are tasked with maintaining Python’s core tools, security, packaging standards, and community outreach initiatives.
Governance is further supported by Python Enhancement Proposals (PEPs), which serve as the formal process for introducing new features, improving existing functionality, and evolving Python’s ecosystem. This process ensures that changes are well-documented, thoroughly discussed, and aligned with the community’s needs.
3.3.4.1. Python Software Foundation#
The Python Software Foundation (PSF) is a non-profit organization responsible for advancing the Python programming language. The PSF manages the intellectual property rights of Python, organizes community events such as PyCon, and provides financial support for Python-related projects and initiatives. It fosters an inclusive, diverse community and promotes Python’s global adoption through grants, sponsorships, and outreach programs.
3.3.4.3. Python Enhancement Proposals#
Python Enhancement Proposals (PEPs) are the primary mechanism for proposing changes, new features, improvements, and processes within the Python language and its ecosystem. PEPs serve as formal reference documents for Python’s development, providing a framework for discussion and decision-making. They are reviewed and approved by Python’s core developers and form a cornerstone of Python’s open development model. PEPs are categorized as:
Standards Track: Propose new features or implementation details for Python.
Informational: Provide general guidelines and information.
Process: Suggest changes to Python’s development processes or governance.
Notable examples include PEP 8 (style guide for Python code), PEP 20 (The Zen of Python), and PEP 440 (Version Identification and Dependency Specification).