9 ms·
VMware GPL Enforcement Suit in Germany Continues
- poizan42 11y ago> Finally, the response explains that vmkernel and vmklinux don't “communicate over an interface”, rather they run in the same process as a single computer program. Thus, VMK API, as used by vmklinux, is not an “interface” as set forth in the EU Directive 2009/24/EC. The directive does not make such a distinction. If running in the same memory space would be a criteria then everything running on a MMU-less system would be a derivative work of everything it uses.
- kuschku 11y agoThe argument is that they are literally the same process, with no API or interface between them. It’s instead used like a library, loaded by the linker.
- jahewson 11y agoBut a library is the textbook definition of an API. I presume you mean to say that there's no IPC being used, such as a socket.
- deleted 11y ago[deleted]
- poizan42 11y agoEverything in kernel space is "the same process". Using something as a library exactly means that there is an API to use. If the proprietary part of the kernel module directly pokes around in private symbols in the kernel then I can see that there might be a problem, but if only publicly available interfaces are used then it should be under the definition in article 10 as far as I can tell.
- jnky 11y agoThe Linux Kernel does not have a public API/ABI apart from the userspace syscall interface.
- amscanne 11y agoIt does. It exports many symbols for drivers (proprietary or otherwise) to use internally. Some symbols are exported GPL_ONLY, which means that only GPL drivers may call those symbols.
- jnky 11y ago> It exports many symbols for drivers (proprietary or otherwise) to use internally. I fail to see how those symbols being exported makes the relevant functionality public vs. internal to the kernel [1] > Some symbols are exported GPL_ONLY, which means that only GPL drivers may call those symbols. I don't think that is accurate. Drivers are necessarily derivative works of the kernel and have to be licensed under the GPL anyway. In practice closed source driver modules seem to be tolerated, even if they are not strictly compliant with the kernel's license.[2] The purpose behind the GPL_ONLY symbols is that a driver has to declare itself compliant with the license to use the symbols. If a proprietary driver would declare itself GPL compliant to gain access to GPL_only symbols, its author would be in even muddier waters than before. [1] https://www.kernel.org/doc/Documentation/stable_api_nonsense.txt https://www.kernel.org/doc/Documentation/stable_api_nonsense... [2] http://archive.linuxgizmos.com/are-non-gpl-loadable-linux-drivers-really-unot-u-a-problem-a/ http://archive.linuxgizmos.com/are-non-gpl-loadable-linux-dr...
- amscanne 11y ago> I fail to see how those symbols being exported makes the relevant functionality public vs. internal to the kernel [1] It's not stable, but it's an API. I can write and distribute a proprietary module that uses those symbols. I can't do that with symbols that aren't exported. > I don't think that is accurate. Drivers are necessarily derivative works of the kernel and have to be licensed under the GPL anyway. In practice closed source driver modules seem to be tolerated, even if they are not strictly compliant with the kernel's license.[2] The purpose behind the GPL_ONLY symbols is that a driver has to declare itself compliant with the license to use the symbols. If a proprietary driver would declare itself GPL compliant to gain access to GPL_only symbols, its author would be in even muddier waters than before. Now you're just being pedantic. Obviously when I said "GPL drivers" I mean those which explicitly include a MODULE_LICENSE("GPL") directive. What else would I mean? I'm not engaging in legal speculation.
- throwaway_81042 11y agoIs there a list or registry of products which are GPL derivative [0] but only release source code under NDA, e.g. Xen derivatives? [0] https://twitter.com/rootkovska/status/518037037480697857 https://twitter.com/rootkovska/status/518037037480697857
- Natanael_L 11y agoGPL bans adding restrictions on redistribution and other such rights. Automatic contract termination is the best you can do legally to try to get around GPL.
- frik 11y agoMikrotik Routerboard (hardware routers based on modified Linux) is bit scatchy
- audidude 11y agoI worked at VMware for a couple years and this was a contributing factor to why I left. I know a number of people that felt it was a GPL-violation and refused to work on that product because of it, myself included. The lawyers in that company have a somewhat different interpretation of the GPL/LGPL than I've seen elsewhere in my career.
- malandrew 11y agoAre you at liberty to elaborate on how they interpret the GPL/LGPL differently than what you've seen elsewhere in your career?
- dkarapetyan 11y agoAt liberty to elaborate always sounded like a weird phrase to me. Of course he is. As a free citizen in a free society he can speak his mind freely.
- jordigh 11y agoPeople can choose to give up that liberty by signing contracts. :-(
- jsprogrammer 11y agoNot really. Do you have an example of the enforceable language you are referring to?
- RussianCow 11y agoSigning an NDA takes away your liberty to disclose certain things. I'm not sure what you're trying to dispute.
- deleted 11y ago[deleted]
- ck2 11y agough why vmware, I really like their products hope they make this right
- SwellJoe 11y agoThey've been fighting for years to not make it right. I don't think there is any scenario in which one could say they have "made it right". VMware is a company that won't participate ethically with the Linux community, even when given ample opportunity to do so, and they should be shunned for that behavior. It's not even asking that much, honestly. The kernel components are a very small portion of the VMware stack, and are pretty clearly an extension of GPL code. The argument VMware is making would effectively destroy the GPL, if successful. Any company could fork a GPL project, build some extensions with some minor handwaving in the general direction of abstracting it out into "modules" and call it a non-derivative work. This isn't, from my understanding, merely a binary blob that gets loaded into any standard Linux kernel, as some proprietary Linux driver modules do; there's seems to be a steady state around this use case, where Linus and the community is reasonably comfortable with it (even though some other GPL projects take a harder line on this sort of extension). But, what VMware is shipping is a broken version of Linux (i.e. one that does not have the protections of the GPL for end users). The conversation with VMware has been going on for years, since it was first noticed they were non-compliant with the BusyBox license. VMware has always had no respect for the GPL. Which would be fine, if they stayed the fuck out of Linux. But, if they want to play in the Linux market, they need to play by the rules that the rest of the industry plays by.
- jimrandomh 11y agoThis seems to hinge on the legal nature of the interface between vmklinux (a Linux kernel module created by VMware) and ESXi (VMware's virtualization software). If that interface separates two legally distinct works, then VMware is in the clear; if it doesn't, then VMware has created a derivative work of the Linux kernel and is in violation of the GPL. I don't know of any settled law about this question; IANAL and I haven't really looked. But I think the distinction that would make the most sense would not be based on anything technical, but on how an API is used in practice, and in particular on whether it's used by multiple unrelated parties. Ie, the same set of function calls can be either an irrelevant division within a single work, or a partition which separates independent works, depending on whether there're several different vendors/programs who call and implement them, or only one, and on whether the author of a new program who wanted to use that interface could reasonably do so.
- rando3826 11y ago> not be based on anything technical, but on how an API is used in practice Since it's an api, the "in practice" is some other piece of code, so I would still call it a technical issue.
- belorn 11y agoMy IANAL impression of the courts is also that they don't want to make a judgement based on technical distinctions, but rather looks at how the work was used and what the intentions was. Did VMware distribute vmklinux without the linux kernel, and was it written with the intention to distribute it was a collected work. The word "arbitrary separation" also seems to cover intention rather than technical facts. Did VMware create the ESXi intention to bypass copyright, or was it create as a natural part in the development of VMware products.
- rdtsc 11y agoWonder if they can "fix" this by sponsoring an open source project that would find some token "use" of the interface. Then court can point to it and say -- look, another use!
- poizan42 11y agoSo if VMware loses this what would prevent e.g. Microsoft from claiming that the kernel driver in Process Hacker is a derivative work of the Windows kernel? Or worse, anything that patches a Windows DLL is a derivative work of that dll?
- __david__ 11y ago> Or worse, anything that patches a Windows DLL is a derivative work of that dll? Isn't this the current status quo? How can a patched DLL be anything but a derivative work?
- davexunit 11y agoThis makes no sense because you are talking about hacking proprietary binaries, not source code under a copyleft license.
- poizan42 11y agoI'm talking about that if a proprietary driver that links to the linux kernel is a derivative work then surely an open source driver linking to the Windows kernel is too.
- SXX 11y agoI'm not a lawyer, but I totally sure that all Windows APIs that used by drivers and programs have clear statement within license that licensing is not "viral". GPL is opposite. It's clearly state that your code depend on GPLed code become derivative work.
- tobias3 11y agoTook me a while to get that they are using the Linux kernel as a library, i.e. https://www.gnu.org/licenses/gpl-faq.html#MereAggregation https://www.gnu.org/licenses/gpl-faq.html#MereAggregation applies. I thought they have a kernel module with a GPL wrapper, like the NVidia graphics module which would be more contentious.
- jordigh 11y agoFor what it's worth, the FSF's opinion (and they wrote the GPL) is that the nvidia blob is no different and that the Linux developers should defend their copyleft. I really don't get Linus's position in that he refuses to defend his copyleft here while at the same time gives nvidia the finger. edit: oh, I remember I tried to ask him once, and he called me a Stallmanite or something like that and sent me some insults.
- SXX 11y agoBoth Nvidia and AMD bypass legal issues because they don't distribute mixed GPL and proprietary code. Basically their proprietary kernel modules is being linked with Linux kernel by end-user and this totally fine for GPL as long as result is not distributed.
- jordigh 11y ago> Both Nvidia and AMD bypass legal issues because they don't distribute mixed GPL and proprietary code. Not in the FSF's opinion. User-does-the-link does not change whether the blob is derivative work or not.
- dragonwriter 11y agoThe license-writer's published opinion on whether an activity is a copyright-protected activity that needs a license is of no special status (if the license-writer is also the copyright holder, it might have special status as itself being an implicit license in those circumstances where the opinion is that a license is not necessary.) What is controlling on this question is copyright law, not the FSF's opinion. And, clearly, the FSF isn't a neutral authority here, they have a positive interest in portraying the need for a license as being as broadly as they can to encourage use of the license and adherence to its other conditions.
- ohthehugemanate 11y agoThis is further complicated by the precarious position of copyleft in Germany in particular, and the EU in general. In German basic property law, there are certain "rights" of a creator which CANNOT be given away. The German GPL has some interesting workarounds for a number of these rights; mostly they do it by declaring that the GPL is a contract and not a license. You can give away lots of "rights" in a contract I'd you're explicit.... But not quite all of them. Among the problematic clauses is the one that controls the license of derivative works. Another interesting clause is liability, but that's another conversation.
- teddyh 11y agoWhat in the world is “The German GPL”? As far as I know there is no such thing.
- cdavid 11y agoI don't know about German GPL, but you have licenses like CeCILL which could be called "French GPL" I guess: https://en.wikipedia.org/wiki/CeCILL https://en.wikipedia.org/wiki/CeCILL.
- DasIch 11y agoYou can't give away your copyright in Germany but you can give someone an exclusive license to publish, sell or whatever else they might want to do.
- germanier 11y agoThere are certain rights you can't sign away, even if you wanted to. An example the right to be named as the creator. Simplified, it's not allowed to put the name of some one else on your creation – no matter what the contract says and what you agreed to. Such an agreement can be revoked at any time by the creator. Another important example is severe defacement, which is not allowed. To most known recent case is Berlin's new main railway station which was built without the elaborate ceiling the architect planned due to cost and time constraints. The architect sued and won the case. They later signed a deal. If that hadn't happened, the owner Deutsche Bahn would have had to replace the ceiling with the originally planned version on their own cost.
- snockerton 11y agoI should probably know this, but can anyone explain to me why other service providers like AWS don't have to release the source code of things like their brand of Xen running EC2 hypervisors? Does it only apply if you resell / package the source code as a deliverable product? Where is this line drawn between software downloaded as a binary vs. software delivered to you in a hosted fashion with an API or similar (i.e. SaaS)?
- joosters 11y agoAmazon don't distribute any of their Xen-derived code, so they don't have to give the source out either. This is something that the GPL version 3 tried to fix.
- wolfgke 11y ago> Amazon don't distribute any of their Xen-derived code, > so they don't have to give the source out either. > > This is something that the GPL version 3 tried to fix. This is something the AGPL (https://en.wikipedia.org/wiki/Affero_General_Public_License https://en.wikipedia.org/wiki/Affero_General_Public_License) tried to fix.
- uxcn 11y agoGPLv3 has to do with locking hardware (https://en.wikipedia.org/wiki/Tivoization https://en.wikipedia.org/wiki/Tivoization), which Amazon is still vehemently opposed to for obvious reasons.
- 11y ago
- duncan_bayne 11y agoI'll boycott VMWare over this! Oh, wait, I haven't used their stuff in years. Heh.
- neekburm 11y ago"Unfortunately, VMware has explicitly asked for the filings not to be published and, accordingly, Conservancy has not been able to review either document." Anyone more familiar with German law that can explain this to me? Normally, civil filings are open to the public in the U.S., which seems like a good thing, so I'm wondering why German law allows this.