JSON License considered harmful

Summary

The JSON License may
seem interesting, but it a bad license, both non-free and ambiguous: do
not use it. If you are the author of a piece of software that
uses JSMin
or its PHP port,
consider dropping that non-free part or at least rendering it
optional.

The JSON license

Non-free

For novices that clause can be perceived as a good idea serving a
noble goal. But the problem here is that is would make your software
non-free.

Indeed, there are two common definitions of free software: the FSF
definition, and the Debian Free
Software Guidelines, also known as the Open Source Definition.
Basically, both definitions indicate that to be free, a piece of
software must be usable with no restrictions, and forbidding evil uses
is such a restriction. Specifically, it violates:

the FSF's zeroth liberty: “A program is free software if
the program's users have the four essential freedoms: The
freedom to run the program, for any purpose (freedom
0). […]”

the DFSG/OSD sixth point: “No Discrimination Against
Fields of Endeavor: The license must not restrict
anyone from making use of the program in a specific field of
endeavor.”

Ambiguous

In addition to these incompatibilities to being free, this morality
clause implies additional problems, the most important one being that it
is ambiguous, which is very bad for a license clause: who
exactly defines what is Good and what is Evil? If it is the author, then
this clause could be used for arbitrarily forbidding any use;
it it is the licensee, then this clause it as good as void.

Do not use it

For all these reasons, the JSON License with that infamous morality
clause is not suitable for free software, so if you plan to use that
license for your work, please consider these suggestions: 1. do
not; 2. do not, really; 3. if still in doubt, refer
to point 1. There are several standard free software licenses, the
closest one being the MIT/Expat one, that
you should consider instead.

On thing worth noting is that this morality clause only annoys free
software distributors, that are certainly not doing Evil, but will not
prevent any evil person to do Evil things with your software. To
encourage people to do Good rather than Evil, it would be better to
formulate that clause as a suggestion rather than an order:

The Software should rather be used
for Good, not Evil.

The JSMin case

This infamous JSON License is known to be used by JSMin and
its PHP port. If you
are a Web application author, be careful when embedded external content,
since it can render you whole piece of software non-free! If
you are using JSMin, I would suggest that you drop it, or at least make
it optional by using a conditional (if JSMin is here, use it, otherwise
do nothing) so that distributors such as Debian can expurgate that
non-free part.

@Rafael: No, of course not! Basically, I think the software written by the authors of JSON itself are under that license, plus JSMin. That is all I have seen so far, and I hope that will ever be.

@Anonymous: I do not think we can rely on ignoring clauses that may be impossible to enforce because they are ambiguous, to qualify a license as free. And ultimately, the will of the author when he chose that license is used to resolve ambiguities, and here, the will is clear: “do not use the software for evil” is meant as a restriction, which makes it non-free, in spirit if not in practice.

If you keep in mind that 'shall' is nothing more than a strong recommendation, I don't think this sentence really makes the license non-free in the DFSG sense. It only states the wish of the licensor, not a strict requirement.

I think it was perhaps the PHP libraries for JSON which had this license, and an IBM development team wanted to use it so contacted their IBM legal team. They requested, and got, a license with an exemption allowing IBM and their customers to be able to use the software for evil.

I work for IBM, and know how careful the legal teams there are about software licenses. The fact that they actually asked for a licensing change suggests that the license is broken for other people and not just FOSS use.

Too many people lack the moral compass to decide what "good" and "evil" are. That is why we are in a world preparing to destroy itself. Who is the ultimate judge? Clue: it is not Barack Obama, Hillary Clinton, Vladimir Putin, ISIS, Al Sharpton, Hamas or Hezbollah. If further explanation is required, you are part of the problem.