Live data from Hacker News

Python gets a new governance model

lwn.net

41–50 of 191 posts

Re: Python gets a new governance model

#41
post #18

Earlier quoted context omitted.

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.

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.

A good benevolent dictator is often more efficient than a more decentralized and democratic system but you have a single point of failure and you need to be able to find said dictator in the first place. A bad or incompetent not-so-benevolent dictator can be absolutely terrible for a project and cause a lot of long-term damage.

For such an important project unfortunately I think a certain amount of bureaucracy and paperwork is not only unavoidable but actually necessary and important.

Re: Python gets a new governance model

#42

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

Play-democracy is a well-known problem in a lot of projects. OpenSolaris had the same issue, and it had some pretty disastrous consequences (though they modelled themselves after Apache which isn't really the best model).

Honestly, I think it comes down to the fact that democracy is definitely sexy. The idea that any individual could gain the power they want through based on public recognition, where the public has a say on who is in power, is very attractive (and is one of the reasons many governments are democratically elected -- because there would be an uprising otherwise). And obviously it's great for societies where the decisions can very much be a matter of life or death -- but for projects that are trying to get a very specific thing done you can end up in a death-by-bureaucracy system.

Also, democracy is one of the easiest ways of getting out of having to solve an issue -- just let the people decide. There were several completely different PEPs that outlined new governance models, and due to lack of consensus this model was adopted since it can be used to get any other model (and in the Preamble they state that this new governance model could be used to pick a different one).

EDIT: "The people" could be any subset of people -- not just the general public or users of software. Several democratic systems (Westminster-like and the American primary election system) work in the same manner -- where only a subset of people make decisions about the country or party.

Re: Python gets a new governance model

#43
post #18

Earlier quoted context omitted.

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.

The question is if the explicit ones replace the implicit ones or are in addition to them. I don't know python well, so this all might work very well for them. But if, for instance, there was a very core developer or two, then no amount of structure will take away from their sway. If a major point of contention arose between the "paper" structure and the core developers, there will be a problem.

There's little risk of that, since the governance structure has apparently been determined here by the core developers themselves. The goal of any such effort like this is not to outright eliminate all implicit power structures (effectively impossible), but to explicitly surface a semblance of the existing implicit structure for greater transparency in governance.

Re: Python gets a new governance model

#44
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

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

Re: Python gets a new governance model

#45
post #40

Earlier quoted context omitted.

It's important to analyze arguments not by what they seem to be but by what they actually are; the substance of what he's saying isn't that the USSR (for example) "wasn't real Communism" because it wasn't bureaucratic enough, his position is that regardless of whether it is "real Communism" or isn't, bureaucracy is still a question of central importance. The notion of discussing "utopia" in relation to its actual exi…

Theoretical arguments are incredibly overrated for complex systems. Usually, they're just ways for academics to signal their ability to make these arguments, to show off how smart they are, and of little utility otherwise. You need to see how things actually work out in practice. And in practice Swiss democracy works very well whereas most central bureaucracies are soul killers.

The trouble is, their system mostly works because of culture, not because it is truly any better. A certain high level of egalitarianism, responsibility for decisions and push back against exploitative or manipulative practices is required for success. This makes transplanting their practices hard.

In case you do not know, Swiss have a central bureaucracy. Not everything, heck most things are not decided by direct vote. Important things are though and the citizens can propose a referendum after the fact as well given enough buy in.

Re: Python gets a new governance model

#46
post #28

Earlier quoted context omitted.

The grandparent comment wasn't about formal replacing informal, it was about bureaucracy replacing dictatorship. I don't think that's always a good thing. If the organization has some urgent goal, like winning a war or putting a man on the Moon, some dictatorship is needed to keep bureaucracy in check. But when there's no more urgent goal than well-being of the organization's members, that's when dictatorship fades a…

Is this really true? Does this work in every kind of war or Moon-race? Control is important, but so is individual initiative. The front line needs the latter the HQ needs the former. That's why "aligning goals" is the important thing, not just rules for power's sake. (That's authorianism of course.)

Individual initiative is maximized when people have sole responsibility for their tasks, not when every decision needs to be approved by ten committees.

https://www.joelonsoftware.com/2000/03/19/two-stories/

Re: Python gets a new governance model

#47

Earlier quoted context omitted.

Uhmm, it is self organizing as well as transparent. This is why the rule for changing governance rules (including itself) is simple and transparent. To keep relative stability, it has a built in buy in threshold. There is a difference and fine line between freedom of choice and being overwhelmed by options, especially irrelevant ones, even more so if all competitors are essentially fake and owned by the same company.…

Why the downvote? It is not like the organization form was thrown onto the project by an external force? Or does self organizing mean something different from what it says?

> Please don't comment about the voting on comments. It never does any good, and it makes boring reading.

Re: Python gets a new governance model

#48
post #40

Earlier quoted context omitted.

It's important to analyze arguments not by what they seem to be but by what they actually are; the substance of what he's saying isn't that the USSR (for example) "wasn't real Communism" because it wasn't bureaucratic enough, his position is that regardless of whether it is "real Communism" or isn't, bureaucracy is still a question of central importance. The notion of discussing "utopia" in relation to its actual exi…

Theoretical arguments are incredibly overrated for complex systems. Usually, they're just ways for academics to signal their ability to make these arguments, to show off how smart they are, and of little utility otherwise. You need to see how things actually work out in practice. And in practice Swiss democracy works very well whereas most central bureaucracies are soul killers.

On the other hand, critical thought about such systems as they exist can pave the way to what we should and shouldn't want in future systems. While it's true of course that history doesn't follow some Solvenian philosopher's blueprint, real action is informed by theoretical aims. The other extreme is extreme apathy to towards democratic decisions (as others have pointed out) and how soul-killing and time consuming it is to have to engage with a great variety of things where a choice already made for you would be better. Compare this with the many arguments on this site about hosting your own e-mail server rather than using gmail + PGP.

Re: Python gets a new governance model

#49
post #18

Earlier quoted context omitted.

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.

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.

Finding a "full" BDFL that's not the original founder seems quite difficult: who's gonna have that level of respect and authority, can trust on having it even in the face of conflict and is willing to do the job after seeing it not work out for the project founder? Some communities might have such a candidate (e.g. in Linux maybe one of Linus' lieutenants?), but many won't. Questions of legitimation and ways of replacing them are gonna come up, and if you don't codify the answers are gonna come up again and again. If you codify them, you now have an election mechanism, a "vote of no confidence" mechanism, ... specified, and aren't that far from an elected leadership. Given the amount of work it is and conflicting interests in the community, does it then really make sense to have that leadership be one person?

One of the proposals was for a elected "technical lead" (or Gracious Umpire Influencing Decisions Officer (GUIDO)) with 4.5-year terms, and came sixth in the vote about options: https://www.python.org/dev/peps/pep-8010/#the-role-of-the-gu...

Re: Python gets a new governance model

#50

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

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,…

[deleted]
Post reply on HN