Getting grubby with ZFS
Getting grubby with ZFS
Posted Dec 7, 2010 23:56 UTC (Tue) by ewen (subscriber, #4772)Parent article: Getting grubby with ZFS
The FSF is counting on Oracle being bound by the strengthened patent clauses found in GPLv3. But the code found in Solaris was never explicitly distributed under GPLv3; it is under a GPLv2+ license. The code only became explicitly GPLv3 when it was moved into the GNU-run Savannah repository. The FSF is saying that, thanks to the "or any later version" language in the copyright notice, users of the ZFS code can assume that Oracle is bound by the more explicit GPLv3 patent language even though GPLv3 did not exist when the code was released. They are probably right.
(NOTE: I'm just responding to what you say here, I haven't read enough of the backstory to know if the FSF is really saying what you report them as saying.)
If entity A distributes the code under GPLv2+ then it's fair to say entity A agrees to be bound by the GPLv2 license (for that specific distribution), including the option of allowing other people to distribute it under GPLv3 (or later). And if entity B then distributes the code under GPLv3 then entity B agrees to be bound by the terms of GPLv3. But I don't think that it's fair to say (nor do I think a court would say, if pushed) that entity A agreed to be bound by the terms of GPLv3 that are different from GPLv2 (just to allow someone else to so bind themselves). Particularly so when the "or later" GPLv3 license didn't even exist at the time that the original code was licensed/released (courts generally frown on applying things retroactively). So if that's the stated rationale for "patent safety" it seems pretty weak.
That said, I think including in grub the code that was released under GPLv2+, for the purpose of enabling grub booting off ZFS, is probably the correct decision here on balance. In the unlikely event that someone does turn up claiming patent infringement the direct harm is fairly low (a few people with ZFS systems didn't have to pay to boot their system), and things like estoppel may prevent successors in interest of the entity making the original release from acting against people taking advantage of that release.
Ewen
Posted Dec 8, 2010 23:42 UTC (Wed)
by zlynx (guest, #2285)
[Link] (5 responses)
Oracle released it under GPL v2 with permission for others to re-release it under GPL v3.
That doesn't make Oracle bound by GPL v3.
Posted Dec 10, 2010 7:51 UTC (Fri)
by jmalcolm (subscriber, #8876)
[Link] (4 responses)
The GPL is just the conditions under which Oracle permits you to use the code. It does not place any obligations on Oracle at all.
The language here seems a bit dangerous. The idea that the GPL is somehow a "viral" license that can steal your code, your rights, and your property away from you is something I thought we were finally getting past. Please, let's not go back there.
If somebody takes the GPL 2+ licensed code and releases it as GPL3 then it is that party that is bound by the patent language in GPL3. Oracle has not somehow released it under GPL3 just because somebody else did.
This is the difference between a license and something like the Microsoft Community Promise. Under the MCP, everybody derives their rights directly from Microsoft. Under the GPL, you get them from whoever gave you the code.
If I download Red Hat Linux, I get all my GPL rights from Red Hat, not from the FSF or Oracle or Linus or anybody else. Red Hat may have gotten the code from them but I got the code from Red Hat.
Unless I completely misunderstand, Oracle could stop releasing the code at all. In that case, anybody that had already received the code could continue to distribute it under any license that is compatible with GPL 2+ (which includes of course GPL3). It would no longer be possible to receive it directly from Oracle though and you could not somehow force them just because they had distributed it previously. If nobody else had a copy of the code it would simply be closed source again.
A license has no impact on the licenser other than restricting what legal action can be taken against licensees who are following the language of the license as originally granted.
GPL 2+ means that Oracle cannot stop you from releasing the code as GPL3. It does not compel Oracle itself to do anything at all.
The relicensing scenario is also possible with the FSF since they require copyright attribution. They could take all their code and simply relicense it under a closed source license if they wanted (however unlikely this is to occur). Of course, any code out in the wild would still be GPL and this would just result in the mother of all forks.
Posted Dec 10, 2010 11:38 UTC (Fri)
by corbet (editor, #1)
[Link] (2 responses)
For the record, I don't think anybody has hinted that Oracle has not lived up to those requirements.
The question is not whether obligations exist; they clearly do. Instead, it's whether those obligations stop at GPLv2, or whether GPLv3ish requirements come into play as well. If (1) the FSF says that GPLv3 prevents Oracle from buying a "covenant not to sue," and (2) Oracle does not distribute a GPLv3 version of GRUB, the conclusion is that, in the FSF's mind, the "or any later version" license was equivalent to distributing under GPLv3 in the first place.
Or, to get closer to your language, "the conditions under which Oracle permits you to use the code" include a condition (from GPLv3) that Oracle will not buy a partial patent umbrella that excludes you.
Posted Dec 13, 2010 10:26 UTC (Mon)
by jmalcolm (subscriber, #8876)
[Link]
Sure, they need to "continue" releasing their code under GPLv2 if they want to distribute a version of GRUB that uses GPLv2 (which they do). However, they have no obligation to move to GPLv3 just because somebody else did that with their code.
Now, if GRUBv2 is GPLv3 only and Oracle wants to distribute that then this is another matter. Clearly now they would need to release their code under GPLv3. The point is that it would be them doing it voluntarily.
Distributing code you wrote under the GPL does not obligate you to do anything. "All" the text of of the GPL applies to the people that receive your code but not to you at all. A lot of people seem very confused by this and that is what I was trying to address.
So, when you say that you are releasing code as GPLv2+ you are saying that anybody who gets your code can only "distribute" the software if they license it as GPLv2 or higher (including GPLv3). It does not say that you need to re-release it under a later version of the GPL, any other license for that matter, or that you even need to keep making it available at all.
In this case, you are pointing out that Oracle not only releases GPL code that they wrote but in fact combines that code with code that they themselves received under the GPL. They are now bound by the terms of the version of the GPL that was used for the code they received.
My point is that they are bound by the license they "recieve" not the one they "offer".
Posted Dec 13, 2010 10:29 UTC (Mon)
by jmalcolm (subscriber, #8876)
[Link]
[Not this time though of course. :-) ]
Posted Dec 16, 2010 23:34 UTC (Thu)
by Wol (subscriber, #4433)
[Link]
Actually, I don't think they could. aiui, that would be a breach of the contract assigning them the copyright. And as such, if they did release it under a closed source licence, there would be the mother of all legal explosions as far as FLOSS is concerned ... Cheers,
Getting grubby with ZFS
Getting grubby with ZFS
Hold on. Oracle distributed its code as part of a derived version of GRUB. So of course the GPL imposes obligations on them - providing the source to anybody who asks for it, for example (since they did binary distribution). They can't stop distributing that code for a while yet.
Disagree
Disagree
Love what you do
Getting grubby with ZFS
The relicensing scenario is also possible with the FSF since they require copyright attribution. They could take all their code and simply relicense it under a closed source license if they wanted (however unlikely this is to occur).
Wol