Good, not evil
There is a bit of a fluff online currently about the following clause in the "jsmin" code (whatever that is):
The software shall be used for good, not evil
This seems to have started when Google rejected a project based on that code due to its license being not free or open source according to their standards, and therefore not welcome anymore.
The arguments then quickly degenerated into things like 'when did google stop being against evil'. But those are all besides the point.
One of the most important properties of free and open source software is that anyone can use it for any purpose; there are no restrictions to using them. The DFSG (and hence, the OSD which was derived from the DFSG) encode this as follows:
No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
You may think "how is 'evil' a field of endeavor", but that is the wrong question. To "use software for evil" can mean any of a number of things, including "nuclear research", "weapons development", "abortion", or, heck "the cash register in a butchery shop", depending on the ethical and moral framework through which the person writing the license sees the world.
The ability to give someone a CD or DVD with a bunch of software on there, being able to tell them that they can just use this in any which way they see fit, is a very strong and important feature of the free and open source community. Every time someone comes up with a clause like the above, however, this ability is diluted somewhat; and if it is readily accepted within the greater free and open source movement, then eventually everyone interested in using a piece of software must first check whether they're not trying to use software that forbids someone's pet evil, and we lose one of the greatest strenghts that does exist for free software, but not for proprietary software.
The sad thing is, the jsmin author seems to agree. From a video/transcript on which he talks about his absurd license clause is the following quote:
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."
Or, in other words, all you have to do if you want to use this software for evil is set up a second company, tell Douglas that this second company wants to sell software that uses his software to people who might use it for "evil", even though the first company won't, and you're in business. Because Douglas doesn't really oppose evildoers.
So the question is, why is that clause in there in the first place? There are only two possibilities; either Douglas didn't really think about those issues, in which case I hope he will one day see the light and remove the clause; or he did, and decided to go ahead and put that clause there anyway. And that would be evil.
You make good points about various things about which reasonable people may disagree with the evil status (EG nuclear power).
One point that I think needs to be raised is the fact that no-one seems to think that they are actually doing evil. People admit to making the least bad choice, they use the phrase "lesser of the two evils" when they pick the option that seems less bad - but usually without thinking that it is actually an evil option.
People who commit heinous crimes that are agreed to be evil by most of the human race tend to not think that they are being evil. In fact such people often believe that they are doing God's work! So I would not use software with a "not to be used for evil" licence because the author might have a definition of evil that in some ways negates my own personal definition.
This combined with the issue that "evil" can't be reasonably defined in court makes it a bad licence condition.
However I think it does make a reasonable corporate mission statement. I know a bunch of people who work for Google, I know that their ideas of evil correspond reasonably well to mine, and I believe that the general opinion among Google employees is similar. So the fact that they are keeping in mind the fact that they want to not be evil is significant to me.
But if someone wants some cheap laughs at the expense of large corporations then such a licence will do that job.
Albert Einstein once said to someone: "Don't attribute to malice what can be explained be stupidity, but don't discard malice". Or something of the sort.
Let's be honest, being able to code great programs doesn't make you a good witness and much less being able to comprehend the historical and cultural contexts that you have been dealt with; that much requires education in the social sciences that most people in natural science, engineering and tech never consider important to the point that even when offered the opportunity to explore those worlds while in their undergraduate schooling, they reject it. And even more importantly, the awareness that the world does not revolve around our navel. Then it boils down to people in science and tech asking themselves why the destiny of the world in the hands of people who don't know the difference between a fussion bomb and a gas lighter. Please.