
Python gets a new governance model - OrangeTux
https://lwn.net/SubscriberLink/775105/5db16cfe82e78dc3/
======
krn
In my opinion, Debian has the best open-source governance model out of all the
projects without a BFDL. Because it basically emulates it by appointing a
single person to be responsible for the entire vision, yet making him still
accountable to others[1]. Thus the horror of the "design by committee"[2] is
avoided.

[1] [https://www.debian.org/devel/leader](https://www.debian.org/devel/leader)

[2]
[https://en.wikipedia.org/wiki/Design_by_committee](https://en.wikipedia.org/wiki/Design_by_committee)

~~~
AstralStorm
And yet they take in many of RedHat solutions and decisions... mostly due to
lack of manpower for the alternatives I suppose.

Design by committee is avoided by using designs of someone else.

~~~
ThePhysicist
I think there's nothing wrong with re-using good solutions that others have
worked out instead of building your own just for the sake of being different.
That's the open-source idea even, no? Freely reuse and build upon the work of
others, so that we don't have to reinvent things again and again.

~~~
AnIdiotOnTheNet
And yet open source is constantly reinventing the same things over and over
again anyway.

I think parent's complaint is that Debian's model has failed to produce good
solutions of its own, and while that isn't necessarily a requirement, it does
speak to potential limitations of the model

~~~
krn
> it does speak to potential limitations of the model

The parent compared a group of volunteers with the largest open-source company
in the world, which is a part S&P 500. No other Linux distribution has a
comparable amount of resources. Even Canonical is following the RedHat's lead
(systemd, Wayland, PulseAudio).

~~~
iosonofuturista
So by your logic, Microsoft and Apple make better OSes than Linux by several
orders of magnitude.

~~~
throwawaymath
In terms of out of the box stability and support? Yes, absolutely.

The power and flexibility of Linux comes with the cost of a much lower floor
for stability than proprietary operating systems. You can make a rock solid
system using Linux, but that requires nontrivial effort and knowledge. I have
yet to see an issue on my personal Windows and macOS machines that approached
e.g. package management hell on Linux, in terms of complexity and frustration.

For examples of what open source projects look like when they have the backing
and resources of large companies, look at LLVM versus GCC, BoringSSL versus
OpenSSL and CentOS versus Ubuntu. "Better" would be too broad a description,
but if you qualify it to the narrow scope of stability, then yeah I think
proprietary resources generally come out ahead. I also don't think that is a
controversial observation.

~~~
uep
I agree that preinstalled OSX and Windows offer a better end-user experience.
I disagree with some of your other statements though.

> In terms of out of the box stability and support?

How many devices have you used that came with Linux "out of the box?"

> package management hell on Linux

This is actually amusing to me. Windows has had this problem for a long time,
they call it DLL Hell. Their solution was to duplicate everything and also to
have multiple libcs that are incompatible with each other. Developers seem to
forget this exists until they actually try to ship something on Windows.
Nowadays, companies will just ship all of their dependencies they need.

Reasonably, developers are reticent to do this on open-source platforms, but
this is what results in package friction. Semantic versioning would also fix
this, but it's unrealistic to think we could get the tens of thousands of
packages in a distribution to follow this. I personally don't think Snap or
Flatpack is the answer here either, but Nix is.

Sidenote, I'm curious how you got into "package hell." I generally think
things from outside the distro-provided stuff should be installed into /opt.
Would you install things into System32 on Windows? My guess is that you either
added an additional repo, or you installed a packaged generated by some open
source code outside of any repos.

------
chrisseaton
Councils, committees, multiple obtuse voting systems, governance documents,
'courts' of appeal... Why are they so keen to construct such a grim
bureaucracy for themselves?

~~~
jetrink
The alternative to explicit rules, hierarchies and power structures usually
isn't harmonious self-organization; it is unspoken rules, implicit hierarchies
and hidden power structures.

~~~
chrisseaton
I think a new BFDL would be a worse-is-better solution than all this play-
government formality, to be honest. It seems to be an effective system for
many languages, including Python in the past.

~~~
jacobian
Hi, former BDFL here. It's a crappy job. A crappy, unpaid job. I can't think
of a single qualified person in the Python community who'd want the gig. (I
can think of several unqualified people who would, and that's part of the
problem too.)

~~~
gonational
TBH, I had kind of wished that one of you from the Django core would take the
reigns next (preferably, you), as a BDFL, since Django was it an extremely
well-run project, especially under your leadership.

I believe an open-source project is best run as some form of an oligarchy, but
with democratic processes for gaining ideas and feedback.

In my opinion, this kind of shift towards complicated government structures is
the end of high efficiency in open-source. The thing that makes many open-
source projects so great, other than being open, is that they don’t have a
burdensome corporate structure breathing down their necks; so they’re able to
turn and burn on projects; they don’t fall prey to sunk cost fallacy as often
(thinking back to the efforts to integrate Django Channels that were
sidelined, or back further to the efforts at GSOC by some developer, 2 years
in a row, to add composite key support, which were also sidelined - futile
like this turn into disastrous sunk cost slow train wrecks in corporations,
but instead teach us what it is that we don’t want in open-source projects);
and only the carrot is in play, for the most part, no stick.

------
airstrike
I find it fascinating that programmers like to discuss governance at such
great lengths without any reference to the vast knowledge of Political Theory
that lies at their fingertips.

At the end of the day, I suppose this is simply yet another form of NIH

~~~
village-idiot
I think it goes beyond NIH, although NIH certainly part of the problem.

I think the moment political theory is mentioned, the response is basically
that politics are gross and we should do better than that. This appears to
stem from the idea that politics and all the negative aspects of it stem from
some location other than people haggling over limited resources. This thought
process is both ridiculously naive and a highly ineffective way to go about
running a community.

This thought process is not unique to engineering. You see it all the time in
various utopian projects on both the left and the right. The idea that you can
escape the grossness of political processes to a land of total freedom from
capital/tyranny (left & right respectively) is extremely popular, and
extremely silly. Time and time again we see these movements immediately
recreate the problems they decry because the problem was people all along.

~~~
claudiawerner
>all the negative aspects of it stem from some location other than people
haggling over limited resources.

This only serves to express your view (or rather, ideology) that we're living
in a post-ideological world in which battles are no longer fought over beliefs
but only material access to resources. This is only valid as a pretty bad
caricature of Marxism, in fact.

>to a land of total freedom from capital/tyranny (left & right respectively)

The left not only opposes capital but tyranny too. If you've read any leftist
works after the year 1920 or so you'd know that most of them deal with various
'gross' ideas.

>because the problem was people all along.

No. The work in political philosophy isn't only to criticise our systems we
currently have, it's to explain how these systems arise out of individuals and
perpetuate themselves. Of course the problem was "people all along" \- but
people also have a habit of conjuring systems bigger than themselves[0].
Societies change people but people also change society[1].

The very notion of utopia has been criticised on the left, in particularly of
course in the light of the Soviet experiment. What you're saying seems to
imply we must abandon (i) any and every plan towards a better society (ii) any
superindividual critique of totality, because both are doomed in failure due
to the human condition. This is known as the 'human nature' argument against
social projects and it's not very convincing.

[0] "Modern bourgeois society with its relations of production, of exchange,
and of property, a society that has conjured up such gigantic means of
production and of exchange, is like the sorcerer, who is no longer able to
control the powers of the nether world whom he has called up by his spells."
(Karl Marx, The Communist Manifesto)

[1] "The materialist doctrine that men are products of circumstances and
upbringing, and that, therefore, changed men are products of changed
circumstances and changed upbringing, forgets that it is men who change
circumstances and that the educator must himself be educated. Hence this
doctrine is bound to divide society into two parts, one of which is superior
to society. The coincidence of the changing of circumstances and of human
activity or self-change [Selbstveränderung] can be conceived and rationally
understood only as revolutionary practice." (Karl Marx, Theses on Feuerbach)

~~~
village-idiot
> This only serves to express your view (or rather, ideology) that we're
> living in a post-ideological world in which battles are no longer fought
> over beliefs but only material access to resources.

I said no such thing. I also note the use of ideology as a subtle dig, as if
I’m some extremist.

> This is only valid as a pretty bad caricature of Marxism, in fact.

The idea that my post was anti-Marxist exists only in your own head.

> The left not only opposes capital but tyranny too.

I know this is probably shocking, but a one sentence summary wasn’t intended
to be a complete explanation for an entire system of political thought.

> If you've read any leftist works after the year 1920

I’m not sure where accusing someone of being poorly read is an acceptable
debate tactic, but it’s not one here. Stop.

> you'd know that most of them deal with various 'gross' ideas.

The hilarious thing is that I’m encouraging people to engage with these ideas,
and you’re attacking me as if I’d said the exact opposite.

> What you're saying seems to imply we must abandon (i) any and every plan
> towards a better society (ii) any superindividual critique of totality,
> because both are doomed in failure due to the human condition. This is known
> as the 'human nature' argument against social projects and it's not very
> convincing.

What you imagined to be your grand coup de grâce is rather soiled by
completely misunderstanding my original point.

At no point did I say that improvement is impossible, that’s an obvious and
shoddy strawman of an argument. My point is that politics comes from humans,
thus any attempt to completely eliminate politics is doomed to failure. This
is an encouragement for people to engage with political systems and political
theory in order to improve our existence.

~~~
claudiawerner
My point on ideology wasn't to say that ideology is extremist, rather it was
to say that we are _all_ ideological. Ideology in popular speech seems to mean
something extremist, because we figure outselves to be free of ideology:
rational, economical etc. - but these are ideologies in themselves. You and I
are both steeped in ideology and that's not a bad thing. The bad thing is
thinking we are free of it, or the world works as if it's free of it, or that
societies don't perpetuate themselves through Establishment ideology.

I also didn't want to imply you're poorly read, or that you should be well
read on something as arcane as 20th century leftist theory, I only wanted to
bring your attention to the idea that the left doesn't shy away from grossness
in any future society.

The question is never of eliminating politics in the most general sense, it's
to eliminate _current_ politics in a constantly revolutionary fashion.
Communism is a political movement, for instance, and the very existence of
_the party_ shows that they don't want to get rid of politics - they only want
to move away from bourgeois democracy which supports (and is supported by)
capital. Not even the anarchists deny the role of politics. But the idea that
politics is merely a disagreement about resource allocation is ideological
(and this time I do mean it in a bad sense).

~~~
village-idiot
Most of that’s pretty reasonable, but you’re talking about something
completely unrelated to the point I was making.

------
ksec
I have to confess, I was always envy of Python. Look at those PEPs! Yes it may
be a little too formal, but there are lots of PEPs, many discussions, and
progress. Well the word progress might not be entirely correct, but lots of
activities. Look at Guido! He was always on the front battling, arguing or
trying to steer the ship. Look at Python and Data Science, it went from good
programming language to learn to must have for Data Scientist and Machine
Learning. PyPy!

I have to confess, I was very envy of Python. I wish Ruby had something
similar to PEPs, many more suggestions, Matz making more decisions, Ruby
entering more Domains. Ruby could have grown itself 5x and its usage will
still possibly be counted as a niche language. MJIT!

That was until past few months.

It wasn't until Guido Steps down from being BDFL for Python, before the
simplest question pops, What happens to Ruby if Matz suddenly step down
because of a similar "lively" discussions on features? And now looking at this
"governance model", the bureaucratic nature of it. Makes me appreciate a lot
more of how Ruby is being handled.

This isn't to say the Python model is wrong, far form it. Java have a similar
model and it is brilliant.

During one of the recent talks Matz said he is already starting to work on
Ruby 4.0, which is not about features or speed, but testing a model of future
Ruby without Matz when he retire. He is enjoying life, and he is still having
fun, but it will come a day when he retires, so he is preparing for it.
Despite their syntax being somewhat similar, Ruby's values and culture that
makes it a lot different to Python.

~~~
bayindirh
When you need to inherit something _that_ big (a corporation, programming
language, a missle, etc.), you need to make sure that it won't be cannibalized
or just killed outright. So you delegate your powers to a group of _optimal_
number of people.

Yes it's boring, yes it's slow, yes it's bureaucratic, but it's realistic and
pragmatic. Python will continue to grow if they can run this governance model
well. They can become debian of the programming languages.

------
xg15
It's curious that there was so much discussion about _how_ to vote, while
there seemed to be no question _who_ would vote. The article mentions there
was a pool of 94 eligible individuals but doesn't explain further where they
come from. Does anyone have more info about that?

~~~
jack6e
The link to the actual vote results [0] states that the electorate was _"
CPython core developers with a known email-address."_

[0] [https://discuss.python.org/t/python-governance-vote-
december...](https://discuss.python.org/t/python-governance-vote-
december-2018-results/546)

~~~
xg15
Ah, I see. Thanks for the info!

------
onlydeadheroes
If it is anything like the Linux kernel, it is to prepare for the incoming
purge of non-corporate-approved contributors...

~~~
AstralStorm
Linux has never purged any of those. It is more like it got "conquered" by
money and resources allocating developer time. For that matter, so will any
truly important and developed FOSS.

Not sure what do you expect, Mozilla model with an NGO, who can still be
pushed by competition and wealth into irrelevancy?

Ask about RedHat and their push for dominance in both init system, package
management, GUI and audio server, conquering even Debian and Arch in the end,
making Gentoo less relevant, making BSD compatibility hard. Countered only
somewhat by Android and its practices, Google's money and software market.

~~~
onlydeadheroes
Theo Tso fought against the backdooring of /dev/random by the NSA. That this
backdooring was attempted was confirmed by Snowden leaks.

New York times:

"By this year, the Sigint Enabling Project had found ways inside some of the
encryption chips that scramble information for businesses and governments,
either by working with chipmakers to insert back doors or by exploiting
security flaws, according to the documents."

Later when the code of conduct was added to the Linux project, Theo Tso was
attacked with bullshit accusations on the first day...

~~~
dooglius
Not that I disagree with your point, but the Snowden leaks only confirmed that
the NSA does backdooring in general, not that the Intel rdrand instruction in
particular was backdoored.

~~~
onlydeadheroes
True, thank you for the clarification. I believe he was attacked mostly for
fighting back, pour encourager les autres.

------
Hendrikto
> Steering council members will serve for the length of single Python feature
> release; after each release, a new council will be elected.

Won‘t that get old really soon?

~~~
porpoisely
Do you know if council members can be re-elected? Does "new council" imply a
brand new set of council members? If so wouldn't that hurt institutional
knowledge?

~~~
mcherm
> Do you know if council members can be re-elected?

Yes, they can, and likely will be in many cases.

~~~
porpoisely
Thanks, that's what I figured. So the vote would be a formality most of the
time and not something revolutionary.

~~~
fesoliveira
Well, it creates a way for other members of the core team to replace someone
they disagree with without having to call for a no-confidence vote all the
time. I don't know what you mean by "revolutionary", but the point of these
kinds of councils is to uphold the vision and principles of the language, and
so long as the people in the council are making the correct calls in those
regards, there would be no reason to replace them.

------
craftyguy
OP posted a subscriber link to LWN... if you like the content then subscribing
to support LWN is well worth it! They are one of (if not THE) highest quality
Linux news sites out there.

------
m23khan
I hope that with this change, Python rise to popularity continues. It is a
great language IMHO and good to see it being adapted so widely.

------
kensai
The three alternatives.

\-
[https://www.python.org/dev/peps/pep-8010/](https://www.python.org/dev/peps/pep-8010/)
\-
[https://www.python.org/dev/peps/pep-8012/](https://www.python.org/dev/peps/pep-8012/)
\-
[https://www.python.org/dev/peps/pep-8016/](https://www.python.org/dev/peps/pep-8016/)

~~~
detaro
Voting result linking to the six alternatives:
[https://discuss.python.org/t/python-governance-vote-
december...](https://discuss.python.org/t/python-governance-vote-
december-2018-results/546)

------
d--b
Note that this is a 5-people committee, not a universal voting mechanism. That
these guys will change often is a problem though.

~~~
snuxoll
There are no term limits for steering council members, assuming they are doing
the job adequately the core team can just let them continue in their seat.

Giving a moderately frequent way to change up less-than-stellar-but-not-
malicious council members without a no-confidence vote is a Good Thing (TM).

------
marcoperaza
It's incredible how infectious the democracy meme is. It makes most sense when
determining how violence will be used within a society (i.e. the fundamental
function of government). It makes a lot less sense for running projects and
organizations that people are free to come and go from. But the idea's
intellectual stranglehold is just too strong to resist.

The merits of singular vision, unity of design, counter-majoritarian good
judgment, predictability, and decisiveness should really get more credit in
these contexts. As should the downsides of bureaucracy and democratic decision
making: infighting, politics (the sacrifice of sincerity for popularity),
gridlock, disunity of design, etc.

~~~
B1FF_PSUVM
> how infectious

Hey, there's people working hard on that, it's not just some accidental
freebie ...

The system, however, does have positive feedback - the more you advertise, the
more resources you have for advertising.

------
stoicjett2
This comment section is proof positive of why the Steering Committee was a
good choice.

~~~
forgottenpass
"<Mixed or negative reaction> to <thing I like> is proof that <thing> is good"
is among the worst arguments in the world.

It applies equally well to any non-unanimous change, therefore it means
nothing.

~~~
PhasmaFelis
Ugh, yes. "Everyone thinks I'm wrong, which proves that I'm right!" has been a
thing since Usenet at least, and it didn't make sense then either.

