On 21 July 2018 at 04:30, Donald Stufft <donald@stufft.io> wrote:
On Jul 19, 2018, at 7:47 PM, Victor Stinner <vstinner@redhat.com> wrote:
It seems that the main question for a new governance is how to take a decision on PEPs (accept or reject them with some variants like Deferred). I read that core developers are unable to make a decision themselves (fail to reach a consensus) and that letting core developers decide would make Python "inconsistent" (as if only a single BDFL is able to keep Python consistent). I also read that the BDFL is required to make unpopular decisions to enhance Python.
I think the core difference behind all of the proposals, when you get down to brass tacks, will be the vision for where the langauge goes. There are independently good ideas that maybe should not be accepted, because they compromise the vision for the worse, or ideas that seem poor on the tin but that once they get added they mesh well with the overall language.
The further you scale up the number of people directly deciding the direction of the language, the more likely you will find inconsistency. No two people have the same design sense, and so if you ask two people you're likely to get at least two answers.
One of the things that puzzles me about the "Who will set the direction of the language if Guido doesn't do it?" concern is that from my perspective, this is something that Guido mostly *didn't* do (and I'm OK with that). Python has never had a clear road map in the 15+ years I've been part of the core development community - it's just had assorted projects that different individuals have driven to varying levels of completion based on the strength of their convictions about the topic, and the time they've had available to devote to driving it (along with a few "definitely not" issues written down in the form of rejected PEPs).
The projects that Guido has been directly involved in driving have been more ambitious in scope than most other folks would be prepared to pursue (e.g. Py3k, asyncio, type hinting), but there have been significant changes he accepted that were originated by others (such as f-strings and assignment expressions), as well as significant topics where he largely delegated decision making to others (such as Unicode handling, project dependency management, the import system, and scientific computing).
If I were to write an article like https://www.curiousefficiency.org/posts/2011/08/of-python-and-road-maps-or-l... today, the specific topics I'd mention would be different, but the overall tone would be similar.
And I think that's inevitable in an environment driven primarily by volunteer and sponsored development: the time to pursue particular activities has to come from somewhere, and that's either going to be the intrinsic motivations of individuals donating their own time, or else the extrinsic motivation of folks pursuing paid problem solving on behalf of an organisation.
Cheers, Nick.
-- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia