I don’t use Debian but I am considering it for a number of reasons. In the context of software for radios, I wanted to see where things stand and what packages are on debian. I wondered why there’s no Pothos package on Debian and I come to find out it’s for a ridiculous reason. But it’s also funny if you follow the trail. The trail goes all the way back to JSON (of all things) and its license.
Their lame argument is because, in lawyer-ese, they cannot guarantee that it will not be used for evil.
Are you still reading…? A side-note is that IBM lawyers sent a letter to the author asking if they could get a special license. He did and it said something like: “I give IBM permission to use this for evil.”!!
I became aware of this at some point, its kind of weird, either no one wants to update the packaging poco to a version which contains JSON or they update it but strip out the JSON support. ubuntu now packages a newer version of poco, but they strip out the JSON component. I was thinking of using the yaml parser which can handle JSON so we dont have to rely on the support from poco, but its not a priority.
JSON package is licenced under a MIT license but with an additional infamous clause:
The Software shall be used for Good, not Evil.
This license is considered non-free by Debian, GNU Project, Fedora, Google, Red Hat legal
The author Douglas Crockford is well aware of the harm he’s doing but numerous request from different projects and parties could not change his mind.
PS I also thought I should mention that I recently rewrote Pothos GUI to use the Qt JSON parser. But that still leaves the main library and some blocks with the dependency. Not sure I can help much with the legal definition for good and evil, but I would like to eventually get Pothos upstreamed on some of these other platforms. Not a huge priority, but I wish I knew about this beforehand
Well, if you ask, he will provide a special license that allows it to be used for evil. If permission to do evil is not provided and it’s used for evil then it also hurts their karma. Some have called it a morality clause. But it is really a karma clause.
The next release will depend on a small json parser from nlohmann and will not use Poco::JSON. Still using Poco, just not the JSON part. They appear to package Poco without its JSON component.