Live data from Hacker News

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

mail.python.org

531–540 of 764 posts

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

#531

Earlier quoted context omitted.

I think theres absolutely zero implicit contract that implies that open source software maintainers owe ANYone ANYthing at ANYtime. That's the reason it's open source because everyone can fix it, all an open source maintainer owes you is a P.R. review. Therefore if an open source project maintainer is giving you their time and patience then you better be extra polite and grateful to them. If Ben and Jerrys left a bun…

> If Ben and Jerrys left a bunch of ice cream on the sidewalk and a bunch of people ate it and got sick then there would be zero liability on Ben and Jerrys. Citation? That doesn't seem right, based on my anecdotal knowledge that restaurants take care to throw leftovers into a garbage bin rather than leave them out somewhere where someone could eat them and expose the business to liability. I looked up this claim mys…

In your analogy you're citing a business. Then if you open source something you wrote, are you claiming you are a business? No matter how un/business-like the open source claim may be: has any money changed ownership between the parties in the course of the person writing and maintaining software vs the person using that software?

If no business transaction has been formalized then why should either party be liable? Indeed, if a person is not permitted to simply say "this is the software I am using" without also becoming liable for problems caused when other people use or look at that software? I don't think it is right to allow a person to be liable just for the speech of their software.

Fortunately, a lot of open source software is known to be open source because of a license file. Many open source licenses declare no liability or warranty of any kind. In that case, would not any liability claimed would be forfeit? Otherwise they would have been using the software in breach of its declared intended purpose at the point of time being talked about.

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

#532

Earlier quoted context omitted.

A rough consensus is trivially observable. Look around. Who's left saying that plan Foo is a bad idea? Just that one guy who is a total crank and thinks Python shouldn't support 64-bit processors? Nobody cares about him. How about people who think plan Foo is a good idea? Basically everybody who talked about it other than the crank: OK, that's rough consensus. If you have situations where your "bunch of people with c…

What if the core committers are generally decided for A but the language users at large are for B? The way you make those decisions is a mechanism, even if you don't want to name it.

In the scenario you describe there sounds like no consensus for A or B.

Maybe, after they explain how great A is the core committers can bring the language users around on the idea of doing A. Maybe after spending more time considering why B is beloved of language users the core committers come around to B.

Perhaps most likely if the two conflict is that C is developed as both sides look for the best of both, what an excellent outcome.

And if not, then do neither A nor B

We regret our bad ideas at leisure. No need to bake those bad ideas into a programming language just because of a vague feeling that "we must do something" (and as the saying goes "this is something, so we must do this").

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

#533
post #252

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

A programming language and the tools you use with it are tightly integrated: you're never using a language, you're always using a language via a tool. And if all C compilers you might use have warnings enabled for this buggy expression, then there's no problem.

[deleted]

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

#534
post #497

Earlier quoted context omitted.

It's handy in C for guarding parts of the language, as you often have to check return values anyway. if(malloc(10000 * sizeof foo) == NULL) { // Error processing } // No need for an else branch here.

Missing assingment.

    int success = NULL;

    if(success = malloc(...)) {
    }
    if(success = malloc(...)) {
    }
    if(success = malloc(...)) {
    }

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

#535
post #252

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

A programming language and the tools you use with it are tightly integrated: you're never using a language, you're always using a language via a tool. And if all C compilers you might use have warnings enabled for this buggy expression, then there's no problem.

The most important "program" that reads your source code is probably in your brain. You probably have some "tooling" in their that is on the watch for "if (x = y)" and other patterns, but I'm sure you'd prefer to not have to run it.

As another counterexample let me give you "language tooling". For example, write a tool that generates a FFI from $LANGUAGE to C. Is it really so unimportant that $LANGUAGE is clean and simple and easy to parse?

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

#536
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…

Years ago I purchased a motherboard with a built in Raid controller. There were no drivers for it in mainline Linux kernel but there was code for a kernel module on the chipset vendor (Via's) website. The provided code wouldn't compile because there was a bug.

People from Fedora IRC channel helped me live debug the code over irc and we found the bug and were able to get code to compile and my raid controller working. Was an awesome experience.

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

#537

Earlier quoted context omitted.

Even though I am hardwired to C and 'thinking like a machine would/prefers', python was probably the first and only language I didn't feel like it was a programming language at all. Always when I write something in it, it's always 'huh, and that's it? I'm... done?'. Sure, it's equal part due to language and 'batteries', but neither would happen without GvR and awesome community that built around his project and him.…

how is python like lisp?

It's lisp without the curse. You have an arbitrarily dynamic runtime but enough structure and cultural idiom against abusing it that it has flourished. Compare for example type annotations in python versus those in clojure - clojure's expressivity and the culture's tendency to use it pervasively make meaningful annotations much more difficult than in python, even with python's crazy calling convention. Additionally a lot of my data processing python code winds up feeling very lispy - arbitrarily deeply nested iterator pipelines transforming dumb and often immutable data. We largely do this in python because smart objects are slow not out of any pursuit of purity, we have a thriving ecosystem of these kinds of libraries, but the end result feels vaguely similar either way.

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

#538

I don't know if it's just me, but if you read the forums and bug reports related to open source projects, it feels like programmers today are a really entitled lot. The tone that people take when filing bug reports for what is basically free software is reprehensible. People are doing work for FREE to benefit you, and you take a tone with them like you are a prince and they are your royal goblet holders? Who taught t…

I think what you're saying is true in the case of someone just throwing up some code they wrote online without any plan of supporting or developing it further. But once you call it an open-source project, and you have docs and a roadmap and an issues page and stuff, you're making an implicit contract with people who use it that it will do a reasonable job of solving the problem it claims to solve. The user is choosin…

> if you give someone free food and it makes them sick, are they justified in getting mad at you? I think most people would say yes.

It's is more like people having an allergic reaction to otherwise perfectly safe and free food and complaining that you didn't take their allergy into account. And that you should go buy them some more food but made without the offending ingredient and with the sauce on the side.

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

#539
post #528

Earlier quoted context omitted.

"The market" took over after a long period of "design by committee" that had "strong design principles"[1] resulting in something that was both inadequate for what people wanted to do and didn't evolve at a promising pace (likely because of said principles). When the market did take over, the problem was that those poor foundations weren't thrown out completely. You can only do so much by strapping turbines on a came…

> "The market" took over after a long period of "design by committee" that had "strong design principles"[1] Yes, but a committee (or a community if that term has too many bad connotations) can at least argue about the design principles and on occasion decide to change them using a well-defined process (e.g. rough consensus or voting). > When the market did take over, the problem was that those poor foundations weren…

> Yes, but a committee (or a community if that term has too many bad connotations) can at least argue about the design principles and on occasion decide to change them using a well-defined process (e.g. rough consensus or voting).

The underlying assumption here must be that this somehow leads to better results overall, but where's the evidence for that? "Design by committee" has a negative connotation for a reason.

> The original plan of the W3C TAG was to pull the foundations and make a fresh start with XHTML2. The browser vendors objected to that and chose to instead evolve the original HTML into what we have today.

That's because "the market" doesn't want things to break. Like I said, it should've been thrown out, but for obvious reasons it wasn't. The point is, you can't blame "the market" for having created the mess in the first place.

> But that's the point. Those trend-hopping junior developers and their bosses are the market...

They are a force within that market and it just so happens that so many new people come into the industry because "web stuff" is needed now, but it won't be growing like that forever. These young programmers will grow old and tired (and so will their bosses) and at that point conservatism will settle in, like it has in many other areas as well. It's a market fluctuation.

> The market apparently didn't bother much that HTML is now a "living standard", browser release cycles are measured in weeks and generally a software is considered dead if it doesn't receive any more updates.

The pace at which new browser features are adopted is actually rather slow, but more importantly, old stuff usually doesn't break. For example, jQuery might be outdated from a developer perspective, but it still powers a lot of stuff.

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

#540

I don't know if it's just me, but if you read the forums and bug reports related to open source projects, it feels like programmers today are a really entitled lot. The tone that people take when filing bug reports for what is basically free software is reprehensible. People are doing work for FREE to benefit you, and you take a tone with them like you are a prince and they are your royal goblet holders? Who taught t…

I think what you're saying is true in the case of someone just throwing up some code they wrote online without any plan of supporting or developing it further. But once you call it an open-source project, and you have docs and a roadmap and an issues page and stuff, you're making an implicit contract with people who use it that it will do a reasonable job of solving the problem it claims to solve. The user is choosin…

This implicit contract idea is bunk and can’t be proved by analogies.
Post reply on HN