[python-committers] Identify roles of the BDFL

Victor Stinner vstinner at redhat.com
Fri Jul 13 12:36:18 EDT 2018


2018-07-13 12:40 GMT+02:00 Victor Stinner <vstinner at redhat.com>:
> * Take a decision/PEP. For a Python change (usually a PEP), when they
> are two good solutions and we fail to find a consensus, the BDFL
> chooses his favorite solution. Usually, when the BDFL pronounces,
> everybody has to follow his choice.
>
> * PEP. The BDFL takes the final decision on a PEP. Usually, the BDFL
> final decision only comes after weeks of discussions and when there is
> already a kind of consensus (usually in favor of the PEP, otherwise
> the PEP is abandonned earlier). For example, python-ideas list already
> works well to reject ideas which should obviously be rejected for
> whatever reason. Sometimes when the consensus is to reject the PEP,
> the BDFL officially rejects it.

Let me elaborate this part. One quality of the BDFL (Guido) is to take
unpopular decision when he knows that it is the right choice.

Some examples:

* PEP 572: assignment expressions.

* The PEP 446 "Make newly created file descriptors non-inheritable"
was supposed to break the world... Well, it occurred and almost nobody
noticed this Python 3.4 change... I like what Guido wrote on my PEP
with humor: "We are aware of the code breakage this is likely to
cause, and doing it anyway for the good of mankind." :-)

* Yury mentioned async/await keywords.

* Add your own example.

Well, maybe this "responsibility" goes against my idea of voting on
PEPs :-) ("popularity contest")

Victor


More information about the python-committers mailing list