11 ms·
What did you expect them to say? Linux is a huge part of what we do? Here's how I see it. Vmkernel has a driver API. It's documented, versioned, comes with
by delsarto 11y ago
What did you expect them to say? Linux is a huge part of what we do?
Here's how I see it. Vmkernel has a driver API. It's documented, versioned, comes with a ddk and has drivers written directly to it.
As we all know, Linux basically has driver apis. They are not as explicit as the vmkernel driver apis; they are not versioned and deliberately unstable - but if you've written a line of kernel code you know they are there.
Now it seems it is OK to ship a binary blob driver that links against Linux driver apis. Nvidia, ati, lots of arm type boards and now zfs. I say seems because, well, so far everyone has pretty much gone along with it. In some of the comments on zfs, I see people go as far to say that the Linux driver APIs are tacitly considered lgpl (ie. similar to why you can ship a binary against glibc - although obviously glibc has made the exception explicit)
Can I do the reverse? Implement a GPL licensed wrapper that converts the Linux driver API to one provided by a binary blob (ie. what vmklinux does talking to vmkernel) and thus use the drivers?
I don't know, I think it's a good question to find an answer to.
- georgyo 11y agoYou missed a pretty big part here. OpenZFS and Nvidia are modules of the kernel, they use the exposed API. OpenZFS is fully open source, with an incompatible license. Nivida's graphic driver has a GPLed portion that it's binary blob loads into. OpenZFS is may be only considered derivative, because when it compiles, it has to include the kernel header files, because that is how you compile C code. No part's of its code base infringe on linux's and no part of linux's code base infring on OpenZFS's. Just the compile binary might be infringing. However this has implications that are far reaching, as if this is considered derivative. GLIBc is GPL, does that mean everything compiled against GLIBc are derivative of GLIBc? If so, this means a great many things are legal required to be GPLed and code shared. Back on topic, in the case of VMWare, the claim is that they are actually using GPLed linux code in their code. Much more than using the exposed API. This one should be an open shut case.
- delsarto 11y agoGlibc is a bad example, as they have explict linkage exceptions There seems to be some thought that vmware are idiots and copied a bunch of Linux code and didn't release it. It's more about when something becomes a derivative work. Much more subtle
- djsumdog 11y agoThe implications of this are pretty broad reaching. I think it'd be amazing if, at the end of this, the VMWare kernels all becoming opensource.
- icebraining 11y agoThat'll never happen, one can't force someone else to abide by one's license, only force them to stop using one's work and pay damages.
- RRRA 11y agoglibc is LGPL, not GPL like the kernel.
- jordigh 11y ago> Can I do the reverse? Implement a GPL licensed wrapper that converts the Linux driver API to one provided by a binary blob (ie. what vmklinux does talking to vmkernel) and thus use the drivers? The GPL wrapper method has long been considered to be a subterfuge that GPL lawyers think judges would be able to see through. https://www.gnu.org/licenses/gpl-faq.html#GPLWrapper https://www.gnu.org/licenses/gpl-faq.html#GPLWrapper As to the rest of your questions, this is how Conservancy answers them. The situation is more nuanced for vmkernel as compared to the nvidia blob. https://sfconservancy.org/copyleft-compliance/vmware-lawsuit-faq.html https://sfconservancy.org/copyleft-compliance/vmware-lawsuit...
- delsarto 11y agoThe wrapper is one way to look at it. Another might be about reimplementation of APIs. The binary blobs could be evidence there is an API (even if you say you don't support it). If I reimplement it, is it derived? So yeah, it's nuanced ... Otherwise I guess it would never have got so far
- bsder 11y ago> The GPL wrapper method has long been considered to be a subterfuge that GPL lawyers think judges would be able to see through. However, the GPL lawyers don't want to press the point too hard as they could easily lose a lot of hardware that would quickly render Linux useless. If nVidia, for example, got scorched by the GPL and started releasing binary-only drivers only for FreeBSD, Linux would start losing a lot of corporate seats.
- davexunit 11y agoWhy is it so important to protect proprietary software companies that infringe on other's copyright?
- bsder 11y agoLeaving aside the fact that this isn't really settled legal theory... Linux would be hurt more by nVidia's absence than nVidia would be hurt by Linux's absence. Linux could disappear tomorrow, and there are plenty of free Unix-like alternatives that easily fill the void. If nVidia disappeared tomorrow, there are lots of Linux contracts that would simply stop (and most likely switch to Windows). Now, you can argue ideologically, but part of the reason why Linux is popular stems from the fact that Linus was more pragmatic about licensing rather than RMS' dogmatism. If you want to see what a world with a strictly enforced GPL without modules looks like, look at the device support for OpenBSD. A lot of Linux folks would be very upset being limited to that set of peripherals.
- rasz_pl 11y ago>Can I do the reverse? Implement a GPL licensed wrapper that converts the Linux driver API to one provided by a binary blob (ie. what vmklinux does talking to vmkernel) and thus use the drivers? NDISwrapper?
- xorcist 11y ago> Now it seems it is OK to ship a binary blob driver that links against Linux driver apis. Nvidia, ati, Several copyright holders in the kernel are on the record that what Nvidia is doing is not ok. Linus himself is known for some harsh words. In theory you only need one who is willing to put up a fight. Your business model should not depend on winning a court case concerning the actual license as it is put in print. It should be based on you not going to court at all, by not doing things against the copyright holders wishes.
- Elhana 11y agoActually, if I understand what Linus says here[1] correctly, porting modules from other OSes to work with linux seems to be ok, writing closed source modules specifically for linux kernel is not ok. But overall still a gray area. Other kernel devs indeed claim that everything that links with a kernel is a derivative work and EXPORT_SYMBOL / EXPORT_SYMBOL_GPL distinction means nothing. [1] https://lkml.org/lkml/2003/12/3/228 https://lkml.org/lkml/2003/12/3/228