The QMP monitor uses JSON as its underlying base. However, when you
read the license of JSON [1], you will note that it has a pretty severe
limitation ("The Software shall be used for Good, not Evil"). In fact,
this limitation is severe enough that the FSF has declared that the JSON
license is non-free (even if the limitation is unenforceable), and
therefore cannot be combined with GPL code:
[1]
http://www.json.org/license.html
[2]
https://www.gnu.org/licenses/license-list.html#JSON
How do we reconcile this? Obviously, qemu must remain GPL, because it
has files that are licensed GPLv2, and the overall license is the
restrictive union of all source licenses. But that implies that we
cannot include any source code or libraries provided by
json.org, if
such code is under the incompatible JSON license.
Is the JSON license only applicable to code downloaded from
json.org,
but not to the actual JSON language specification? If so, does that
mean that a clean-room implementation of JSON (the language
specification) can be written with different license than JSON (the
license), and that such alternate code could then be linked into qemu?
Is this already the case? It would be a shame to have to reinvent QMP
to use a different language specification if the entire JSON language is
deemed poisoned.
Thoughts? Do we need to seek legal guidance from FSF, Red Hat, or any
other organization on how to proceed?
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org