Live data from Hacker News

Python gets a new governance model

lwn.net

181–190 of 191 posts

Re: Python gets a new governance model

#181
post #28

Earlier quoted context omitted.

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/

> 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/

But there's a big gap between "Option A has worked better than Option B [Spolsky, anecdote]" and even "Option A is always better than Option B", much less "Option A maximises the desired outcome."

Re: Python gets a new governance model

#182

Earlier quoted context omitted.

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.

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.)

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.

Re: Python gets a new governance model

#183

Earlier quoted context omitted.

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.

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.

> 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.

But that's exactly what Red Hat has done in a lot of situations. The main example I can think of is systemd. It was built to solve problems that really only appear on enterprise production systems, sadly it got adopted across the board for systems outside of that niche. Essentially it's taken what was a working system (sysV init and friends are very, very simple to configure for 90% of the desktop configurations) and replaced it with something that somehow needs continual firefighting.

Back to the original point: Not only has systemd reinvented sysvinit, but at this point systemd has reinvented from scratch:

* The UEFI bootloader[0]

* syslog daemon[1]

* DNS[2]

* A Calendar / cron[3]

* A text editor[4]

* netcat/socat[5]

* nice(1) [6]

* sudo(1) [7]

[0]: https://github.com/systemd/systemd/blob/76153ad45f09b6ae4546...

[1]: http://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1...

[2]: https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d...

[3]: https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d...

[4]: https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d...

[5]: https://github.com/systemd/systemd/blob/76153ad45f09b6ae4546...

[6]: https://github.com/systemd/systemd/blob/76153ad45f09b6ae4546...

[7]: https://github.com/systemd/systemd/blob/76153ad45f09b6ae4546...

Re: Python gets a new governance model

#184
post #183

Earlier quoted context omitted.

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.

> 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. But that's exactly what Red Hat has done in a lot of situations. The main example I can think of is systemd. It was built to solve problems that really only appear on enterprise production systems, sadly it got adopted across the board for systems outside of that…

The claimed reinvention from scratch of a text editor, and the nice command, are in fact nothing of the sort. One is a means for invoking a text editor (of one's choice) against particular configuration files, no more a "reinvention from scratch" of a text editor than the vipw command is; and the other is one of the several settings specifying eventual service process state, and is no more a reinvention from scratch than the Service Access Facility's "ulimit" built-in was in 1988.

* https://docs.oracle.com/cd/E19683-01/816-0214/6m6nf1of0/inde...

This is one of the standard parts of service management, and service management toolsets all have to do it, either employing nice or their own mechanisms. Gerrit Pape's toolset does it with the -n option to chpst, for example.

* http://smarden.org/runit/chpst.8.html

Ironically given the subject of Debian, one can look to the Debian package archive (or indeed the FreeBSD or NetBSD ports tree and some others) to see lots of actual reinventions of a text editor.

* https://packages.debian.org/stable/editors/

* http://www.guckes.net/vi/clones.php3

Similarly, the claim that cron is only just now being reinvented from scratch looks rather ill-informed given the existence of tools such as Uwe Ohse's uschedule and the multiple "cron" tools, many of which reinvent the design in significant ways (Bruce Guenter's split of scheduling, spooling, and updating into separate services being a notable example); and given the fact that Paul Vixie's "original" PD Cron was actually itself a from-scratch clone.

* https://news.ycombinator.com/item?id=17808251

* https://news.ycombinator.com/item?id=17005677

Re: Python gets a new governance model

#185

Earlier quoted context omitted.

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.

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.)

"To summarise the summary of the summary: people are a problem."

Hitch-Hiker's Guide To The Galaxy, Fit The Twelfth

Re: Python gets a new governance model

#186

Earlier quoted context omitted.

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

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

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.

Re: Python gets a new governance model

#187
post #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

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.

> And yet they take in many of RedHat solutions and decisions

Citation needed - that's simply not true.

Re: Python gets a new governance model

#188
post #99

Earlier quoted context omitted.

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

I don't think there's a good way to measure Debian's contributions outside strictly packaging its distribution. If a Debian developer, or a group of Debian developers, sets out to solve some problem that isn't Debian-specific, the result is (quite correctly) seen as a new independent free-software project rather than a Debian project. For example, as I understand it the reproducible builds project (now reproducible-b…

Correct. Plenty of Debian Developers work full time on other software projects. Very often with synergies with Debian.

Yet there's no obvious way for people to realize to what extent Debian influences other projects and companies.

Re: Python gets a new governance model

#189
post #95
post #85

Earlier quoted context omitted.

> 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).

RedHat wasn’t always as big as it is now. In fact, it was likely smaller than Debian, in terms of manpower, for some time. I suspect the total number of package maintainers is still higher on the Debian side.

Also the number well maintained packages is much higher.

Re: Python gets a new governance model

#190
post #184
post #183

Earlier quoted context omitted.

> 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. But that's exactly what Red Hat has done in a lot of situations. The main example I can think of is systemd. It was built to solve problems that really only appear on enterprise production systems, sadly it got adopted across the board for systems outside of that…

The claimed reinvention from scratch of a text editor, and the nice command, are in fact nothing of the sort. One is a means for invoking a text editor (of one's choice) against particular configuration files, no more a "reinvention from scratch" of a text editor than the vipw command is; and the other is one of the several settings specifying eventual service process state, and is no more a reinvention from scratch…

> Ironically given the subject of Debian, one can look to the Debian package archive (or indeed the FreeBSD or NetBSD ports tree and some others) to see lots of actual reinventions of a text editor.

> Similarly, the claim that cron is only just now being reinvented from scratch looks rather ill-informed given the existence of tools such as Uwe Ohse's uschedule and the multiple "cron" tools, many of which reinvent the design in significant ways (Bruce Guenter's split of scheduling, spooling, and updating into separate services being a notable example); and given the fact that Paul Vixie's "original" PD Cron was actually itself a from-scratch clone.

My response to both of these are, can you point out any of them that are part of a monolithic system that replaces the traditional PID 0?

Or are you talking about people reinventing small parts of the general system? Yes. UNIX allows people to swap out software for other software. In the original use-cases though, the editor(1), cron(1), and nice(1) were at no point conjoined with the boot menu system, or PID 0.

Indeed, there is a fundamental choice between someone building a replacement for one small part of the general system, to make their life easier, and building a replacement for the entire init system.

Post reply on HN