I was wrong about the GPL
If you’re a regular reader of this blog, then you probably know that I have been a huge fan of the GNU General Public License for some time. I have always said that it is my favourite license since it allows you to do what you want with the code but also ensures others have that freedom as well by prohibiting distributing closed-source versions of your software. However, I have since changed my mind.
I have spoken to a few people who have tried to convince me that the BSD Licenses are better since they give you ‘actual freedom’, and I have always said that I still prefer copyleft licenses like the GPL, since I don’t want companies adding features to my software and closing off the source code from the public.
There are numerous types of BSD license, including the 0-clause, 2-clause, 3-clause and 4-clause BSD Licenses. I still consider these to be good licenses, it’s just that I would always use the GPL over these. However, I recently came across a BSD license so good, that I’ll probably re-license all my software under it.
Introducing… the BSD 3-Clause No Nuclear Warranty license!!!
This license is almost the same as the BSD 3 Clause license but it adds an additional clause, which reads as follows:
You acknowledge that this software is not designed
or intended for use in the design, construction, operation or
maintenance of any nuclear facility.
When I saw the above clause, my eyes filled with tears. This license is truly the best I have ever seen and I think is nearly impossible to surpass this. I mean companies profiting off your open source work without giving anything back is bad, but having my software be used in any facility that could reasonably be described as ‘nuclear’ is orders of magnitude worse!
Sure, the license doesn’t specify what a ‘nuclear facility’ is, but that ambiguity is what makes this license beautiful. It could be referring to nuclear power plants, places that manufacture nuclear weapons, places that do research into the structure of the atom’s nucleus and so on. One could even argue that it includes every house that has two parents and their children living in it (a nuclear family) since a house could reasonably be classed as a ‘facility’.
It should be noted that this license was written by Sun Microsystems and designed for use with their software, so the license says the copyright is owned by them. Now you could say this is a problem, since my software’s copyright is owned by me, and not them. However, Sun Microsystems no longer exists so they can’t claim copyright on my software so it’s probably fine.
Could I rewrite the license to not include the Sun Microsystems copyright? Yes.
Is this license too incredible for me to want to change a single thing in its perfectly written text? Also yes.
So I shall be keeping the Sun Microsystems copyright notice when I apply the license to my software and hope it doesn’t automatically remove my copyright from anything.
In order to test the efficacy of this license, I am licensing this blog post (only this blog post for now) under this license. If anyone tries to use this blog post in any place that can be referred to as a ‘nuclear facility’ then please let me know so I can sue them into oblivion.