6 ms·
There is not a licensing issue here: both KVM and our KVM port remain licensed under the GPL.
by bcantrill 15y ago
There is not a licensing issue here: both KVM and our KVM port remain licensed under the GPL.
- djcapelis 15y agoIsn't your port of KVM integrated into the Solaris kernel? How are you ensuring they are two independent and separate works under copyright law?
- bcantrill 15y agoNo; the KVM kernel module is in its own repo: https://github.com/joyent/illumos-kvm https://github.com/joyent/illumos-kvm
- sp332 15y agoBut distributing binaries built with some GPL'd code is a violation of the GPL if you don't publish all the code that went into the binary.
- sriramnrn 15y agoA number of people in the openindiana community have compiled the KVM bits, and no one has complained about binary-only modules, yet. Did you encounter any binary-only files ?
- kmavm 15y agoMy (somewhat casual) understanding is that the Solaris kernel has always, by necessity, supported modules under a different license much more deeply than Linux. Commercially significant software like the Veritas filesystem and device drivers have always worked this way. So, e.g., the Solaris kernel has a real, no-foolin' ABI.
- justincormack 15y agoThat doesnt mean that linking in a GPL module doesnt make the rest of the kernel GPL. A real ABI might not mean it is not linked. Allowing commercial modules and linking with GPL ones are not the same. I dont know though, the definition of linking is pretty opaque to me.
- nl 15y agoIt doesn't matter - Joyent doesn't own the copyright for Solaris so nothing that they do can change the licencing conditions for Solaris itself. You can write GPL'ed device drivers for Windows - doesn't make Windows GPL.
- bonzini 15y ago> You can write GPL'ed device drivers for Windows - doesn't make Windows GPL. The public interface exposed to Windows drivers is _much_ more shallow than the public interface exposed to Linux and Solaris/Illumos modules. Not coincidentially, the Windows driver exports overlap a lot with the interface that Linux allows for usage in proprietary drivers. Instead, KVM uses a lot of hooks into the kernel innards (into the scheduler, into the MMU, etc.) that are marked as EXPORT_SYMBOL_GPL in the Linux kernel, and the Illumos port does use some of the same hooks. I am not a lawyer, so I don't have any clear answer. I also work for Red Hat, so even if I had one I would not want to say it (should not say it). But the licensing question is _not_ an idle question. Also, the licensing question does not detract anything from the awesome work of these guys.
- bcantrill 15y agoActually, our port does not use these hooks -- there were zero mods to the illumos kernel to support KVM per se.
- bonzini 15y agoYou do not get to choose whether it matters that the hooks (such as context ops) were preexisting. Perhaps it does, perhaps it doesn't. But it's the same trying to define what is a derived work, and neither you nor the KVM copyright holders can do that. In the meanwhile, just thank whoever said that GPL-incompatibility was an explicit design goal for the CDDL.