Live data from Hacker News

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

mail.python.org

591–600 of 764 posts

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

#591

Earlier quoted context omitted.

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…

A contract requires an exchange of value in order to be binding. Using free software has no exchange of value, so there is no contract, implied or otherwise. IANAL

Free software has no value, you claim?

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

#592
post #573
post #523

Earlier quoted context omitted.

So, we insist open-source software developers to keep their "implicit contract", but we (as society) allow companies to buy companies that develop and maintain open-source to close-source it or just close the entire establishment? Without legal consequences.

Companies that shut down open-source dev teams are at least usually honest that that's what they're doing at the time that they do it. Open-source projects that actively evangelise—by extolling their community and documentation, presenting polished websites, in-app screenshots and shiny video demonstrations—then fail to make an adequate effort to serve and relate to the userbase the project has intentionally drummed…

> If you don't want to serve the users ...

I don't understand how Guido van Rossum's message was interpreted as "he doesn't want to serve the users". His message said (to me) that he will continue, but he will not make decisions.

> Companies that shut down open-source dev teams are at least usually honest that that's what they're doing at the time that they do it.

This sentence implies that Guido van Rossum did something worse (than these companies) today. Is this what you are saying or I misunderstood?

BTW: I don't know him personally. I don't use Python regularly and I don't have any knowledge or position on Python's developers struggles and disagreements (if there are any).

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

#593

Earlier quoted context omitted.

I'm still puzzled to why would a compiler allow assignment in an explicit conditional (outside of loop syntax). It's like a baked-in blindspot that most people just want to ignore for some reason. Some languages actually guard against this well enough (eg Kotlin) and say "don't". Even with guards in place, it's not all that complicated to work around in the edge cases where you might want to do it.

Funny you should mention Kotlin; while I like the language a lot, I believe this particular feature would be of immense help in the following scenario: Imagine you have a sealed class Foo, with `class Bar(x: String) : Foo()` and `Baz() : Foo()`. Now, imagine you have a method, returning an object of type Foo: `fun foo(): Foo` And you want to pattern match on the result of this method: when(foo()) { is Bar -> ... is B…

In Rust and Haskell you can do:

    match foo() {
        Bar @ foo => foo.x,
        Baz => ...,
    }

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

#594

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…

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

This is an outright lie. It has NEVER happened that a business has been sued for donating food. Not once. It's just a convenient excuse for saying '%$@# the poor.'

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

#595

Earlier quoted context omitted.

A contract requires an exchange of value in order to be binding. Using free software has no exchange of value, so there is no contract, implied or otherwise. IANAL

Free software has no value, you claim?

No, he's claiming that regardless of the value of the software, the user provided no consideration, no value in exchange for the software.

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

#596

Earlier quoted context omitted.

Sure, there are growing pains with any breaking change. Do you think the ruby 1.8 -> 1.9 transition went more smoothly than the python 2.7 -> 3.x... transition?

My impression is that it did, yes.

But on the other hand, Python's overall popularity has grown (mostly on the back of 'data science' I think), while rubies has shrunk, and python is definitely more popular than ruby at the moment... so python's lesser success at that transition didn't actually matter much in the end?

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

#597
post #359

Earlier quoted context omitted.

I think he made a right call blocking all of those. There are Pythonic ways to do all of those already and the mantra there should be one and preferably one way of doing things is important for the philosophy of the language. With PEP 572 it wasn't like that. There wasn't a Pythonic way to do list comprehensions which used the same expensive to evaluate expression two times in it and it was I think the only glaring s…

Whats the pythonic way to do dependencies? pip? pipenv? virtualenv? pyproject? And how about Python 2 and 3? But seriously, I think there's no one way to do things anymore especially if it holds up productivity and effectiveness. Let the pattern matching begin.

pipenv for applications with module dependencies :)

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

#598

Earlier quoted context omitted.

The future we were promised when we bought into what lisp would/could be, with all the practicality we see now in python. Norvig wrote about it more here: http://www.norvig.com/python-lisp.html It was from that article when I gave python a serious try and it stuck with me as a go to language for all the small things one does often, but also exploratory programming as well (with iPython/jupyter).

have you ever tried f#? if you think python is what lisp could be (a little confused by that...see racket...but...), then i am curious what you think about something like f#. it’s like python in a way, in that it has oop and uses indentation and not brackets, but it is so much more. and it’s more regular in its semantics. everything returns a value.

"The future we were promised" sounds like he's talking more about a combination of ergonomics and productivity that were promised by Lisp but it never got there because the community just didn't expand to the same size. Python is so widely used that the combination of adoption and design decisions is in the sweet spot we were "promised" by Lisp advocates.

F# could also play that role since it can access the rest of the .Net ecosystem but for Python is more approachable as an OOP-ish language.

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

#599

Earlier quoted context omitted.

That's parametrized jumping. Pattern matching is parsing a structure with variables and filling those variables from a single structured value. Python does that with tuples: a, b = b, a But it just stops there. To be fair, I don't know how much power it would gain by going further either. Never made that question.

That is more commonly known as destructuring. (in python and javascript at least, as well as a few others iirc) Pattern matching is normally (in functional languages like Scala and Haskell anyway) defined as a way of taking a union type and handling each one safely. It's a sort of functional alternative to polymorphism. That is, polymorphic code class Dog(Animal): def make_noise(self): return "bork bork" class Duck(A…

So basically Clojure protocols? As in, multimethods that dispatch on the type of their first argument?

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

#600
post #592
post #573

Earlier quoted context omitted.

Companies that shut down open-source dev teams are at least usually honest that that's what they're doing at the time that they do it. Open-source projects that actively evangelise—by extolling their community and documentation, presenting polished websites, in-app screenshots and shiny video demonstrations—then fail to make an adequate effort to serve and relate to the userbase the project has intentionally drummed…

> If you don't want to serve the users ... I don't understand how Guido van Rossum's message was interpreted as "he doesn't want to serve the users". His message said (to me) that he will continue, but he will not make decisions. > Companies that shut down open-source dev teams are at least usually honest that that's what they're doing at the time that they do it. This sentence implies that Guido van Rossum did somet…

I'm not commenting on GvR or GvR's behaviour at all. The discussion took a more general turn, with people seriously suggesting that the developers/maintainers of high-profile, publicly-evangelised open-source projects don't have any ethical duty to support or engage politely with their user base even while still in post. Obviously van Rossum is completely entitled to step down, certainly since there will be others to pick up the reins.
Post reply on HN