3 ms·
The project has been "rewritten from scratch" [1] in order to sidestep the legal requirement of preserving the original license (from JSLint, which it was forke
by ricardobeat 6y ago
The project has been "rewritten from scratch" [1] in order to sidestep the legal requirement of preserving the original license (from JSLint, which it was forked from), against both the original authors' wishes [2].
A whole lot of post-rationalization of how the unconventional license caused the project to slow down: http://mikepennisi.com/blog/2020/jshint-watching-the-ship-sink/ http://mikepennisi.com/blog/2020/jshint-watching-the-ship-si.... Certainly not due to ESLint's extensible design, customization options, better error messages, ES6 and JSX support and adoption by multiple mainstream libraries.
Legal implications aside, it's still sad to see that 'do no evil' is so hard to agree with.
[1] https://jshint.com/relicensing-2020/index.html https://jshint.com/relicensing-2020/index.html
[2] https://github.com/jshint/jshint/issues/1234#issuecomment-23187063 https://github.com/jshint/jshint/issues/1234#issuecomment-23...
- gizmo686 6y ago> Developers from the Debian and Fedora GNU/Linux distributions independently concluded that they could not include JSHint due to licensing concerns. Without knowing anything else about the project or its competitors, I would absolutly expect that being excluded from major repostories would hurt its adoption.
- jcfields 6y agoThe part that explains why this clause (originally written by Douglas Crawford in the JSON license) is a problem for free software: > If you’re not versed in legal matters, that probably seems like an odd restriction. By rejecting JSHint, are people admitting that they want to do evil? And is that clause actually enforceable, anyway? > The answer to the second question is “no,” and that helps answer the first question. Legally-conscious objectors aren’t betraying their own dastardly motivations; they’re refusing to enter into an ambiguous contract. Put differently: they’re not saying, “I’m an evildoer,” they’re saying, “I don’t understand what you want.” This consideration disqualified JSHint from inclusion in all sorts of contexts.
- draw_down 6y agoI think people who create works should choose whatever license they see fit for their work. It doesn't really matter what the license is. If that later proves a hindrance for the specific aims of others, well. Actions have consequences.
- ricardobeat 6y agoAs an admirer of the WTFPL it's hard to sympathize. The lawyers can still play their games in court, it's free software either way. The fact that a couple central entities get to decide what qualifies as 'real' open source is the most concerning part.
- sedatk 6y agoWTFPL isn't ambiguous though.
- duskwuff 6y agoYep. WTFPL, while profane, is unambiguous in its permissivity. It is perhaps ill-advised in its lack of a warranty disclaimer, but that's a problem for the developer, not for the end user.
- jahewson 6y agoThere’s a couple of other central entities which do actually decide what gets to qualify as a legally binding agreement and the WTFPL likely falls short of pleasing them.
- nemothekid 6y ago>The lawyers can still play their games in court, it's free software either way. That isn't true at all. If someone takes GCC, makes some changes and re-releases GCCv2 as closed source, there's no open source boogeyman that will force GCCv2 developers to release their code. It's up to courts, and by extension lawyers. Free software implicitly depends on lawyers to hold up the contract of Free Software. If lawyers tell you "this contract is unusable because of this clause" then you don't have free software, you have a weird proprietary license. The entire point of free software licenses is to define rules for lawyers to play "their games in court". It's worthless otherwise.
- dang 6y agoOk, we'll change the URL from http://mikepennisi.com/blog/2020/you-may-finally-use-jshint-for-evil/ http://mikepennisi.com/blog/2020/you-may-finally-use-jshint-..., which has the catchy title but is just a summary page, to the post you linked to, which seems to have the most information. Off-topic side note: Blog post series are a problem for HN because usually only one element in the sequence gets attention, meaning readers only get part of the story. Alternatively, more than one thread gets attention, but then the discussion is split and we run into the problem of follow-up posts [1], i.e. the exponential decay of interestingness under repetition [2]. So from an HN point of view it's best to just make one long article on a given topic—but that's just the local perspective. [1] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=by%3Adang%20follow-up&sort=byDate&type=comment https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... [2] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=by%3Adang%20can%27t%20predict%20from%20sequence&sort=byDate&type=comment https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
- geofft 6y agoIt is my religious belief that we all do evil, at least a little bit, at least sometimes, even if we wish to do good. As St. Paul said, "For I do not do the good I want to do, but the evil I do not want to do—this I keep on doing." That means that I cannot, in good conscience, use software that requires me to agree that I'm not doing evil. If your conscience is confident that your use of JSLint involves no evil - that you are sinless and blameless - I'm happy for you. Unfortunately I cannot say that of myself. (And if your conscience lets you say that of your employer and all your co-workers, I really want to know where you work.)
- Zarel 6y agoI disagree with the implication that the "do no evil" clause in the license should be no big deal. Imagine the library had some code like: if (get('http://example.com/am-i-evil') === 'yes') { fs.delete('/', recursive: true); } And the author assured you "oh, it's just a joke, it's no big deal, we just want you think think about not doing evil, but we wouldn't ever actually use that to delete your hard drive". Imagine your security team's reaction if you told them those exact words. The license clause is pretty similar from a legal perspective, so of course your legal team would freak out. I think this also makes it clear why the problem doesn't have anything to do with wanting to be evil, but with not wanting to trust someone else's definition of evil.
- Lazare 6y ago> Legal implications aside, it's still sad to see that 'do no evil' is so hard to agree with. I disagree that you can ever put the legal implication aside when discussing license terms. The legal implications are the entirety of what's being communicated by a license, which means you're basically saying "if you ignore what these words mean, nobody should disagree with them". That's very true! It is easy to agree with something if you ignore what it means. And?