The JSON spec is no longer exclusively under this license as it's part of both the ECMA 5 specification and formalised under RFC 4627 so the "do good not evil" tidbit (which, by the way, SQLite - <a href="http://www.sqlite.org/different.html" rel="nofollow">http://www.sqlite.org/different.html</a> also mentions) to me, doesn't appear to apply.<p>Can we get over this and move on? Anyone would think a lot of people were swindled of something that was clearly not ill-intended.
People may make light of this, but as the dzone.com article points out, it's what's known as a Field of Use limitation [1], and it's an actual problem.<p>The "good" vs "evil" thing is perhaps a red herring, but you can imagine the practical consequences if "free" software developers licensed their work for all purposes except competitors, etc.<p>The Free Software Foundation raised this issue in the context of royalty-free patent licenses years ago [2], and the Open Source Initiative went so far as to say that if a license allowed for a "Discrimination Against Fields of Endeavor" then it wasn't an open source license at all [3].<p>I'm sure D. Crockford didn't do this to be malicious in any way, likely he even did it just to be cute, (maybe he even meant well by it!), but it's also a shame that it's persisted this long, as it sets a bad example for others.<p><pre><code> [1] http://en.wikipedia.org/wiki/Field-of-use_limitation
[2] http://www.gnu.org/philosophy/w3c-patent.html
[3] http://www.opensource.org/osd.html</code></pre>
I remember a talk of Crockford, where he explained that. He also explained that it worried IBM lawyers, to the point that he signed them a document "authorizing IBM to do evil with his software".
> <i>But, the most important thing I take away from this license is that this additional clause adds an unnecessary complication… </i><p>The standard (and correct) response to this is that if you don't like the license either don't use the code or negotiate (as IBM have done in this specific case) alternate terms.<p>> <i>one that many people don’t even know is lurking in their dependency tree.</i><p>That is a due diligence failing on the part of those people, rather than a problem with this specific license. If you don't know that this clause is relevant to your dependencies then what else might be hidden in there that you are unaware of?<p>A bit like the "blue M&Ms" (and other such) found in the riders for celebrities, they do that as a test to make sure people have bothered to read the information provided rather than any real need for the specific demand to be complied with.
I saw this license buried within the iOS "Settings -> General -> About -> Legal Notices".<p>So I guess neither Apple nor any iPhone-owning user may use the phone for evil.
JSMin was removed from Google Code because of this licence. Douglas Crockford explains the reasoning behind the license: <a href="http://wonko.com/post/jsmin-isnt-welcome-on-google-code" rel="nofollow">http://wonko.com/post/jsmin-isnt-welcome-on-google-code</a>
I have been using similar license with my freeware apps for some time <a href="http://www.rw-designer.com/entry/315" rel="nofollow">http://www.rw-designer.com/entry/315</a><p>I think when giving something away for free, it does not hurt to try to make the world a little better...
I've been thinking about this problem with law a bit lately. It seems like our laywers & politicians want every legal question to be completely decidable, and this attitude leaks into popular culture too (or is it the other way around?), hence this article's preoccupation with the fact that good or evil intent cannot (as far as we know) be identified by any mechanical process.<p>This type of thing is of course a problem in computer science, but <i>the law is not a computer</i>, and I wish we could stop treating it like one. With humans involved, it's quite feasible to make decisions about undecidable things. This process is called exercising judgement, and we hire judges to do it. Frankly, I don't see what the problem is with a "don't be evil" clause. Pretty much everyone understands what it means in most any given circumstance, even if we can't write down a decision procedure for it.<p>I understand that part of the motivation here is the urge to CYA and offload all accountability for bad decisions from people to "the law". Not sure what to do about that.<p>Further reading: <a href="http://www.newyorker.com/arts/critics/atlarge/2012/01/30/120130crat_atlarge_gopnik?currentPage=all" rel="nofollow">http://www.newyorker.com/arts/critics/atlarge/2012/01/30/120...</a> ; appeared on HN yesterday; from paragraph 7, argues that these attitudes are partly responsible for the current incarceration problem in America.<p>(I wonder, can we make a proof of the undecidability of the good-vs-evil problem? I don't think it'll be as easy as for the halting problem; we know how to make a program halt or not halt, but it's unclear how to make a program "do something evil" or "do something good".)
"The Software shall be used for Good, not Evil."<p>Surly this is just a statement of fact. That once embedded in your software, you program will be considered Good.<p>It doesn't change the line above which grants the user the rights to use the software "without restriction"
This would also appear to violate the Debian Free Software Guidelines (DFSG), clause 6, and possibly 5.<p><a href="http://www.debian.org/social_contract" rel="nofollow">http://www.debian.org/social_contract</a><p>... and there's a reimplimentation, jsmin.py:<p><a href="http://wonko.com/post/jsmin-isnt-welcome-on-google-code#comment-5681" rel="nofollow">http://wonko.com/post/jsmin-isnt-welcome-on-google-code#comm...</a><p>(Joey Hess is a long-time Debian developer).
I don't understand why this poses a problem, even for lawyers. The clause is clearly unenforcible so why can't it just be ignored? Is there seriously some concern that a judge would decide that it is enforcible?
But how can the Javascript Object Notation have a license? It's part of the Javascript language isn't? So we cannot use javascript objects for evil or?