Python, one of the most popular
(and often lucrative
) languages around, is getting a new governance model. Instead of one leader, it will now have a five-person steering committee. Settling on a steering committee
came after Python creator and leader Guido van Rossum decided his “Benevolent Dictator For Life” mantle was no longer suitable. Such titles are fun when you’re just starting out, but ring hollow when the thing you created is one of the most widely used open-source languages on Earth; in a certain way, aren't we all
benevolent dictators of Python? Anyway, here's how the steering committee impacts you, the Python developer:
Red (The Bad Stuff)
- Python development will likely move much slower.
- Changes may be harder to implement.
- New steering committee members must be nominated by a ‘core’ team member. There are no term limits (benevolent dictators, indeed!).
Green (The Good Stuff)
- New voices in governance may have immediate, positive impact on Python's growth.
- Committee seems committed to governance, not an agenda (for now).
- Aligns Python’s governance model with other open source languages.
Refactor (Our Take on Python)
It’s an interesting time for a move to governance. Python is a battle tested, industry standard language
. It’s a welcome move. As van Rossum steps down from leadership, it’s nice that Python will have a governing body rather than a new figurehead. Core team members must meet a set of criteria, and the new bylaws allow for a vote of no confidence on a single member or the entire committee. Unfortunately, those voting powers are limited to the core team, which means the snake would have to start eating its tail before anything significant happens (pun intended). Still, we like the committee’s stated goals: Be boring, be simple, be comprehensive, and be “flexible and light-weight.” Its aim is to steer larger issues, not dictate each iterative decision. “The council should look for ways to use these powers as little as possible,” write committee members Nathaniel Smith and Donald Stufft in announcing
the change in governance. “Instead of voting, it's better to seek consensus.” If this all sounds familiar, it’s because this is roughly how Django is handled. The ‘Django Project
’ is what the new Python Steering Council Model was designed after, and while the stated goals and principles of Python are far more verbose (please feel free to make jokes about how many lines Python needed versus Django; they’re all very good jokes and we enjoy
them), the two are essentially the same. Moving slower won’t harm Python. Its purpose and use-cases are established. If anything, we like the move to a committee as Python becomes more useful and directly involved with machine learning. This is not to say we think Python the language can help or hurt the overall development of machine learning, but we’re still not sure where the ethical lines are with robots, and we’d rather more human decision-makers have seats at the table.