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
Do you know the JSON License? It is a software license inspired by the MIT/Expat license with one additional morality clause:
The Software shall be used for Good, not Evil.
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.
Now, if you really want to be considered as non-free, and rejected by Debian, Red Hat/Fedora, Google Code and more generally any free software distributor, this is the way to go.
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.
15 comments
saturday 10 march 2012 à 11:37 anon said : #1
saturday 10 march 2012 à 21:00 Rafael said : #2
monday 12 march 2012 à 17:42 Anonymous said : #3
monday 12 march 2012 à 17:48 Tanguy said : #4
saturday 17 march 2012 à 19:34 Sven said : #5
saturday 17 march 2012 à 21:13 Anton Piatek said : #6
saturday 17 march 2012 à 21:21 Anton Piatek said : #7
thursday 24 may 2012 à 14:11 Skype Download Free said : #8
tuesday 11 december 2012 à 11:07 Bastien ROUCARIES said : #9
tuesday 11 december 2012 à 14:20 Tanguy said : #10
saturday 21 march 2015 à 17:00 really? said : #11
sunday 31 january 2016 à 05:10 Poop said : #12
sunday 16 august 2020 à 20:53 Ernesto Sun said : #13
wednesday 19 october 2022 à 11:00 epic gamer said : #14
thursday 01 december 2022 à 15:06 Tanguy said : #15