""I was going to be a hero, once," said Professor Quirrell, still looking upward. "Can you believe that, Miss Granger?"
"No."
"Thank you again, Miss Granger. It is true nonetheless... I was not naive, Miss Granger, I did not expect the power-holders to align themselves with me so quickly - not without something in it for themselves. But their power, too, was threatened; and so I was shocked how they seemed content to step back, and leave to that man all burdens of responsibility. They sneered at his performance, remarking among themselves how they would do better in his place, though they did not condescend to step forward...Perhaps, by taking on himself the curse of action, that man removed it from all others?...
"So -" Hermione's voice sounded strange in the night. "You left your friends behind where they'd be safe, and tried to attack the Dark Wizard all by yourself?"
"Why, no," said Professor Quirrell. "I stopped trying to be a hero, and went off to do something else I found more pleasant.""
This might be hard to grok without reading the preceding 83 chapters but it is the first thing that came to mind when I see how people treat open source contributors.
This sums up a fairly universal behavior that I think we all tend to take part in, and also see others taking part in when we all spot a problem but don't take action because we have the luxury (i.e. removed from any real chance of harm) to watch the problem be solved by anybody else. Then we use this position of luxurious inaction to judge and complain.
I'm surprised by the reactions I see here though. I'm not invested in the subject of this post, but I can see the hurt of this person in their post. It also appears that they are not bailing, but simply allowing others to try and do better, with suggestions to boot.
And here we sit, justifying our luxurious anger at a person so exhausted from doing free work that they have to walk away from what I assume is a passion of theirs.
The parent commenter is presumably beyond all help, but anyone interested in an example of my views on this point may consult "A Bayesian view of scientific virtues" here: https://arbital.com/p/bayes_science_virtues/
Yudkowsky worships pure mathematics, but he always had it 'arse backwards'. It's not pure mathematics that's the ideal, it's numerical and iterated methods and heuristics (cognition). Pure math can only be applied to idealized situations, whereas numerical methods and heuristics apply everywhere. So in fact, it's numerical methods that are fundamental, and pure math that's the imperfect idealization!
Yudkowsky read too much Tegmark in his youth and was sucked in by the idea that 'everything is mathematics' (or 'everything is information'). But to repeat, this is all 'arse backwards'. Thank goodness that I read some Sean Carroll and debated with a friend of Sean's on his forum; that's what finally talked me out of all that Tegmark multiverse/'reality is a simulation' nonsense.
It's the physical world that's fundamental, cognition is next level of abstraction up, and pure mathematics is a top-level abstraction (it's not fundamental). As Bayesian inference (and all formal methods) are part of the domain of pure math, they can't serve as a foundation for rationality. Cognition is more fundamental than math (because it's closer to the base level of reality - physics).
As I commented recently to Scott Aaronson on his blog, what distinguishes cognition from pure math, is that pure math is about fixed equations, whereas cognition is about heuristics , iteration and numerical methods. But in fact, P≠NP implies that cognition is the more fundamental. See:
https://www.scottaaronson.com/blog/?p=3875#comments
So for instance, AIXI (a much touted mathematical model of general intelligence), is the 'fake' (imperfect) solution, whereas a workable heuristic implementation would be the correct (perfect) one. This is the complete reverse of what Yudkowsky thinks.
(In general, you would be very very wise not to believe someone who claims that I believe a thing, until you have seen the original text, in its original location, in full context, written by me under my own account, plainly and unambiguously saying that I believe that thing. Even then I've been known to change my mind later, as is a sane person's right. But most of what I'm wildly rumored to believe is more completely made up out of thin air than anything I've changed my mind about.)
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 choosing to use it over other alternatives and investing time learning and integrating it, so it doesn't seem at all unreasonable to me for them to be frustrated when they realize that due to some bug or limitation it doesn't actually solve the problem for them that it claims to.
As an analogy, 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. IANAL but I'd imagine that if you got food poisoning from Ben & Jerry's free cone day due to negligent sanitation practices or something, you could probably sue the company just like if you had paid for it.
Or, if a member of some sort of volunteer community board is doing a bad job, people will complain about it. An open source maintainer is basically in the same position.
Of course, that's no excuse for being rude to them, but you also shouldn't be rude if you paid for something and it doesn't work. I'm not saying we shouldn't do anything to reduce hostility towards maintainers when it happens. But it's not true, in open source software or anywhere else, that just because something is free there are automatically no expectations around it.
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 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 myself. In 1996, President Clinton signed the Good Samaritan Food Donation Act into law to limit liability for those who donate food. [1] The majority of restaurants still discard leftover food due to concerns over liability, though. [2] Clearly, liability was a real issue at some point in the past. I don't know enough about the current law to know how easy it is to take advantage of the new protections; I can understand why people are still concerned.
In summary, liability issues vary by country and are not clear-cut. As an analogy for this open-source situation, they don't clarify matters.
[1] https://digitalcommons.law.seattleu.edu/cgi/viewcontent.cgi?...
[2] https://www.huffingtonpost.com/entry/restaurants-that-dont-d...
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.'
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.
Every person has a duty of care to minimize the possibility of harm to others. In some professions the standard is higher and may be codified into statute and/or bylaws of their professional association e.g. medical and legal professions. What this means is that, for example, in certain jurisdictions a doctor is bound by his Hippocratic oath and has to render medical assistance to a person who is in urgent need of it, as quickly as practicable. Ignoring this exposes him to liability. So in the particular case of software, a malware author could in theory be found liable by posting his proof of concept in the public domain.
Secondly, in certain jurisdictions, there is an implied warranty of merchantability and also of fitness for a particular purpose. In the US this is under the Uniform Commercial Code.
The example you cite of a doctor being required to provide emergency medical care I don’t think is quite accurate. In fact, doctors are often not covered by “Good Samaritan” laws and can be held liable if they do stop to help someone and something goes wrong. A layperson would not have that type of legal exposure. Medical treatment issues are complex and I can’t see how they are related to open source software.
In the U.S., a doctor has no affirmative duty to provide medical assistance to injured persons if they have not established a special relationship with the individual.
https://en.m.wikipedia.org/wiki/Duty_to_rescue
Read the last part about the elderly man who died in a bank and no one offered assistance.
What? Given what you said in your first sentence, this seems a bit contradictory. When I post some code online, nothing forces me to review PRs other than an implicit social contract.
The likelihood of a rational person ignoring PRs/issues seems pretty low, since one typically wants improve their software. Nonetheless, it definitely happens for one reason or another and it's not something worth complaining about unless you're given some sort of a priori quality assurance.
I'm sure there are thousands of projects on Github which have a 0% response rate for PRs/issues. This isn't bad -- it just is. It's entirely someone's right to post a project and forget about it, regardless of how popular it got later on. Radio-silent projects will almost never get popular, since there's an implicit meta contract around support, feedback, etc.
Nope, not everyone can. And not everyone using it can fix it. And certainly not everyone can fix something to the standards that maintainers might demand.
> 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 I'm bothering to try to help them with their project, they owe as much 'politeness' and 'gratitude' back to me as is expected of them. It's a (minimum) 2 way street.
Actually it does seem unreasonable to get irate at the developers when fitness for use is explicit in the license that enables use of the software in the first place. Open source licenses in general and the Python license in particular are very clear about this. The Python 3.7 license has the following term in section 4:
4. PSF is making Python 3.7.0 available to Licensee on an "AS IS" basis.
PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF
EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR
WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
USE OF PYTHON 3.7.0 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
If you use Python 3.7.0 and it displeases you, that's just part of the deal. On the other hand you do have the right to make your own copy and fix it to serve your purposes.Edit: fixed typo
https://www.apache.org/licenses/LICENSE-2.0
https://opensource.org/licenses/MIT
https://opensource.org/licenses/BSD-3-Clause
https://www.gnu.org/licenses/gpl-3.0.en.html
The user is indeed choosing to use it over other alternatives; they are choosing to use it, and should make that choice on the basis of their own evaluation of the functionality and stability of the library.
Certainly, but notwithstanding those disclaimers, if the project's README or homepage describes it as intended and fit for a particular purpose, the user invests some time into learning to use the code in question based on the description, and it turns out that the description was... shall we say, overly optimistic, isn't the user entitled to be pissed off at the maintainer?
There may not be any legal liability, but the maintainer can incur social obligations by fostering expectations.
As an analogy, what do you think will happen if you tell someone you will help them move their stuff to a new apartment and that you'll bring a dolly, but you bail on them, or even just don't show up[0]? They chose to rely on you to provide the dolly rather than find some other alternative, after all.
So of course social obligations aren't something you can be sued over, but they are indeed real, and ignoring or violating them does have a cost: People get pissed off at you, which they may choose to express uncouthly in your general direction or vicinity, and your reputation suffers.
It is worth noting that this is far from a blank check for them to hurl invective at you. Their reputation may suffer as well, depending on just how uncouth they are.
Such is life.
[0] I am NOT saying that GvR has done the equivalent. In point of fact, he has left no outstanding commitments behind, and has fostered the growth of a robust group of core committers that are well up to the task of continuing to steer the project in his stead, though perhaps without his particular aesthetic sense.
I like your point about 'payment' not being a magic excuse for switching from not-rude to rude.
I don't accept the food analogy. You need food to survive, and you might need it free if you get stuck in life. You don't need free software - it's a bonus.
You mentioned the food-poisoning suing example - IA(also)NAL but if you put free software online without everybody's favourite "AS IS" block at the top, I believe you're on the hook if your software doesn't behave properly, so it looks to me like the law agrees with your notions.
Personally, I find the expectations over people offering software for free to be, broadly speaking, obnoxious - I definitely have a chip on my shoulder about it and I know that's coming out in this comment, so, apologies for the out of the blue railroading; your comment is the one that got me to articulate all the above, so, thanks.
That's a complex question about implied warranty that probably is affected by whether or not you are meet the legal standard to be considered a merchant of the type of good/service provided and other factors (and the AS IS block definitely discourages people to sue, but you may not actually be able to disclaim the warranty involved, so it may not get you off the hook.)
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.
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).
Not at all. If I do all that, maybe I just did it for practice? Maybe I get bored or RSI and quit developing software? Nobody owes you anything, regardless of what they've offered you prior.
IANAL
Even more extreme, consider that companies that do charge money drop the ball constantly on security/privacy, and basic quality. And yet they continue growing, maybe having a bit of churn.
I think there's something about generosity that just attracts entitled bullies/leeches because they see it as an opportunity to "win" against people who are "foolish" (aka "weak") enough to work for free. Sadly sometimes the generous are duped into considering such requests out of curiosity or politeness, which leads to burnout or worse.
A similar effect exists in relationships. If you are ‘nice’ then your potential partners include both other nice people and horrible people, because generally a horrible person will not tolerate another horrible person. Hence, you see nice people in relationships with horrible people more often than one would hope.
Figure it out sooner rather than later or you'll be walked over for the rest of your life.
- "You don't have to do X but if you don't do X you're being a jerk."
- "Don't be a jerk."
If I don't do X, have I violated the license terms or not?
I get so many bug reports like "This sux and you have to fix it!!!!" and even when I wake up on the right side of the bed, there's nothing I can do with those.
A calm discussion of what the developer is trying to achieve, what they expect to happen, what actually happens, and how I can reproduce will get a quick response from me 100% of the time.
That said, when someone open sources something there isn an implicit "contract" between the developers and users. The users' feedback helps the developers and in return they get something valuable. It's more of a group effort rather than some one directional flow of power. I've seen projects where these relationships weren't properly managed or where one group didn't appreciate the other and the end result is always the same: dead projects.
OSS maintainers deserve respect but at a certain point they have turned their hobby in to their career, complete with clients and marketing. If you are willing to trust an open source project for your livelihood than the maintainer also has an obligation to respect that.
Sure, but in the same sense "you pay" for eating a day-old egg salad sandwich you found sitting on a park bench. (Luckily, even using badly-written open source software generally has a less unpleasant outcome.)
Like open source, the chef -- who you have no relationship, connection or contract with -- is not under any obligation to guarantee either your satisfaction or survival.
If you want to reduce the risk to your livelihood, you should pay money for both your critical open source software and your egg salad sandwiches.
Some people downloaded it, built it and used it. Even added to it, where they liked.
Most people were like you.
I never share code any more.
Worse, it's open source. You are always free to do it your damn self if it's so important to your livelihood.
Rule 1: Nobody owes you jack.
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 these human beings their manners?
I totally understand the frustration when you write a large system in Python and then the Python committee makes a breaking change that makes your life very difficult. However, you didn't pay for Python! These sorts of changes should be expected, and if you didn't expect it, you are the fool. And in any case, you aren't paying these people a cent, so speak politely to them. You are basically a charity case from their perspective.