The Python Software Foundation has settled on a new governance model for the programming language Python. The decision to come up with a new model was made after Python creator and chief Guido van Rossum stepped down as the BDFL.
The new governance model will rely on a five-person steering council to establish standard practices for introducing new features to the Python programming language. Based on tested methods, the proposal was designed to be “boring,” comprehensive, flexible and lightweight, the steering council model document explained.
“We’re not experts in governance, and we don’t think Python is a good place to experiment with new and untried governance models,” software developers Nathaniel Smith and Donald Stufft explained in the Python documentation. “So this proposal sticks to mature, well-known, previously tested processes as much as possible. The high-level approach of a mostly-hands-off council is arguably the most common across large successful F/OSS projects, and low-level details are derived directly from Django’s governance.”
The steering council will serve as the “court of final appeal” for changes to the language and will have broad authority over the decision-making process, including the ability to accept or reject PEPs (Python Enhancement Proposals) (such as the one used to introduce this governance model), enforce and update the project’s code of conduct, create subcommittees and manage project assets. But the intended goal of the council is to take a more hands-off and occasional approach to flexing its powers, Smith and Stufft explained.
“The council should look for ways to use these powers as little as possible,” Smith and Stufft wrote. “Instead of voting, it’s better to seek consensus. Instead of ruling on individual PEPs, it’s better to define a standard process for PEP decision making (for example, by accepting one of the other 801x series of PEPs). It’s better to establish a Code of Conduct committee than to rule on individual cases. And so on. To use its powers, the council votes. Every council member must either vote or explicitly abstain. Members with conflicts of interest on a particular vote must abstain. Passing requires support from a majority of non-abstaining council members.”
The mandate of the steering council is to provide an accessible, maintainable, formalized method of introducing changes, based on “the general philosophy that it’s better to split up large changes into a series of small changes that can be reviewed independently: instead of trying to do everything in one PEP, we focus on providing a minimal-but-solid foundation for further governance decisions.”
More information about the new governance model is available here.