Software Freedom Conservancy: Distributing Linux With ZFS Is Illegal (phoronix.com)
LichtSpektren writes: Phoronix reports that Bradley M. Kuhn and Karen M. Sandler at the Software Freedom Conservancy (SFS) have posted a blog post today arguing that Canonical's plan to distribute Ubuntu 16.04 LTS "Xenial Xerus" with support for the ZFS file system violates the Linux kernel's GPLv2 license.
On February 18, Dustin Kirkland at Canonical wrote on his blog: "We at Canonical have conducted a legal review, including discussion with the industry's leading software freedom legal counsel, of the licenses that apply to the Linux kernel and to ZFS. And in doing so, we have concluded that we are acting within the rights granted and in compliance with their terms of both of those licenses...The CDDL cannot apply to the Linux kernel because zfs.ko is a self-contained file system module — the kernel itself is quite obviously not a derivative work of this new file system. And zfs.ko, as a self-contained file system module, is clearly not a derivative work of the Linux kernel but rather quite obviously a derivative work of OpenZFS and OpenSolaris. Equivalent exceptions have existed for many years, for various other stand alone, self-contained, non-GPL kernel modules. Our conclusion is good for Ubuntu users, good for Linux, and good for all of free and open source software."
The SFS's blog post of today states: "We are sympathetic to Canonical's frustration in this desire to easily support more features for their users. However, as set out below, we have concluded that their distribution of zfs.ko violates the GPL."
On February 18, Dustin Kirkland at Canonical wrote on his blog: "We at Canonical have conducted a legal review, including discussion with the industry's leading software freedom legal counsel, of the licenses that apply to the Linux kernel and to ZFS. And in doing so, we have concluded that we are acting within the rights granted and in compliance with their terms of both of those licenses...The CDDL cannot apply to the Linux kernel because zfs.ko is a self-contained file system module — the kernel itself is quite obviously not a derivative work of this new file system. And zfs.ko, as a self-contained file system module, is clearly not a derivative work of the Linux kernel but rather quite obviously a derivative work of OpenZFS and OpenSolaris. Equivalent exceptions have existed for many years, for various other stand alone, self-contained, non-GPL kernel modules. Our conclusion is good for Ubuntu users, good for Linux, and good for all of free and open source software."
The SFS's blog post of today states: "We are sympathetic to Canonical's frustration in this desire to easily support more features for their users. However, as set out below, we have concluded that their distribution of zfs.ko violates the GPL."
I'm not sure what anyone would stand to gain by arguing that Ubuntu is violating the GPLv2 license. It seems kind of ridiculous.
I happen to like using ZFS.
But fine, distributing drivers with binary blobs is OK, while this little license incompatibility between two open-source projects is a big deal. Whatever, dudes.
So, Software Freedom means that you can't do what you want with your software? Is this one of those Richard Stalin - I mean, Stallman - groups or something?
Love sees no species.
Why oh why do we have to keep shooting ourselves in the foot?
OK I'm a BSD user so, well, stones and glass houses, but even so the open source community's continuing ability to why things should not be allowed is depressing...most people in our crowd want our stuff to be USED by as many people as possible...
Shirley, SFC for Software Freedom Conservancy?
I've got a fever and the only prescription is more COBOL.
One wonders if SFC sees a risk to the community from Oracle acting against Canonical. If not, they may inadvertently be playing dog-in-the-manger.
davecb@spamcop.net
Linux does not have a stable file-system and volume manager that can come anywhere near the performance and stability of ZFS.
Get your PostgreSQL here: http://www.commandprompt.com/
The Linux Foundation, as the copyright holder of the Linux kernel, gets to determine what is and is not allowed.
This is matter does not involve Software Freedom Conservancy (SFS) or Free Software Foundation (FSF), they are are not even parties to the copyright license used for the Linux kernel.
In my professional opinion, Canonical can feel free to tell SFS to go pound sand.
How could someone make a movie just look like shit all of the sudden?? And why????
Regardless of the legal situation, the holder of the copyright to the vast majority of the kernel doesn't object to binary modules. There are those who would argue that even certain user-space binaries are a GPL violation. Fortunately those voices haven't prevailed. I guess, at some point, to squelch any doubts, ZFS will have to get turned into something akin to a hybrid driver where code to load interchangeable binary blobs with a certain interface is contributed to the kernel under GPL and the blobs come with their own license. In this case it will be CDDLv1. This is somewhat of a PITA but it's actually good in the medium-term because it means that users face less ambiguity in terms of knowing under which license they are receiving code.
>The FSF, stewards of the GPL, have stated many times over the past decades that they believe there is no legal distinction between dynamic and static linking of a C program and we agree.
The FSF is almost certainly wrong in this. Linking isn't going to even be considered in a court room. What they *will* consider is whether or not zfs.ko contains derivative work from Linux. Headers are now subject to copyright (as is my understanding) so it's very possible that it does. However, if they use "api-only" headers, such as posix stuff and it does not rely on being compiled against the GPL-ed version of the headers, then they are most likely going to be free and clear of any issues.
Personally, the SFC can go eat a bag of dicks and die in a fire.
Reading their piece, they sound like they are lawyers looking for a client, like they want to take Canonical to court over this. One likes to think that anyone who defends OSS must be on the side of the light, but I note that the Conservancy sued companies using Busybox over the objections of at least some of the copyright holders. This quote is kind of interesting:
"But that didn't stop them from creating a self-funding legal machine where they never found any actual useful code that should have gone upstream, but they still demanded $15k or so in legal fees each time so they could go sue the next company."
For those who didn't RTFA, the core of the question is this: Is a Linux distro that contains a ZFS module a combined product, derived from Linux and/or ZFS? Or are they two independent items that happen to be delivered in the same package. The Conservancy states "we have yet to encounter a Linux module that — when distributed in binary form — did not, in our view, yield combined work with Linux", and then they go on to say that the intend to "exhaust every diplomatic option...before seeking resolution from the courts".
Only: nobody is asking them to take anyone to court. If Oracle doesn't like this (they are the primary holder of ZFS copyrights), I'm sure they have their own lawyers. So WTF is going on here? Instead of a patent troll, maybe we have a GPL troll?
Enjoy life! This is not a dress rehearsal.
Oracle has been looking to profit form the free labor from open source software advocates ever since it was losing clients to MySQL which they later purchased. The original developers were so concerned they created MariaDB. And from this LibreOffice sprung to protect "OpenOffice" and after realizing Oracle was never going to make money on OO They give it to the Apache Foundation. Oracle has not had a history of playing nice with the open source community and their development on MySQL and related products has not exactly been dedicated. Suspect they are only doing it because it was a condition for the EU to allow the European portion of the take over of Sun Microsystems. Why hasn't Oracle just put put ZFS as a fully open GPL2 compliant code for all to use and improve? Probably, like OpenOffice, to see if they can exploit it to their benefit in some way, which could even sabotage Linux (or at least Ubuntu). Debian has the right idea in distributing the source only of ZFS. We'll see where this goes but I think The Software Freedom Conservancy is in the right, and in cases like this far better to err on the side of caution. If everyone lobbied Oracle, we could get a proper and compatible ZFS license that oracle couldn't do a poison pill or "about face" on later. Why not give that a try.
"Imagination is more important than knowledge" - Einstein
Using Linux?! even after systemd? why? :)
oh... nevermind... FreeBSD is going to switch to using NOSH (systemd for BSD)... using Linux makes sense then.
I answered my own question
Don't forget to pay your $699 licensing fee.
License violations are not illegal. The word illegal does not appear anywhere in the story. What the fuck is it that you do here, other than fuck up stories?
This is the kind of bullshit that has kept me away from any kind of involvement in open source/free software etc.
This kind if pointless shithead quibbling.
Sermon on the mount
If user compiles the shim layer, they're violating the copyright. This is no different from Nvidia and ATI/AMD binary blobs.
I've read both arguments, and since I know everyone posting here has also (right?), I won't bother with too much of a critique.
I have to side with Canonical on this one. Their short and sweet post pretty much puts to bed the legal ramblings of the Software Freedom Conservancy. The SFS article reads like they started out trying to make a point, then has to fallback on an academic lesson on GPL Incompatibility and Combined/Derivative works. I would go so far as to say their verbosity defeats their own argument, while managing to inset the letters "ZFS" wherever they can find room.
Past that, as someone who uses ZFS on FreeBSD, ZFS is pretty fucking useful. Canonical's legal inclusion of ZFS as self-contained file system module is a big step forward for Linux.
Brought to you by Carl's Junior.
Maybe they should remove the word "Freedom" from their organization. Look up what freedom means in the dictionary, please. Open Source developers want unrestricted use of software for everyone, "FREEDOM", well put it in the public domain and be done with it. BSD, GPL, MIT, Apache, etc... are all copyright and place restrictions on what you can and cannot do so it's not "FREEDOM". So stop associating "FREEDOM" with restrictions.
More accurate would be: "could give rise to a civil cause of action." We usually say that something is "illegal" when it violates criminal law, or some other statue passed by the legislature for a public purpose. Violating contract or license terms is not illegal in this sense. Any legal risk comes from the willingness of the aggrieved party to pursue a remedy. Crucially, there is no public stake in enforcing these rights: if the rightsholder does not want to pursue a remedy, nobody else will care. This is in contrast to activities which are prohibited by statue: the public at large has an interest in prohibiting these activities because they are bad for everyone for one reason or another. It's true that this claim could be based in copyright, which is a "creature of statue" so to speak, but copyright itself is designed to be enforced only by private parties. And more importantly, in this case the text of the license would be the determinative factor.
Anyhow, it's just a semantic niggle, but it really annoys me when people write deliberately misleading headlines like "flashing your firmware is now illegal," when they are really just talking about private causes of action based on licenses or private contracts. In fact, the word "illegal" does not appear at all in TFA.
Insanity like this one makes the free x opensource software fight...
TFI says: "The FSF, stewards of the GPL, have stated many times over the past decades that they believe there is no legal distinction between dynamic and static linking of a C program and we agree. Accordingly, the analysis is quite obvious to us: if ZFS were statically linked with Linux and shipped as a single work, few would argue it was not a “work based on the Program” under GPLv2." And that's where it all falls apart. How do we know that it's not a "mere aggregation". See http://www.gnu.org/licenses/gp... which argues that determining whether a separate module is a covered work is actually a tricky question requiring some thought and analysis.
I run Windows... I just pay the mindless overlord in Redmond to keep my life happy.
The summary dedicated 3x more space to a previous Canonical blog, than to the actual article being discussed in the Headline. Way to go!
*** Suerte a todos y Feliz dia!
ZFS can be replaced by btrfs in many cases. Yes ZFS is more mature and has more of a track record. But only by people using btrfs will it gain that level of testing in production environments. It is quite stable now and OK some may have data that they just can't bring themselves to trust away from XFS or ext4 or ZFS but I think it's time to look at alternatives to ZFS.
Yeah I'm not paying that fucking idiot any attention and neither should anyone else.
Copyright holders who license under a free software license gain compliance and social respect for choosing a license that lets us run, share, and modify covered software. There is nothing to gain in saying popular GNU/Linux distributions don't have to comply with licenses but other distributors do. There is also a lot to gain by showing that licensing under a popular free software license (such as the GNU GPL) is enforcible. One such benefit: Every enforcement action taken showing how enforcible the GPL is helps silence critics who claim otherwise.
Digital Citizen
from within. study. [rice.edu] this is consistent Writing is on the
Historically, there's been things like the original Andrew filesystem
module: a standard filesystem that really wasn't written for Linux in the
first place, and just implements a UNIX filesystem. Is that derived just
because it got ported to Linux that had a reasonably similar VFS interface
to what other UNIXes did? Personally, I didn't feel that I could make that
judgment call. Maybe it was, maybe it wasn't, but it clearly is a gray
area.
Personally, I think that case wasn't a derived work, and I was willing to
tell the AFS guys so.
http://yarchive.net/comp/linux...
ZFS was clearly developed for a different operating system, and I don't think Linus would care. If he does, I'd like to see something he has written on the subject.
Unless there is a copyright holder with reason and "standing" to sue, there is no violation.
IOW, Oracle is just like a woman who is weak and lacks agency and needs an SJW to take up her cause and be offended on her behalf.
Almost all of the code isn't his.
I am a lawyer, but this is not legal advice. If you want legal advice, pay my retainer.
There is a *really* big hole in the analysis.
Linux is *not* quite GPL; it, like many others, is better understood as "quasi-GPL", or QGPL.
Since pretty much the beginning, the Linux developers approved, condoned, and encouraged binary, non-GPL modules. Standard legal analysis means that this trumps the boilerplate of the license/contract.
The second serious error is arguing about the FSF position on linking. Under the rules of legal analysis, the author of a document's opinion is weighted at pretty much nothing: the author had his chance, and later comments are irrelevant. That is, there are about 7 billion people whose opinions on interpreting it come first.
Now whether distributing Linux with that module violates Sun's CDL could be an entirely different issue; I've never looked at it.
hawk, esq.
GPL/Copyleft advocates can say this is illegal; but must also admit that fears of contamination are well-founded. Alternatively, they can permit proprietary modules and continue to argue (as they usually do) that fears of contamination are not well founded. Any other combination of arguments is hypocritical, inconsistent, whatever you want to call it.
"I am a lawyer, but this is not legal advice. If you want legal advice, pay my retainer."
The software world could learn a lot from that statement. Of course, if we acted like lawyers we'd have no Open Source or GPL to argue about in the first place.
"I am a software developer, but this is not software I'm writing for you. If you want software, pay my salary/consulting fee."
Yes and no.
"the Linux developers approved, condoned, and encouraged binary, non-GPL modules". You could argue that Linus has known all along that Linux distributions included binary, non-GPL modules (say NVIDIA video drivers?) They've known products were being distributed that aren't under the GPL license.
But no one is arguing that these products (NVIDIA) SHOULD be under the GPL license. So...no harm, no foul?
Flip side of the coin. Other products (NVIDIA) isn't arguing that the Linux Kernel should be invalidated against the GPL. (In theory, they could...but that wouldn't grant them a license to use the Linus Kernel. They could argue that their product (NVIDIA) can't be distributed with the Linux Kernel however. They could try to argue damages - but that would be pretty difficult given that they give product away for free as well.
So...now - let's look ZFS. Licensed under CDDL. Given away fro free.
SFC is arguing that ZFS owners COULD argue that giving away ZFS with Linux would violate the GPL. Yeah....so what? At that point Canonical apologies and pulls ZFS.
Damages? Maybe. I'm not sure I see how...but if Canonical is up to take the risk...the OWNER of ZFS could only attack Canonical for their actions. They CAN'T get any additional rights to Linux...Canonical doesn't own 'em.
The thing is "Linux" isn't that of a single party and the copyrights are held by many. I'm not sure I'd jump to the conclusion that there isn't a legal argument here. Though I'm not a lawyer- but lawyers often have different legal opinions too so....
I also think you jumped to the conclusion that they actually thought that the author of the license opinion matters. It may not, but that doesn't make the author legally wrong either.
All Canonical needs to do is to is to distribute the ZFS module as source-only, and have their install scripts build and install the binary module during the OS installation process. Doing this should get around the Oracle licensing restrictions and allow distribution with the GPLv2 kernel (and GPLv3 GNU utilities).
"The CDDL cannot apply to the Linux kernel because zfs.ko is a self-contained file system module — the kernel itself is quite obviously not a derivative work of this new file system." ref
Since pretty much the beginning, the Linux developers approved, condoned, and encouraged binary, non-GPL modules. Standard legal analysis means that this trumps the boilerplate of the license/contract.
I am NOT a lawyer, and i know better than to make very stupid statements like that;
- Non GPL modules where not tolerated in the beginning, the issue didnt come up until 10 years after the project started. (Linux wasnt created the moment corporations notices)
- Can you cite an example where there has been any sort of consensus of developers have encouraged non-GPL or binary modules ?
- Tolerating copyright violators does not invalidate copyright law in any way, it might justify lower penalties.
- In what jurisdiction do you claims apply ?
I really wish the GPL zealots would stop trying to limit the freedoms of those of us who don't subscribe to their particular brand of fundamentalism.
Under the provisions of the TPP, the SFS is now guilty of enabling violations of copyright, as they espouse modifications of copyright held by parties != themselves.
Nicely done SFS! Happy prison time!
Alan Cox has made clear from pretty much the moment that this issue came up that he considered binary modules to be derivative of the Linux kernel. While he has AFAIK not taken this view to court, he has certainly neither approved, condoned, nor encouraged binary, non-GPL modules.
Finally! A year of moderation! Ready for 2019?
If it's more important to try and push an open source but restrictive license down everyone's throat (hey, the GPL is great for some things, but horrible for others), then perhaps Ubuntu could come up with a variant that uses Debian's kFreeBSD distribution as a base instead?
It's a shame though, I thought the general spirit was to make great things available to the masses and to drive innovation.
You're a dipshit.
The profession was "invented" because a few hundred years ago most people were completely uneducated, frequently didn't know their rights, and were unable to read them IF they managed to get access to them. A lawyer's job was to put those people on equal footing with the remainder of the judicial system.
From what I can see as long as the default distribution install is GPL compliant anything else is a user selectable customisation. For example cars that meet strict design regulations when sold by a dealer will often if prompted by the buyer modify the car that often leads to the car not comply with the regulations the car was certified under (just changing the exhaust can do this).
I mostly agree with your assessment. I believe NVIDA has a pass because they use a totally standard kernel interface to do everything (I thought in the posts where Linus discusses it, it was read/write). So they developed an entirely independently and then pass data back and forth through a stable API. Otherwise, it includes now Linux source code.
This is very different than other kernel drivers which are tightly hooked into the kernel and use lots of kernel functionality and APIs (like the days when the Hypervisor wasn't distributed with mainline kernel source). I believe this standard, and Linus's assertion that he doesn't consider it a derived work are what makes NVIDA special. The question is does ZFS meet the same standard. In this case, I know the code was developed entirely independently, but it isn't clear to me how cleanly separated it is from the rest of the Linux internals.
Since pretty much the beginning, the Linux developers approved, condoned, and encouraged binary, non-GPL modules.
Being a lawyer doesn't make you out of touch. "Linux developers" have never approved of or encouraged binary, non-GPL modules, quite the contrary. Tolerated, or looked the other way is the most you could say. Linus has at times expressed a permissive attitude, but he has also said this. What you need to remember is that it's not Linus's kernel, it's only partly his. Anyone who holds copyright in it (thousands) is entitled to make an issue of illegal distribution if they wish.
When all you have is a hammer, every problem starts to look like a thumb.
It's definitely a mess, but so is just about anything where the GPL has been around.
As for authority and jurisdiction: the Common Law of England goes back to the twelfth century, and has been passed on to substantially all English speaking countries (I forget the exceptions). The principles of construction predate this country, and are pretty much the same through the english speaking world.
Frankly, if someone wanted to litigate this, it would be an utter mess. The unwritten changes that *did* become part of the license would be binding upon all later contributions, and attach to them. It is quite possible that different parts have different licenses--and that the whole body of the kernel couldn't be distributed together. *noone* wants to open *that* can of worms . . .(except maybe redmond :)
hawk
Just run FreeBSD or PC-BSD. Then you won't have whiny prepubescent Freetards whining that everything included isn't free as in communism adhering to "the one true license". A separate kernel module is not the same as compiling it inline in the kernel. This type of crap is one reason I avoid the Linux community. The other reason is that most Linux distros are a sloppy patchwork fragmented mess in perpetual beta and BSD is just so much cleaner.
Also, while I'm at it, to the extent that some invited, while others tolerated, aside from introducing different licenses with the problem that that creates, leads to the issue of "estoppel"--a situation in which one cannot assert a position, even if legally entitled to do so, do to his prior actions and/or the reliance of another upon those actions. (and for those who care, estoppel is an equitable principle, not a legal principle, having come from the Chancery Courts of England).
All in all, anyone who thinks that they would like the results of the litigation is deluding himself . . .
hawk
It will be a length battle if this case go to court. I think Canonical have more to gain than SFS
The matter of non-GPL binary loadable kernel modules is of big importance to any Linux distributor.
There are multiples examples of this usage on Linux, especially graphic binary blobs (NVIDIA, AMD,etc).
I don’t think, arbitrary, any binary module can be argued as a “derivative work” of Linux kernel, it will be very difficult to hold this argument on court.
The ZFS module has been ported from Solaris not developed from scratch for Linux, arguing it is derivative is not obvious (the same apply to NVIDIA and AMD graphic drivers, ported from Windows).
The interpretation of FSF or SFS is mere one of many. Only in a court this interpretations will be sedimented.
ZFS is the killer app for the BSD folks... If it gained widespread distribution you could kiss BSD goodbye... Ok that's an exaggeration, these SFC loonies need to go check in at the front desk. Who let them out of their cage??
"Legal advice" is a formal term, defined by law, and it's actually illegal to offer it if you're not a lawyer in many places. Furthermore, for a lawyer, giving such advice can be constituted as establishing an attorney-client relationship, which results in legal obligations for the lawyer. So, even ignoring the time and effort, it's never free for them. I would assume there is some kind of insurance that exist specifically to indemnify lawyers in cases where they become subject to such obligations; and, naturally, that insurance is not free.
Software developers, on the other hand, don't establish this kind of relationship with the user merely by virtue of writing software for them. At least, not any more so than anyone else providing any other service does.
(I am not a lawyer, and this is not legal advice.)
I can read a binary as well as a CPU can, so why _must_ I have the source? In any case, I don't want the GPL dictating what I can and can't run on my computer, and disrupting distribution is the surest way to do that.
You seem to be unaware that in every case where the GPL has been litigated, it has been upheld. You talk about common law, surely you understand how this rich body of legal precedent has buttressed the strength of the GPL. As for estoppel, it's not enough for some of the copyright holders to make a habit of looking the other way. All of them would need to, and that simply hasn't happened.
When all you have is a hammer, every problem starts to look like a thumb.
...you could try relying on the statute of limitations and hope that nobody notices some quiet little misdeed for a sufficient number of years...
When all you have is a hammer, every problem starts to look like a thumb.
I am a lawyer, but this is not legal advice. If you want legal advice, pay my retainer.
Can I just shoot you int he fucking face instead?
So explain EXPORT_SYMBOL vs EXPORT_SYMBOL_GPL.
Same kernel developers recognized that there are standard parts of how loadable modules interface to the kernel. Ardent wishes by others (like Alan Cox) do not set aside that reality.
Don't look at Nutanix. They are flat out embedding ZFS with KVM in their next 4.6 product release.
Also, while I'm at it, to the extent that some invited, while others tolerated, aside from introducing different licenses with the problem that that creates, leads to the issue of "estoppel"--a situation in which one cannot assert a position, even if legally entitled to do so, do to his prior actions and/or the reliance of another upon those actions.
I find it highly unlikely that estoppel would stick to anyone but those that have done it to themselves. If I write some GPLv2 code without contributing it to the kernel, somebody else says hey GPLv2 that's compatible and add it to the kernel they got no authority to alter the license to "quasi-GPL" and whoever is relying on the "quasi-GPL" can't use their actions as estoppel to halt my lawsuit since it's not my actions. And since it's open source and free for distribution to anyone, there's no technical action or inaction to indicate permission. The only question is if legal inaction could lead to some form of estoppel, but even then it'd probably be a limitation on damages. If it's in violation of copyright, they still have to cease violating it. Unless you have some kind of promissory estoppel, but I don't think anyone has made that kind of promises on behalf of the whole project.
Live today, because you never know what tomorrow brings
Totally by chance, I'm watching an old Cantrill presentation (2011) and he'd got a slide at 24m28 which reads:
Fork Yeah! The Rise and Development of illumos
He calls CDDL "file-based copyleft" and says it was explicitly designed to allow combined works with proprietary elements.
It's true that PHP include statements do not involve the merging of executable binary objects into a single native executable object. This does not change its fundamental nature that executable programs of PHP are loaded together (linked together) to form a single program. The fact that the defacto implementation of the PHP language is an interpreter rather than being a native machine language compiler does not change this. In fact language interpreters/translators/compilers are not an inherent property of any language, these are implementation specific decisions; one can write a C language interpreter and one may also write a Perl language -> machine executable code compiler if they wanted. Well the "PHP include system" loads in PHP files in the same fashion as a binary linker: the result is a full program that is loaded into memory as a single program as opposed to being dumped to disk file and a native executable object.
Reminds me of a related issue: the FSF's position on linking (which will not impact the issue at hand: ZFS in Ubuntu, but has been raised in different contexts).
Basically, WordPress allows non-GPL modules even though WordPress itself is GPL. The FSF does not like that, and they hold that to extend a GPL application, every extension must be GPL, and they invoke the linking interpretation. Drupal on the other hand, takes the position that all modules must be GPL.
The linking interpretation makes sense when you have A depend on B, and B is proprietary and you can't run A without B, or you can't inspect B at all since you don't have the source code for it. But an extension is the other way. It is not essential for the main application to run, it is optional. Also, the linking interpretation was done in the days before dynamic linking (.so) was possible, and everything was static (.a). And now, we have things like WordPress and Drupal which are written in interpreted languages such as PHP, and you have the source code already.
That linking interpretation is archaic and needs to be expanded or reevaluated.
2bits.com, Inc: Drupal, WordPress, and LAMP performance tuning.
The Linux Foundation is not "THE" copyright holder of the Linux kernel. Linus has never required copyright assignments from contributors and therefore every single programmer/organization who contributed code retains copyright in their contribution. They as individuals get to decide when (or if) they want to bring legal action against potential infringers of their copyright. Your lack of knowledge of this basic fact makes me wonder what your profession is. Some of those contributors undoubtedly support SFC's interpretation.
Whether they have the time/resources to actually sue is a different matter.
So explain EXPORT_SYMBOL vs EXPORT_SYMBOL_GPL
Walling off non-GPL-compliant modules from a good part of the kernel is a rather direct expression of disapproval, don't you think? This in no way blesses the practices of violators, it is simply a pragmatic way to decrease their comfort. Tainting is in the same category.
When all you have is a hammer, every problem starts to look like a thumb.
So You Are A Lawyer. That's nice for you. But...
> It's definitely a mess, but so is just about anything where the GPL has been around. ...you clearly seem to be a biased lawyer. Now guess which grade of trust I put on biased lawyers.
The Conservancy seem to have glossed over this point. It is not obvious to me. If Canonical were to distribute two, CDs, tarballs, whatever, with Linux on one and ZFS.ko on the other, with a script to load ZFS.ko at install time would _that_ be different?
How about if they distribute Ubuntu on one CD, the ZFS source on the other and a script that builds and loads ZFS.ko at install time? Would _that_ be legal?
If you can distribute linux with binary blob graphics drivers I don't see a big difference with a filesystem module.
softcoder
Really great post. This answered the majority of my questions. When I read this I actually opened up a word document and started taking notes haha. also go through this link http://localclienttakeover.com...
* your
Since pretty much the beginning, the Linux developers approved, condoned, and encouraged binary, non-GPL modules
Is not even remotely true. Greg KH and Alan Cox have both stated publicly that this is not the case, but more formally the kernel has an explicit set of symbol annotations for things that they consider to be public interfaces (which do not therefore invoke the GPL, because - possibly modulo the recent Oracle ruling - interfaces can not be copyrighted and so being a derived work of something that is not copyrighted can not spread the GPL, and even without this the Linux kernel license contains an explicit exemption for these interfaces). Anything that interacts with code that is not part of these interfaces is a derived work of the kernel and covered by the requirements of the GPL. Given how deeply ZFS must hook into the VM and VFS subsystems to work, it's pretty likely that it requires touching GPL'd parts.
Companies like nVidia sidestep this, because the GPL is a distribution license. They provide a binary blob, most of which is developed as part of a cross-platform effort and so is not a derived work of the kernel. They also distribute a shim. The shim is a derived work of the kernel, and the parts of the blob that talk to the shim could possibly be argued to be derived works of the shim, but the only license that would be violated if they were would be the GPL on the shim, and so the only person with standing to sue nVidia would be nVidia. The fact that they've had to jump through these hoops to do so is evidence that not doing so would not be condoned by the various copyright holders of the kernel. I challenge you to find one example of a binary-only kernel module that is distributed with the awareness and consent of the Linux copyright holders and uses anything other than the interfaces declared public.
The CDDL is a per-file license, so may be linked with code under any license without issues unless those issues come from the other license.
I am not a lawyer, but I've spent enough time with IP lawyers to have had most of these discussions before.
I am TheRaven on Soylent News
No, I think the distinction expressly codifies what parts of the kernel are generic "kernel" interfaces and what parts are Linux-specific (and thus imply derivative work status). Otherwise there would be no reason to make that distinction, or to allow modules to declare non-GPL licence status.
Not only that, but the NVidia binary driver is based on their Windows driver. It doesn't even work with Linux.
On top of both the kernel and the binary driver they build a shim, which is licensed as GPL + exception for linking with the binary driver.
Oracle could do the same for ZFS (or they could change the license, since - unlike NVidia - the source is available), but they won't. ZFS is under the CDDL license which does not allow linking with GPL code, so a shim like NVidias cannot be made without Oracles blessing. To comply with both licenses, such a shim would have to be (GPL and not CDDL), and (CDDL and not GPL) at the same time.
TL;DR: NVidia can do it because they can set the license for their half of the code to work around the problem. Oracle could do the same, but Ubuntu can't because they don't own either part of the code.
Don't be in doubt that the NVidia lawyers made sure that only the shim is a derived work of the driver, never the other way around.
Likely the people who develop the driver are not even allowed to LOOK at the shim, to ensure that nobody could argue that the driver is in any way derived from the shim.
I don't see where they're not adhering to the respective licenses. "Distribution" of a piece of software is reasonable to be restricted to the distribution of that specific piece of software, not it's inclusion in a larger distribution through a combination of software. If modifications are made to a specific piece of a "distribution" of a paricular project then that is what the license on that specific piece of software covers. When combined within a collection of pieces of software published under the GPL or any other license that does not apply to the collection just because one of them might have been released under a GPL or CDDL license, just the specific elements. The incompatibility does not come from the projects. GPL zealots beware!
Whether or not they're correct, their argument comes down to "we think we're right." The issue isn't whether the licenses are incompatible (I doubt anyone disputes that) but whether or not a kernel module is a necessarily derivative work of the kernel (because that must be true for the license incompatibility to matter). And here is what they say about that:
And there you have it. If you agree with them (and why wouldn't you? It's "quite obvious" so therefore that settles it) then they're preaching to the choir and you can applaud now. If you disagree with them (and side with Canonical) then .. oh my, you're in a "minority position."
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
I'm not a lawyer, but what the heck. The following isn't even illegal advice.
What are the limits to estoppel? I write some software and notice that it's being distributed illegally. I decide I don't care, and people distribute it freely. Then, I decide that I want to stop the illegal distribution, and start firing off cease-and-desist letters. Can I stop the illegal distribution? I'm not in a good shape to sue for damages, but do I have to let the distribution continue?
Also, suppose I write some software and GPLv2 it. Over the years, some people link proprietary blobs to it and I do nothing. Then someone comes along with a new proprietary blob, and I decide "enough is enough". Does estoppel apply when a party is counting on what the copyright holder has allowed in similar situations in the past?
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
Yes and no.
"the Linux developers approved, condoned, and encouraged binary, non-GPL modules". You could argue that Linus has known all along that Linux distributions included binary, non-GPL modules (say NVIDIA video drivers?) They've known products were being distributed that aren't under the GPL license.
But no one is arguing that these products (NVIDIA) SHOULD be under the GPL license. So...no harm, no foul?
Flip side of the coin. Other products (NVIDIA) isn't arguing that the Linux Kernel should be invalidated against the GPL. (In theory, they could...but that wouldn't grant them a license to use the Linus Kernel. They could argue that their product (NVIDIA) can't be distributed with the Linux Kernel however. They could try to argue damages - but that would be pretty difficult given that they give product away for free as well.
So...now - let's look ZFS. Licensed under CDDL. Given away fro free.
SFC is arguing that ZFS owners COULD argue that giving away ZFS with Linux would violate the GPL. Yeah....so what? At that point Canonical apologies and pulls ZFS.
Damages? Maybe. I'm not sure I see how...but if Canonical is up to take the risk...the OWNER of ZFS could only attack Canonical for their actions. They CAN'T get any additional rights to Linux...Canonical doesn't own 'em.
I was thinking similar thoughts, but not so completely.
Who has standing to enforce the potential breach of license? If nobody, then it doesn't really matter. If the people with standing are the ones doing the breaching, again there is not much result.
I suppose if I ever submitted a patch to the project, I could potentially have standing, but am I likley to try to get the districution halted?
Why should Oracle change it's license?
If Linux is incompatible and it is Linux that wants this, then Linux needs to change to a more permissive license. The copyleft things is kind of considered a virus by a lot people.
Enforced freedom is not freedom.
I think the distinction expressly codifies what parts of the kernel are generic "kernel" interfaces and what parts are Linux-specific (and thus imply derivative work status).
Incorrect argument. Many, in fact, the vast majority of the GPL symbols are clearly Linux-specific. So the distinction between GPL and non-GPL symbols tells you nothing about whether a work is derivative.
Otherwise there would be no reason to make that distinction, or to allow modules to declare non-GPL licence status.
Creating discomfort for GPL violators is a perfectly valid reason to make that distinction. It's very cost-effective.
When all you have is a hammer, every problem starts to look like a thumb.
What part of my argument is incorrect? EXPORT_SYMBOL_GPL(foo) means that, technically, the kernel will only expose "foo" to modules that declare a GPL-compatible license, and that, legally, the kernel developers think using that symbol means a kernel module is a derivative work of the kernel. EXPORT_SYMBOL(bar) means that, technically, the kernel will expose "foo" to any loadable kernel module, and that, legally, the kernel developers think it is a fairly generic interface for a Unix-like kernel. That they make the distinction, and allow modules to declare a license, implies that they expect GPL-incompatible kernel modules to exist. The distinction provides clarity and a measure of safety for distributors of such kernel modules, not discomfort.
What part of my argument is incorrect? EXPORT_SYMBOL_GPL(foo) means that, technically, the kernel will only expose "foo" to modules that declare a GPL-compatible license, and that, legally, the kernel developers think using that symbol means a kernel module is a derivative work of the kernel
There's your incorrect argument. You don't know what kernel developers actually think, and further, you don't know how it would affect legal standing even if you did. See "thought crime".
When all you have is a hammer, every problem starts to look like a thumb.
Wow, you really know how to double down on the stupid. See "Donald Trump".
Or, if you prefer, see what Linus said about it.
Funny, I was thinking the same thing about you. Linus isn't "programmers", Linus is just one programmer of thousands who hold copyright in the kernel. In a legal sense, what Linus posted is "hearsay", and arguably a nice demonstration that he might be right when he claims programmers making lousy lawyers. As far as I know, intent ("willful infringement") may matter in computing copyright damages but not in deciding whether infringement actually occurred. Keep pursuing your theories about intent by all means, I doubt you will find anything of value down that path but somebody needs to do it.
When all you have is a hammer, every problem starts to look like a thumb.
What Linus said may be hearsay in that one could not submit it as evidence in court, but I am not trying to do that. It merely illustrates that he, the most prominent copyright holder for Linux, agrees with me that usage of EXPORT_SYMBOL() versus EXPORT_SYMBOL_GPL() symbols is significant when it comes to determining whether a loadable kernel module is a "derivative work" of Linux in the GPLv2's sense. That kernel developers regularly debate which of those to use for which interfaces (e.g. dma-buf) indicates that his view is very widely shared.
An alleged infringer's intent has nothing to do with those annotations. They express the copyright holders' intent about the interface, and that is the intent that is relevant to figuring out whether a work is a "derived work" under the kernel's license. Keep throwing up irrelevant claims if you want, but realize that most of us can see right through them.
I have never heard any kernel developer state that the intent of non-GPL symbol exports is to encourage GPL infringement, or distribution of binary-only modules.
When all you have is a hammer, every problem starts to look like a thumb.
Boy, you sure beat the hell out of that strawman!
Go fuck yourself, lawyer scum. Your whole profession is an invented need by people who don't want to produce anything, but be parasites in the rest of us.
Interestingly, that seems to be the whole reason the GPL is around in the first place.
To offer something to play with for an anti-social neckbeard and his lawyer friends.
I'm not normally fond of lawyers, but if a lawyer and RMS were both about to drown, I'd take a very long time deciding on which sandwich to eat...
The problem with your analysis is that this:
Since pretty much the beginning, the Linux developers approved, condoned, and encouraged binary, non-GPL modules
Is not even remotely true. Greg KH and Alan Cox have both stated publicly that this is not the case, but more formally the kernel has an explicit set of symbol annotations for things that they consider to be public interfaces (which do not therefore invoke the GPL, because - possibly modulo the recent Oracle ruling - interfaces can not be copyrighted and so being a derived work of something that is not copyrighted can not spread the GPL, and even without this the Linux kernel license contains an explicit exemption for these interfaces). Anything that interacts with code that is not part of these interfaces is a derived work of the kernel and covered by the requirements of the GPL. Given how deeply ZFS must hook into the VM and VFS subsystems to work, it's pretty likely that it requires touching GPL'd parts.
Companies like nVidia sidestep this, because the GPL is a distribution license. They provide a binary blob, most of which is developed as part of a cross-platform effort and so is not a derived work of the kernel. They also distribute a shim. The shim is a derived work of the kernel, and the parts of the blob that talk to the shim could possibly be argued to be derived works of the shim, but the only license that would be violated if they were would be the GPL on the shim, and so the only person with standing to sue nVidia would be nVidia. The fact that they've had to jump through these hoops to do so is evidence that not doing so would not be condoned by the various copyright holders of the kernel. I challenge you to find one example of a binary-only kernel module that is distributed with the awareness and consent of the Linux copyright holders and uses anything other than the interfaces declared public.
The CDDL is a per-file license, so may be linked with code under any license without issues unless those issues come from the other license.
I am not a lawyer, but I've spent enough time with IP lawyers to have had most of these discussions before.
1. Neither Cox nor Hartmann are majority owners of the kernel code.
2. Public statements on community platforms aren't a valid replacement for common legal instruments.
3. Go ahead and check out the ZoL source yourself. You won't find a single "EXPORT_SYMBOL_GPL" in there.
4. The GPL doesn't explicitly state anything about "cross-platform efforts". Judging by the FSF's/GPL's faulty adaption of common law as well as computer science, NVIDIA would be in violation of the GPL as well, since the blob is a part of the kernel in their flawed mindset.