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].<p>A whole lot of post-rationalization of how the unconventional license caused the project to slow down: <a href="http://mikepennisi.com/blog/2020/jshint-watching-the-ship-sink/" rel="nofollow">http://mikepennisi.com/blog/2020/jshint-watching-the-ship-si...</a>. Certainly not due to ESLint's extensible design, customization options, better error messages, ES6 and JSX support and adoption by multiple mainstream libraries.<p>Legal implications aside, it's still sad to see that 'do no evil' is so hard to agree with.<p>[1] <a href="https://jshint.com/relicensing-2020/index.html" rel="nofollow">https://jshint.com/relicensing-2020/index.html</a><p>[2] <a href="https://github.com/jshint/jshint/issues/1234#issuecomment-23187063" rel="nofollow">https://github.com/jshint/jshint/issues/1234#issuecomment-23...</a>
> The Software shall be used for Good, not Evil.<p>It's so funny because Crockford is one of the most persuasive speakers and coders on avoiding ambiguity, on readability over coders desire to "express themselves" in code, and on making language design decisions based on research.<p>He then takes a step outside his area of expertise and chooses to express himself with an ambiguous license created without consulting anyone who has domain expertise in software licensing.
I have found it funny that Douglas Crockford apparently gave IBM this exception: "I give permission for IBM, its customers, partners, and minions, to use JSLint for evil." (for JSLint, which JSHints was forked from): <a href="https://web.archive.org/web/20170722132351/https://dev.hasenj.org/post/3272592502/ibm-and-its-minions" rel="nofollow">https://web.archive.org/web/20170722132351/https://dev.hasen...</a>
> <i>The Software shall be used for Good, not Evil.</i><p>I get that software developers add these things to licenses in good humor, but lawyers have no humor unfortunately. If you want your project to be used in a serious way, it's better to leave the ambiguous phrases out of your license and choose something standard.
> ...licensing concerns. That’s why Ubuntu users can’t download JSHint via sudo apt-get install jshint.<p>Okay, this is misleading. You can install tons of non-free packages using apt from the official archive. They are in the multiverse section.<p><a href="http://archive.ubuntu.com/ubuntu/pool/multiverse/" rel="nofollow">http://archive.ubuntu.com/ubuntu/pool/multiverse/</a>
I've also had customers dig their feet in because I depended on this library: <a href="https://dst.lbl.gov/ACSSoftware/colt/license.html" rel="nofollow">https://dst.lbl.gov/ACSSoftware/colt/license.html</a>. Exactly when what you're doing is considered a military application is ambiguous. Have an obscure DoD contractor as a customer? Uh oh - can't use this...
Sorry for commenting on the formatting instead of contents, but how could someone say "The following graph shows how many times JSHint has been downloaded from npm each week over the past five years" and then present a graph with four data points?<p>Frankly that makes me doubt the author's central piece of evidence (that JSHint gets much fewer downloads than ESLint).<p>* Graph from this URL in case it changes again: <a href="http://mikepennisi.com/blog/2020/jshint-watching-the-ship-sink/" rel="nofollow">http://mikepennisi.com/blog/2020/jshint-watching-the-ship-si...</a>
Writing software is not a neutral act. You are morally responsible for its uses. Restricting those uses is both a responsibility and a good. Circumventing this restriction is itself an immoral act.