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 - http://www.sqlite.org/different.html also mentions) to me, doesn't appear to apply.
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.
Technically SQLite is in the public domain, so you can do evil with it (public domain works are inherently more evil than Open Source-licensed works), and they only offer a blessing and not a requirement to do no evil. So SQLite is way more evil than JSON.
Almost everything in there is dedicated to giving rights to the user instead of the other way around. In the end, even if a work is created "for evil", you can get the source code, change it and make it be for good. (Not to mention the whole non-discrimination thing is considered by some to be pretty "good" in nature)
Public domain allows you to do anything you want at all with the source material and the product never has to give anyone any rights, prevent discrimination, allow access to the source code, or do anything positive whatsoever. I can take the SQLite source code, rebrand it "SQLPeter", change it so it corrupts your data randomly, remove all documentation and tests and keep the source code from you and charge $1,000 for support.
The work itself may be made with the best of intentions, but the license (public domain) allows it to be used for more evil than the Open Source license would have permitted.
Er, how does what you've asserted comport with code released via MIT/BSD? The only strictures that they impose is retaining copyright and license notice.
No restriction on usage or brand confusion. That seems a rather immaterial difference along a hypothetical alignment spectrum.
The complaint is going to be the same tired old saw that "OMG if you release under anything that isn't the GPL with assignment to FSF, um, I mean, anything that isn't strong-copyleft, then some EVIL COMPANY might take the software and build it into a commercial project!"
GPL folks are willing to accept fewer rights in exchange for a guarantee that at least that subset of rights will be passed on to all parties. Permissive (BSD/MIT/etc.) folks are OK with the idea that someone might build proprietary software someday, and prefer the license that lets you do the most stuff right now.
What does "you can do evil" even mean? Evil by definition is doing something you shouldn't do, so banning evil is as silly as passing a law saying that breaking other laws is illegal.
6. that which is evil; evil quality, intention, or conduct: to choose the lesser of two evils.
7. the force in nature that governs and gives rise to wickedness and sin.
8. the wicked or immoral part of someone or something: The evil in his nature has destroyed the good.
9. harm; mischief; misfortune: to wish one evil.
10. anything causing injury or harm: Tobacco is considered by some to be an evil.
Therefore, if you want to 'do evil' you can harm, cause mischief, cause misfortune, cause injury or harm, etc etc etc. So that's what "you can do evil" means.
Second.
Evil is not by definition, "doing something you shouldn't do," as evidenced in the definition in the URL linked above. Evil is just bad. Sometimes it might be necessary to do evil. The bible has innocent god-fearing people do evil all the god-damn time - but it's something they do In The Name Of The Lord.
Third.
Why the hell are you telling me this? I never said anyone should or should not 'ban evil', I was merely stating that the potential for good or evil in a public domain-licensed piece of software like SQLite can't be compared to an Open Source-licensed product because the public domain is inherently more evil than Open Source.
Fourth.
'Banning evil' is not even comparable, to saying that breaking a law is illegal. Saying that breaking a law is illegal is a truism. Banning evil is a sometimes-necessary act in order to enforce a punishment for doing evil, which is the whole basis for a system of laws and penalties. You have to define what evil is and define a punishment for varying degrees of evil. Without specifically defining such laws you have a kind of tribal unspoken law which is quite subjective and not compatible with things like copyright law or software licenses.
I happened to come across that clause last week and tracked down some humorous commentary by jslint's author:
Douglas: That's an interesting point. Also about once a year, I get a
letter from a lawyer, every year a different lawyer, at a company--I don't
want to embarrass the company by saying their name, so I'll just say their
initials--IBM...
[laughter]
...saying that they want to use something I wrote. Because I put this on
everything I write, now. They want to use something that I wrote in
something that they wrote, and they were pretty sure they weren't going to
use it for evil, but they couldn't say for sure about their customers. So
could I give them a special license for that?
Of course. So I wrote back--this happened literally two weeks ago--"I give
permission for IBM, its customers, partners, and minions, to use JSLint for
evil."
His javascript minifier 'jsmin' was causing projects to get removed from Google Code and other places that only host open source code, so I emailed Mr. Crockford to ask if I could get the same extension he gave to IBM. His response was less than thrilling-
I released to free use for all with the only condition that it not be used for evil. If that is unacceptable to you, then you may not use it. Your options are to bend to the pro-evil fanatics, or to find a more reasonable hosting solution.
Mmm, well I'm assuming that when you are using jslint to check your javascript you are doing so much good (avoiding increasing the amount of crappy javascript in the world) that it doesn't really matter if the javascript you are writing is for the skynet website. Plus we wouldn't want a xss attack to take down skynet allowing pesky humans to survive. That would be just wrong.
Nope. Read the Open Source Definition as defined by the Open Source Initiative. To be Open Source (tm), you need to not discriminate against any "fields of endeavor".
The open source initiative failed to obtain the trademark. So "Open Source" as a term is not trademarked, and can mean anything.
IMO, the only useful description of open source is source code licensed under one of the licenses approved by the Open Source Initiative, but there is no trademark protecting that particular use.
Comments
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 - http://www.sqlite.org/different.html also mentions) to me, doesn't appear to apply.
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.
Technically SQLite is in the public domain, so you can do evil with it (public domain works are inherently more evil than Open Source-licensed works), and they only offer a blessing and not a requirement to do no evil. So SQLite is way more evil than JSON.
Forgive me, but could you expound further on how public domain works are inherently more evil than FOSS?
First read the Open Source Definition: http://www.opensource.org/docs/osd
Almost everything in there is dedicated to giving rights to the user instead of the other way around. In the end, even if a work is created "for evil", you can get the source code, change it and make it be for good. (Not to mention the whole non-discrimination thing is considered by some to be pretty "good" in nature)
Public domain allows you to do anything you want at all with the source material and the product never has to give anyone any rights, prevent discrimination, allow access to the source code, or do anything positive whatsoever. I can take the SQLite source code, rebrand it "SQLPeter", change it so it corrupts your data randomly, remove all documentation and tests and keep the source code from you and charge $1,000 for support.
The work itself may be made with the best of intentions, but the license (public domain) allows it to be used for more evil than the Open Source license would have permitted.
Er, how does what you've asserted comport with code released via MIT/BSD? The only strictures that they impose is retaining copyright and license notice.
No restriction on usage or brand confusion. That seems a rather immaterial difference along a hypothetical alignment spectrum.
Just don't try rebranding Linux b/c you'll end up trying to sell something called Penux.
The complaint is going to be the same tired old saw that "OMG if you release under anything that isn't the GPL with assignment to FSF, um, I mean, anything that isn't strong-copyleft, then some EVIL COMPANY might take the software and build it into a commercial project!"
GPL folks are willing to accept fewer rights in exchange for a guarantee that at least that subset of rights will be passed on to all parties. Permissive (BSD/MIT/etc.) folks are OK with the idea that someone might build proprietary software someday, and prefer the license that lets you do the most stuff right now.
I believe you'll find his explanation in the dictionary, somewhere between "humor" and "sarcasm".
What does "you can do evil" even mean? Evil by definition is doing something you shouldn't do, so banning evil is as silly as passing a law saying that breaking other laws is illegal.
Is this a troll? Fuck it, i'll answer it anyway.
First.
Evil by definition is:
(http://dictionary.reference.com/browse/evil)Therefore, if you want to 'do evil' you can harm, cause mischief, cause misfortune, cause injury or harm, etc etc etc. So that's what "you can do evil" means.
Second.
Evil is not by definition, "doing something you shouldn't do," as evidenced in the definition in the URL linked above. Evil is just bad. Sometimes it might be necessary to do evil. The bible has innocent god-fearing people do evil all the god-damn time - but it's something they do In The Name Of The Lord.
Third.
Why the hell are you telling me this? I never said anyone should or should not 'ban evil', I was merely stating that the potential for good or evil in a public domain-licensed piece of software like SQLite can't be compared to an Open Source-licensed product because the public domain is inherently more evil than Open Source.
Fourth.
'Banning evil' is not even comparable, to saying that breaking a law is illegal. Saying that breaking a law is illegal is a truism. Banning evil is a sometimes-necessary act in order to enforce a punishment for doing evil, which is the whole basis for a system of laws and penalties. You have to define what evil is and define a punishment for varying degrees of evil. Without specifically defining such laws you have a kind of tribal unspoken law which is quite subjective and not compatible with things like copyright law or software licenses.
Does that clear things up?
jslint (and it's derivatives) are still under this license.
(which is a shame, because this clause makes it incompatible with the GPL family of licenses).
I happened to come across that clause last week and tracked down some humorous commentary by jslint's author:
http://www.mail-archive.com/debian-legal%40lists.debian.org/...His javascript minifier 'jsmin' was causing projects to get removed from Google Code and other places that only host open source code, so I emailed Mr. Crockford to ask if I could get the same extension he gave to IBM. His response was less than thrilling-
I released to free use for all with the only condition that it not be used for evil. If that is unacceptable to you, then you may not use it. Your options are to bend to the pro-evil fanatics, or to find a more reasonable hosting solution.
Ultimately I wrote my own called JShrink (which I just moved to github this weekend - https://github.com/tedivm/JShrink).
The point being, he's not actually willing to make the change.
Nice work. Google also reimplemented jsmin as jsmin.py here: https://github.com/v8/v8/blob/master/tools/jsmin.py
Now we just need an evil-friendly reimplementation of jslint.
A quick search shows quite a few examples lurking on Google code
http://searchco.de/?q=The+Software+shall+be+used+for+Good%2C...
Is Google actually enforcing this? I would be curious to know how many projects have been affected by it.
Can he now be accused of being an accomplice of the evil doing of IBM?
If this evil thing is also illegal, is he putting himself into legal risk? After all, he explicitly agreed on the evil task.
The video of that talk (relevant portion here: http://www.youtube.com/watch?v=-hCimLnIsDA) is available further down the page: http://news.ycombinator.com/item?id=3693327
Mmm, well I'm assuming that when you are using jslint to check your javascript you are doing so much good (avoiding increasing the amount of crappy javascript in the world) that it doesn't really matter if the javascript you are writing is for the skynet website. Plus we wouldn't want a xss attack to take down skynet allowing pesky humans to survive. That would be just wrong.
(Last part was a joke :P)
The clause doesn't just make it incompatible with the GPL, it makes it not open source.
Only for some bizarre definition of open source in which the words open and source do not mean open and source.
Nope. Read the Open Source Definition as defined by the Open Source Initiative. To be Open Source (tm), you need to not discriminate against any "fields of endeavor".
http://www.opensource.org/docs/osd#fields-of-endeavor
The open source initiative failed to obtain the trademark. So "Open Source" as a term is not trademarked, and can mean anything.
IMO, the only useful description of open source is source code licensed under one of the licenses approved by the Open Source Initiative, but there is no trademark protecting that particular use.
I have as little respect for people who redefine open source as for the people who redefine free software.