Live data from Hacker News

“I'm basically giving myself a permanent vacation from being BDFL”

mail.python.org

281–290 of 764 posts

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#281
post #238

Earlier quoted context omitted.

It's more hilarious because his response to that (basically, "this is tax software so there will be a lot of QA when we make that change") is at least sort of legitimate, but only because his accounting software evidently only works due to undefined corner cases in the underlying platform, and that's just ... wow.

One of the hidden costs when you elect to use a language like PHP in the early 00's is that as they fix the glaring issues in their language and stdlib you will be incurring a continuing maintenance cost. It's a combination of your choice to pick PHP and their choice to fix the languages warts colliding. It may even have been a reasonable choice for reasons of time to market, hiring, and other business related factor…

One of my PHP bug submissions is already in high school. The other is in kindergarten. Thankfully both of them won't see light of day in most applications.

But focusing on PHP is rubbish - you can look at any language and find questionable choices. The moment where we need frameworks to make the warts go away - that's worrying. Same thing with JS really

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#282
post #114

I've begged GitHub to institute forms of government for repos. For X action to happen, Y percent of the pool of people in the Z list need to approve it. Membership of the Z list is granted when W percent of the T pool approve it. Modifying the rules of government of this repo can only happen when L percent of the R pool approve it. And on and on... I could imagine a city or state government actually having its laws e…

Why is representative democracy the best system for managing a repo? Will there also be an option for pure democracy? Can I fork your socialist utopia and form an authoritarian dictatorship? I don’t see why this system would ever be beneficial to a real world government. We already have checks and balances, if GitHub did it all who decides how GitHub works? What’s the benefit?

It's one popular way, that's all. There are plenty of others that could make sense.

A game could grant you the ability to edit its source code, after you complete the game. That's just a for-instance.

> Will there also be an option for pure democracy?

Sure, why not?

> Can I fork your socialist utopia and form an authoritarian dictatorship?

Mechanically, sure. There may be licensing problems, but that's true today.

> I don’t see why this system would ever be beneficial to a real world government.

If the real world government stores its web pages in GitHub, then the real world government can use this governance to handle changes to that web page.

Rather than letting a lone IT admin have root.

> What’s the benefit?

If you're comfortable with needing to fork a repo when the BDFL goes rogue and starts making changes you hate, then there's no benefit at all.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#283
post #162

Earlier quoted context omitted.

Maybe we'll try something like a triumvirate? As best I can tell there are basically three areas where Python is dominant: web, data science, and academia. A single leader for each of those spheres could form a council where BDFL-level decisions could be made by fiat. Each community could then form whatever organization they felt necessary to choose who to send to the triumvirate. As as check on the power of the triu…

you're missing a body that can decide in case of implementation disputes over the other two. we could even compare it to a court. since python is so huge, we would have several levels for triaging and appeals. and the top one would reign supreme.

Django went through this years ago; Jacob and Adrian, who were the "BDFLs" of the project at the start, stepped down.

The current governance model is mostly around consensus on the dev list. There's a "technical board" elected every release cycle from among the committers, to act as a tie-breaker when needed, and with veto power over DEPs (Django's equivalent of PEPs) and adding new committers. I don't know of a case where that veto power has ever been exercised, FWIW.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#284
post #182

Earlier quoted context omitted.

It's not the outrage, it's the entitlement. People have always been outraged, the major difference I've seen is the rampant sense of entitlement. I'm not sure if it's a result of bad parenting or something else, but it's slowly becoming a major issue for the entirety of the human race.

I noticed this over the years on a forum I’ve run for over 10 years. Since ads are pretty much dead for small publishers like me, the forum costs me money. But I run it out of charity. Nothing sucks the energy out of me more than lurking in my forum and seeing users complain about how little I’ve done for the forum. I don’t want to know how many weekend I’ve spent building features for the forum or arbitrating proble…

I think part of the explanation might be the explosion of choice [1]. For better or for worse, the more choices there are, the better people expect them to be to stand out. If you make software that solves a critical problem nobody else's does, I doubt people will feel nearly as entitled about it as about a forum or a programming language or whatever.

[1] https://www.ted.com/talks/barry_schwartz_on_the_paradox_of_c...

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#285
post #86
post #42

Earlier quoted context omitted.

That's a good read. I feel like the "customer is always right" mentality does quite a bit of harm to OSS support. Also reminds me of that dev (who I can't seem to search up) who had their email printed as part of a open-source software license in a car manual and would get ridiculous email from people who had car trouble.

OTOH, way back, when I had a TV receiver card by Hauppage, and a new Linux kernel broke something, I posted a description of my troubles on Usenet, and within 24 hours, the person who had written the Video4Linux subsystem replied asking for more details (which I gladly provided), and a few days later, the bug was fixed. That, I think, was the most awesome "customer support" experience of my life. I did make a point o…

Yep. This attitude isn't dead, assuming you approach the developer via the right/preferred venue, and are polite, and they are still actively maintaining the project. And it really helps if you give a thorough bug report!

I recently submitted a bug report to a fairly niche OSS package that I use, and within a few hours the author replied (on GitHub) something like "oh wow, yeah that's an edge case but I definitely want to fix it, can you send me the test data you used..." and once I gave him the test data, he had it fixed in two hours and now anybody who grabs the source won't have to deal with that bug.

It was great, and even though I didn't do anything except write up a bug ticket properly (the same way I'd expect anyone on my team at work to do it), the software is a little better now.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#286

What was the issue that was evidently so contentious that it made him wish to step down?

(a := b) rather than a = b Naturally people went to the barricades for it, in a classic example of bikeshedding and Wadler's Law (programmers will fight to the death over trivial syntax disagreements and just shrug at profound changes to semantics and architecture)

> (a := b) rather than a = b

That's not it at all. The PEP even acknowledges that while `(a := b)` would be valid, it would not be recommended.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#287

Earlier quoted context omitted.

Not having a problem in the first place is preferable to fighting it with tools. == vs = is a classic mistake that I'm sure every C programmer has wasted some time on. (I'm just undecided if I prefer dealing with this very problem occasionally, or choosing either of the verbosity of := assignments or the non-orthogonality of = assignment statements plus := assignment expressions.)

Well, the best option would be to have := (or any other operator) as C style assignment in the first place. This is huge backward compatibility breakage though so the second best option is to use =. You can require additional brackets around assignment if you use the returning value (or otherwise it's syntax error). They did that with the new one anyway.

> You can require additional brackets around assignment if you use the returning value (or otherwise it's syntax error). They did that with the new one anyway.

They only did it if the := is at the root level. The following is completely legal:

    if match := re.search(pat, text):
        `print("Found:", match.group(0))
or

    [y := f(x), y**2, y**3]

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#288

Earlier quoted context omitted.

Syntax regularity is infinitely more important than scripting convenience.

Button regularity on your keyboard is infinitely more important than ergonomics too, right? Anything but a grid of equally-sized squares must be wrong by virtue of aesthetics. Spoken language too: let's eliminate all contractions because they reduce regularity. Let's also make all the speed limits in the country equal at 20mph, because regularity is infinitely more important than convenience. You should be supporting…

Are you fingers equally spaced square shape manipulators?

I don’t support having return at all. Statements that are not expressions are a mistake.

Syntax irregularities are anti-practical.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#289
post #250

If Guido wasn't himself while writing the PEP572, I ask for a new vote about the PEP572. I vote against it, the PEP572 should not be implemented. To me, it seems a restricted variant on the specific cases "if" and "while" would be good enough, without generalizing to more cases. The exemples of assignment with "all()" and "any()" make me sad. Python had only one way of doing things, now it has two. Reading Python cod…

> If Guido wasn't himself while writing the PEP572, I ask for a new vote about the PEP572. I vote against it, the PEP572 should not be implemented.

There is really nothing in the e-mail that indicates that.

I can only imagine the message it would send to recall the PEP. I guess it would confirm his decision in a most callous way.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#290

Earlier quoted context omitted.

(a := b) rather than a = b Naturally people went to the barricades for it, in a classic example of bikeshedding and Wadler's Law (programmers will fight to the death over trivial syntax disagreements and just shrug at profound changes to semantics and architecture)

> (a := b) Will `with` start using this syntax instead of `b as a`: `with open('foo') as a:` == `with a := open('foo'):`? Update: found my answer on the pep. `with EXPR as VAR` actually calls `EXPR.__enter__()` so it's not the same.

You mean `with EXPR as VAR` lets `VAR = EXPR.__enter__()`. Because `with EXPR` also calls `EXPR.__enter__()`, so `with VAR := EXPR` would too.

Seems very unnecessary to have both options.

Post reply on HN