Enforcement (or not) for module-specific exported symbols
Restrictions on exported symbols are driven by two core motivations, the first of which is to ensure that kernel modules are truly modular and do not access core parts of the kernel. The intent is limit the amount of damage a module can do, and to keep kernel modules from changing fundamental aspects of the kernel's operation. The other motivation is a desire to make life difficult for proprietary kernel modules by explicitly marking exports that are so fundamental to the kernel's design that any code making use of them must be a derived product of the kernel. Those symbols are unavailable to any module that does not declare a GPL-compatible license.
There have been many discussions about the proper exporting of symbols over the years; see the LWN kernel index for the history. The most recent example may be this discussion on whether the in-progress user-space stack-unwinding improvements should be made available to the out-of-tree LTTng module. These discussions do not appear to have impeded the exporting of symbols in general; there are nearly 38,000 exported symbols in the upcoming 6.16 kernel.
That kernel release will also include a new member of the EXPORT_SYMBOL() macro family:
EXPORT_SYMBOL_GPL_FOR_MODULES(symbol, "mod1,mod2");
This macro will cause the given symbol to be exported, but only to the modules named in the second argument, and only if those modules are GPL-licensed. It is intended for use with symbols that kernel developers would strongly prefer not to export at all, but which are needed by one or more in-tree subsystems when those subsystems are built as modules. There are no users of this macro in the 6.16 kernel, but a few are waiting in the wings. The symbol exports needed for the proposed unification of kselftests and KUnit are expressed this way, for example.
The linux-next repository contains a couple of other users that are planned for merging in 6.17; included therein is the exporting of the rigorously undocumented anon_inode_make_secure_inode() exclusively for the KVM subsystem. That particular export came about as the result of a discussion following the posting, by Shivank Garg, of this patch making that function available to KVM to fix a security issue. Vlastimil Babka suggested using the new, module-specific mechanism, a suggestion that Garg quickly adopted.
Christian Brauner, having evidently learned about the new mechanism in this discussion, said that he would happily switch a number of other core filesystem-level exports to the module-specific variety, but there was one problem: some of those exports are not GPL-only, so there would need to be a version of the macro that does not impose the extra license restriction. Christoph Hellwig disagreed with the need for a non-GPL version, though, saying that any export that is limited to specific in-tree modules is, by definition, only exported to GPL-licensed code. He suggested just removing the GPL_ portion of the name of the macro, instead.
Babka pointed out one other potential difficulty, though: while the module-specific exports are intended for in-tree modules only, there is nothing in the kernel that enforces this expectation. So an evil maintainer of a proprietary module could, for example, simply name that module kvm, and anon_inode_make_secure_inode() would become available to it. To address this perceived problem, Babka posted a patch series that added enforcement of the in-tree-only rule, and also changed the name of the macro to EXPORT_SYMBOL_FOR_MODULES().
It is worth noting that this enforcement implementation, were it to be applied, would still have the potential to be circumvented in external modules. The only way that the kernel knows that a specific module is of the in-tree variety is if the module itself tells it so. Specifically, the kernel looks at the .modinfo ELF section in the binary kernel module for a line reading "intree=Y"; if that line is found, the module is deemed to be an in-tree module. If an evil developer is willing to impersonate a privileged module to gain access to a specific symbol, they probably will not be daunted by the prospect of adding a false in-tree declaration to the module as well.
In any case, though, that change ended up being dropped in the second version of the patch series. Masahiro Yamada had raised a concern with the new enforcement mechanism: some developers of in-tree modules do their work on out-of-tree versions until the work is merged. In other words, sometimes, replacing an in-tree module with an out-of-tree version using the same name is a legitimate use case. Rather than break a workflow that some developers may depend on, Babka opted to remove the enforcement mechanism entirely, leaving only the name change.
In this case, as always, the purpose of the removed change was not to
create a bulletproof defense against attempts to circumvent the export
mechanism. It was, instead, to make the intent of the development
community clear, so that anybody engaging in such abuse has no excuses when
they are caught. The existing mechanisms in the kernel should be
sufficient for that purpose; anybody who is willing to bypass them would
probably not have been slowed down much by the addition of another hurdle.
Index entries for this article | |
---|---|
Kernel | Development model/Loadable modules |
Kernel | Modules/Exported symbols |
Posted Jul 15, 2025 16:33 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (66 responses)
Posted Jul 15, 2025 16:41 UTC (Tue)
by josh (subscriber, #17465)
[Link] (8 responses)
The whole point is that while you certainly *can* make such changes, doing so makes it obvious that you're doing something wrong and likely violating the license.
Posted Jul 15, 2025 17:42 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (3 responses)
That "likely" is exactly why I'll be patching it out, I won't be limited by nerds-be-playing-lawyers, by their assumptions, which have never been validated in court. CDDL _is_ - at least in my view - compatible with GPL "in spirit", unless proven otherwise. It has not been proven to date. Why? If it's such a clear case that the nerds already know the outcome for sure... why has nobody sued Canonical for shipping binary OpenZFS modules? Maybe it's not that "likely".
I would try to understand the animosity towards NVIDIA, if it was only about that, but towards the OpenZFS community, not so much. To me, it's a victim of a fight, in which it basically has no stakes. I kinda wish that would change, but I don't have a problem if it doesn't, I can always patch the source.
Posted Jul 16, 2025 8:47 UTC (Wed)
by bjackman (subscriber, #109548)
[Link] (2 responses)
Wether the derived-work argument is legally solid is a valid thing to question. But your "I'll just patch it" workaround definitely doesn't change anything.
Posted Jul 17, 2025 5:21 UTC (Thu)
by elimranianass (subscriber, #164758)
[Link] (1 responses)
But I think that the entire concept of export symbol restrictions is built around a very... Untested legal foundation. I haven't seen anything that would indicate that it isn't armchair lawyering, by non lawyers, that see code as a contract or something. But maybe I'm wrong. Still, there's no reason to even go as far as maintaining a patched kernel.
Posted Jul 17, 2025 11:28 UTC (Thu)
by pizza (subscriber, #46)
[Link]
In the US, the *API itself* is copyrightable, and any use of it (even a black box reimplementation) can produce a derivative work that _may_ be considered fair use. [1]
....Thanks, Oracle.
[1] https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_Americ...
Posted Jul 15, 2025 17:52 UTC (Tue)
by intelfx (subscriber, #130118)
[Link] (3 responses)
Well, the whole point is that it is not that obvious. Please correct me if I'm wrong, but AFAIU the definition of a "derived work" cannot be influenced by author's wishes.
Perhaps originally the _GPL markup was intended to mean "the kernel developer community thinks that this symbol is internal enough to the operation of the kernel that any module that uses it will likely be considered a derived work from the kernel", but with the recent push within the kernel community to mark any and all new exports as _GPL... I think this line of reasoning got severely weakened. But even if not, it was never the author's right to decide what is and isn't a derived work. The _GPL markup is a suggestion *at best*. (Maybe it's also a "technical protection measure" as per DMCA, but we're not all living in America, thankfully.)
Posted Jul 15, 2025 18:17 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (2 responses)
That, in turn, affects whether or not more significant penalties come into play for copyright infringement in some jurisdictions; for example, it's one of the determining factors for some criminal infringement offences in England & Wales, and affects whether triple statutory damages are available in the USA.
So, while it's a suggestion at best, it's risky to remove it, since it can change your position in the event that a copyright holder decides to pursue you through the legal system.
Posted Jul 15, 2025 19:23 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (1 responses)
I've been increasingly thinking of publishing a tracking fork with exatly one commit on top of upstream releases.
If out of tree filesystems get such a hostile treatment, that might be the final straw. Maybe it will get traction, maybe it won't, but at this point, I think it is getting increasingly important to send the signal out. It has gone too far, in my opinion.
Posted Jul 16, 2025 1:11 UTC (Wed)
by Jordan_U (subscriber, #93907)
[Link]
If it were done by zfs developers, I don't know what any judge might think because I can't predict if they (or their clerks) would actually understand the situation.
I would hope that if zfs developers decided that they needed to use some symbols that are marked GPL_ONLY, and used your silly fork to be able to do so, that it would be much less of a legal problem for them than it would be for a company selling a product that depends on their completely closed source / proprietary module.
Mostly though, I don't see a lot of parties that would benefit much from suing zfs developers or users right now.
Who's going to sue Canonical right now and get damages or a competitive advantage that outweighs all of the legal effort and blowback?
So, I understand your frustration with some Linux kernel developers WRT zfs, while making no statement about it myself. I also don't expect that you're going to maintain a fork like this, or that anyone would use it if you did.
I hope that, despite all that, you have a wonderful day.
Posted Jul 15, 2025 20:12 UTC (Tue)
by SLi (subscriber, #53131)
[Link] (56 responses)
So, really, this is purely a mechanism to make someone's claim that they had no idea much more implausible if it comes to blows.
Posted Jul 15, 2025 20:30 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (55 responses)
Posted Jul 15, 2025 20:44 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (2 responses)
Posted Jul 15, 2025 23:24 UTC (Tue)
by SLi (subscriber, #53131)
[Link] (1 responses)
Might be. Having seen some of the lawfare around this, it's my opinion that nobody knows and anyone who claims to know should not be trusted (but there certainly are better guesses and worse guesses). I would bet that the interpretation of the law ends up being something that nobody would have guessed.
An example: Originally in the FLOSS world everyone believed that licenses are unilateral permission grants that can only give you rights you would not otherwise have, but cannot take away rights you would have absent the license (since it's unilateral). It was emphasized that it's not a contract.
I don't know of a single jurisdiction that has adopted such an interpretation, though they may exist.
So I think the best bet is that the boundaries of what is a derived work likely do not work in any way that *any* of us can really imagine, or even recognize as a likely correct interpretation.
Unfortunately, this view tells us precious little about what we should do.
Posted Jul 16, 2025 1:37 UTC (Wed)
by SLi (subscriber, #53131)
[Link]
So I'd say a lot of practical enforcement is not only about how things will likely be interpreted but also about whether the players can afford to find it out.
Posted Jul 15, 2025 20:44 UTC (Tue)
by dskoll (subscriber, #1630)
[Link] (45 responses)
I doubt you'd have a case. How have devs "taken away" any rights from you? And unless you agree to the license, you have no rights to the software anyway.
All the devs are doing is saying: "In our opinion, IF you use this symbol THEN you have created a derived work." They're not preventing you from using the symbol and doing whatever you want, but they are putting you on notice in case a court indeed finds you've created a derived work and distributed it under a different license from the GPL. If a court finds you haven't created a derived work, then it's no big deal.
Yes, you could create a tracking fork. But anyone who used it would be in the same position as someone who deliberately edited out the GPL symbol marking. If they were found to infringe the license, it would be extremely hard to claim they did so unknowingly.
Posted Jul 15, 2025 20:52 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (44 responses)
To me it seems, that they're trying to prevent me from using OpenZFS, which I don't think they have the right to do. There's no good technical reason for that, only unproven politics, which I view as discriminatory.
Posted Jul 15, 2025 21:11 UTC (Tue)
by dskoll (subscriber, #1630)
[Link]
They're not preventing you from doing anything. Since all of the source is available for you to edit, by definition they cannot prevent you from doing what you want, at least not technically.
Posted Jul 15, 2025 21:51 UTC (Tue)
by anselm (subscriber, #2796)
[Link] (11 responses)
Nobody is trying to prevent you from using OpenZFS.
The GPL stipulations are only supposed to kick in if you try to distribute code.
The GPL doesn't allow you to distribute Linux kernel binaries with OpenZFS compiled in. Whether you're allowed to distribute Linux kernel binaries alongside matching binary modules for OpenZFS is up in the air (Canonical has been doing it for a while and nobody seems to care enough to try to stop them). It is totally OK, even according to the GPL, to distribute Linux kernel sources alongside OpenZFS sources (“mere aggregation”) so people can build and use an OpenZFS-enabled kernel on their own hardware.
Posted Jul 15, 2025 22:47 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (10 responses)
If symbols it relies on switch to _GPL, it won't even build. Working around these things so it builds flawlessly usually means degraded performance - and I am claiming, that they don't have the right to do that. I am claiming two things, essentially:
- that OpenZFS itself isn't a derivative work of Linux in principle because it exists as a piece of software that doesn't really _need_ Linux, it is merely compatible with Linux
- that I could, even distribute a single binary of Linux and OpenZFS combined, legally and in fully in compliance with both of the licenses - I haven't seen anything in any of the licenses I wouldn't satisfy if I provide full sources corresponding to the binary -- while it is true that CDDL on its own doesn't require that, combining with GPL would enforce it even for the OpenZFS codebase - my intention is, demonstrably in my actual actions, to enable the most innovative open systems, not anything that would do damage - or disrespect, or how to put it - to free software, its developers or users... I really don't see what's the problem, both encode copyleft, one imposes few more restrictions, so if they're upheld for the whole binary, where's the violation, of what, exactly...
I sense that some devs very strongly dislike OpenZFS (to put it mildly, plus some have even confirmed it), I think it is for no rational reasons and I think their actions hurt the interests of everyone involved.
The Linux development process is demonstrably unable to produce a working filesystem of this sort. If that wasn't the case, I wouldn't probably be using OpenZFS at all, it's not like it itself doesn't have any faults :D But it is better than BTRFS and we probably won't know how it would do compared to fully developed bcachefs, because I doubt we'll see one, if it gets kicked out.
Posted Jul 16, 2025 1:01 UTC (Wed)
by dskoll (subscriber, #1630)
[Link] (4 responses)
If symbols it relies on switch to _GPL, it won't even build.
That's easily fixable by patching the Linux source. Nobody is preventing you from doing that. There's also nothing in the GPL that requires Linux developers to develop Linux in such as way as to make any third-party software build cleanly against it.
I am claiming, that they don't have the right to do that.
What? It's their software. They can do whatever they like with it. If the Linux kernel developers decide to special-case the kernels so that if it sees Google Chrome running, it kills the Chrome process and makes a raspberry sound at you... that's their right. I have no idea on what legal basis you believe you can prevent the Linux devs from writing the software however they like.
Posted Jul 16, 2025 11:34 UTC (Wed)
by snajpa (subscriber, #73467)
[Link] (3 responses)
Third party lawsuits wouldn't be a new thing in the EU with regards to GPL - and people like mr. Hellwig aren't the sole authors of the whole thing, but are obstructing my ability to use what I was able to use, before his actions (if it gets merged, for now we're talking purely hypothetically). I could even mix in my taxes and things like NGI Pointer and them making me hard to make use of the code I helped to fund. The world we live is far from being as simple as some nerds would like to portray it.
Posted Jul 16, 2025 11:57 UTC (Wed)
by pizza (subscriber, #46)
[Link]
Again, you demonstrate that don't know what you are talking about, and you refuse to listen when corrected.
Authors can dictate whatever terms they want. *users* can only do so under the terms the authors (and the law) allow. And absent explicit permissions (eg the GPL) nobody has the right to modify and/or redistribute any copyrighted work.
The GPL explicitly says it places no restrictions on *use*, which is effectively unlimited.
What the GPL does cover is the permission to modify (ie "create derived works") and/or redistribute. The threshold of modification necessary to create a derived work is defined by law, not the GPL, and thus can vary from one jurisdiction to the next.
> The world we live is far from being as simple as some nerds would like to portray it.
Pro tip: When you want something from someone, you tend to get much better outcomes without insulting them. Especially when you are completely, utterly, unambigously *wrong*.
Posted Jul 16, 2025 14:19 UTC (Wed)
by dskoll (subscriber, #1630)
[Link] (1 responses)
... but are obstructing my ability to use what I was able to use,
Yes? So? I can see how that would annoy you. It would annoy me. But is it against the law? Of course not. If Linux developers (hypothetically) want to be uncooperative obstructionist gits, they are within their legal rights to be that.
Posted Jul 16, 2025 23:07 UTC (Wed)
by snajpa (subscriber, #73467)
[Link]
And the second is to thank you for having the patience with me. Yes, it absolutely uterrly sucks, I wish there was in-tree filesystem (and VFS caching, and IO planning, +assoc. userspace) as good or better than OpenZFS. The situation with upstream filesystems... well with that being what it is, I really don't understand the push to make life harder for out of tree filesystems.
I'll close with that. Thanks for letting me at least be heard :)
Posted Jul 16, 2025 7:15 UTC (Wed)
by Wol (subscriber, #4433)
[Link] (4 responses)
And THIS is the problem. You could even go as far as saying this breaches the SPIRIT of the GPL. "Who cares that the binary is legal, we won't let them create it anyway".
To take a slightly extreme example, it's like charging someone with murder because they said "I wish so-and-so was dead".
If they want to do something like that, they should at least let it build and run on the machine it was built on, but even then that's way more restrictive than the licence requires. Doesn't the GPL ban adding extra restrictions? Okay, this is a technological, not a legal resttriction, but it's still a restriction over and above the GPL. "You may not combine the source with other incompatible sources".
Cheers,
Posted Jul 16, 2025 11:52 UTC (Wed)
by snajpa (subscriber, #73467)
[Link] (3 responses)
But when was any vendor forced into going full free software as one would expect would be the goal of these technical restrictions?
Is the GPL module from NVIDIA a win? They've added a RISC-V core onto their chips so it can run more of the proprietary code, so it doesn't have to run on the main CPU at all, is that a win?
Is there any real measurable win that has been achieved clearly just by the in-code restrictions? I'm looking for any kind of example that would show this code actually has results as intended/advertised. Preferably an example where it's undisputable it's because of the symbol export restrictions, not where the GPL itself would be enough to decide the case.
Posted Jul 16, 2025 12:07 UTC (Wed)
by bluca (subscriber, #118303)
[Link]
Yes, it's a huge win. Instead of difficult to maintain, always-lagging-behind, always semi-broken kernel code, the stuff that is really specific to the hardware moved to the hardware, and the kernel just drives it. It is a huge win, and a massive improvement for both usability and maintenance.
Posted Jul 16, 2025 12:16 UTC (Wed)
by pizza (subscriber, #46)
[Link]
You still (conveniently) forget that the software authors themselves are part of this community, and the rest of said community has no inherent rights to whatever said authors create.
> Is the GPL module from NVIDIA a win? They've added a RISC-V core onto their chips so it can run more of the proprietary code, so it doesn't have to run on the main CPU at all, is that a win?
Very much so, because now that unauditable proprietary blob is self-contained within its own sandbox, with a defined, relatively stable API for interaction with the rest of the system.
Posted Jul 16, 2025 15:56 UTC (Wed)
by mfuzzey (subscriber, #57966)
[Link]
In my opinion yes absolutely, at least from the user / maintainer perspective.
Code that's running on a separate core to the kernel doesn't impose strict requirements on the kernel or toolchain version which is one of the major pain points of proprietary kernel modules - even if you have no philosophical issues with them they're a major pain because they are only available or have to specially packaged for every kernel version.
Furthermore code on an external core (generally) can't cause security issues for the entire kernel.
From a pure software freedom point of view it's probably no different to before. The proprietary code is still there sure but there's probably not more than before and it has been moved somewhere it does less practical harm.
While I'm sure many people (myself included) would love for there to be no proprietary code at all I don't think that's very realistic today.
Posted Jul 15, 2025 22:40 UTC (Tue)
by khim (subscriber, #9252)
[Link] (30 responses)
The fact that ZFS developers very explicitly and openly wanted to ensure that ZFS wouldn't end up in Linux and even designed special license just for that… tells me that it's not Linux developers who are trying to stop you, but someone else. Whether all that exercise have actually succeeded or not is big question… but it was not started by Linux developers, you have to remember that.
Posted Jul 15, 2025 22:48 UTC (Tue)
by snajpa (subscriber, #73467)
[Link] (29 responses)
Posted Jul 15, 2025 22:56 UTC (Tue)
by khim (subscriber, #9252)
[Link] (28 responses)
The only thing that may be debated is whether makers of ZFS actually succeeded in making it unusable in Linux. That thing requires verification in court and haven't happened. But it's absolutely the fact that they wanted that outcome… or else they could have fixed the problem very easily: it's not as if Sun had no idea about GPL… it did, that's why it released JDK using GPL. They just wanted to keep their precious DTrace and ZFS out of Linux… well, we may as well help them there, why not?
Posted Jul 16, 2025 0:01 UTC (Wed)
by 0xilly (guest, #172315)
[Link] (1 responses)
Posted Jul 16, 2025 4:36 UTC (Wed)
by pabs (subscriber, #43278)
[Link]
Posted Jul 16, 2025 1:25 UTC (Wed)
by snajpa (subscriber, #73467)
[Link] (25 responses)
But if there are no proprietary files... I understand this *if* makes it impossible for CDDL to ever make it into the `license_is_gpl_compatible` function in vanilla Linux, but I don't understand the apparent push to make life for OpenZFS on top of Linux hard for everyone. Most people just want to use the OpenZFS upstream and contribute back there fully copyleft-enabled files.
Some people continue developing zfs in illumos and are using it in proprietary setups, yes.
But OpenZFS not as much, not at all - as far as I'm aware of. I don't see what's worth waging such code-based war over, to me, it really feels like one...
Posted Jul 16, 2025 7:05 UTC (Wed)
by khim (subscriber, #9252)
[Link] (24 responses)
Seriously? That is how you interpret “they either wanted unfettered access to the code (i.e. BSD) OR failing that they wanted to ensure it would be distinct from Linux”? What does would be distinct from Linux even means, in your head, if not license incompatibility that would keep it out of Linux? That's the closest source that we have about the subject – and even it clearly tells us about hatred of GPL (and Linux, by extension). They wanted to ensure it would be distinct from Linux… and people are helping them. What's wrong with helping people achieve their dreams? Maybe. But most people are not the ZFS authors and they haven't designed ZFS and they haven't designed its license. We don't know the exact reason ZFS developers picked an option that made it [presumably] incompatible with Linux, but the decisions range from “they actively wanted to ensure that ZFS wouldn't be usable with Linux” to “they were purposefully ignoring Linux existence” (please don't try to imply that Linux vendor employees don't know about Linux existence… I'm afraid I wouldn't believe you). Linux developers are simply doing exactly the same thing. They are not ready to fight ZFS (and OpenZFS) developers in court (well… most of them, at least), but they definitely reciprocate the approach: some of them don't even know that OpenZFS exists (as they are not employees of the company that distributes OpenZFS it's even believable), some of them actively want to see it out of Linux (which was the honest wish of ZFS developers, isn't it?). Either way I don't see the issue: it wasn't Linux developers who made that mess, why should they [try to] clean it up? Situation would have been different if ZFS would have been [made and] open-sourced before in 1991 or maybe even 1995 (before or shortly after Linus wrote “won't be big and professional like gnu”), but in 2005… working for the Linux vendor… don't try to convince me that developers of ZFS are complete idiots and morons, please.,
Posted Jul 16, 2025 11:58 UTC (Wed)
by snajpa (subscriber, #73467)
[Link] (23 responses)
Yes, absolutely seriously.
Because I have - apparently unlike you - read the whole thing and am trying to infer what that whole comment is saying, unlike you, I haven't pre-decided on "my truth" a long time ago, for me, one sentence is just not enough. Especially when the rest of the comment doesn't support your kind of conclusion you're drawing just from that one sentence.
Posted Jul 16, 2025 13:29 UTC (Wed)
by khim (subscriber, #9252)
[Link] (22 responses)
And that is why you couldn't show me any part that supports your ideas? It's not “conclusion drawn from one sentence”, though. Because when Paul says I don't know if anyone spotted the compatibility issues and then adds Though, some in Sun legal did help with input to the GPLv3 drafting process… sorry, that just doesn't sound believable. We have some legal experts that did thorough work of reading and changing the GPL… and these guys have never noticed any incompatibilities? In what world is that possible? And then add this: Sun engineers had a strong dislike of the GPL - most of them came from the BSD world. Does it sound like an environment that would provide something that they would like to be used in GPLed project? The whole thing screams about “if we could outlaw GPL we would” kind of environemt – and you tell me that such environment would endorse GPL-compatible license that would make it possible to include their precious goodies into Linux? Sorry, but I'm pretty sure lots of people have noticed that CDDL is not GPL-compatible… and rejoiced. Because, in their mind, Solaris was a superior OS and would win if only Linux people wouldn't be able to “steal” from them. Well, they were obviously wrong but if it was their wish to keep these precious goodies out of Linux… why not help them there? If you really need to read ZFS, for some reason, then Linux provides entirely unfettered FUSE API that you may even use with entirely proprietary filesystems… why do you need to push in kernel something their developer didn't want to see in Linux?
Posted Jul 16, 2025 13:37 UTC (Wed)
by corbet (editor, #1)
[Link]
Posted Jul 21, 2025 12:48 UTC (Mon)
by paulj (subscriber, #341)
[Link] (20 responses)
These are 2 separate things.
1. There was discussion and review internally within the Solaris group about the CDDL. Wider engineering (i.e., beyond the group of select senior engineers who were in those discussions with management, along with others such as Copper and Phipps) were given time to read it, consider it and give feedback (I had a 1:1 with the acting director of Solaris Engineering around then, to my surprise, in part about this). This would have been in mid to late '04 I think - cause DTrace was released under the CDDL in January 2005, so CDDL was finalised by then.
2. Later, after all this, FSF started the GPLv3 process. Wikipedia says "late 2005", and the first draft released in January 2006. This is well after OpenSolaris and the CDDL. I do know Sun Legal did contribute to the GPLv3 feedback. There was at one point even talk of Sun relicensing OpenSolaris under the GPLv3. Again pointing to how Sun *management* were fans of copyleft (Schwartz particularly) and didn't have a problem with the GPL as such.
To summarise:
Solaris senior engineers: Hated the GPL, they did not want an /incompatible/ licence as such, what they really wanted was the BSD licence (AIUI)
Sun management: Wanted the GPL
Sun Legal: Agnostic in business terms, but the vibes I had from my senior engineer is that Sun legal were not fans of the wording of GPLv2, in technical legal terms.
I don't remember anyone talking about choosing a licence to be deliberately incompatible. My own, circumstantial, view of how it happened is that Solaris senior engineers vetoed the GPLv2 cause of GPL hatred and cause they wanted a permissive licence (so if Sun fell, they had best shot of starting new ventures with OpenSolaris). Sun management weren't going to go 100% permissive, they wanted copyleft. Sun legal were agnostic, however would have advised that they felt draughting a new licence with the "correct" legal terminology and form was best. And so we got the CDDL: a /more permissive/ in principle copyleft licence than the GPL (CDDL defines its scope in terms of "files" and "modifications" to those files, not the wider work in general and derivates as the GPL does), thus being a compromise between what Solaris engineering wanted and what management wanted.
That's /my/ feeling of how we got where we are. The incompatibility was an accident. An accident Sun management was still hoping to be able to fix through to 2007 in the hope the GPLv3 would be suitable (given a number of public statements on this by execs in that time frame, reported on by the tech press). Unfortunately, that didn't transpire - I think cause the GPLv3 added some terms that were unpalatable to legal and to management.
It's a terrible shame the Solaris code ended up incompatible. However, I still do not think it was the goal of anyone. Not even the GPL haters in engineering. Certainly not the original goal.
Posted Jul 21, 2025 13:17 UTC (Mon)
by paulj (subscriber, #341)
[Link]
Posted Jul 21, 2025 13:47 UTC (Mon)
by khim (subscriber, #9252)
[Link] (18 responses)
This depends on what question we are talking about. Because there are two similar yet different questions: And I assert that anwers to these two questions are substantially different. And for some unfathomable reason both you and snajpa and many others concentrate on #1… which is entirely irrelevant to the discussion. But that ignores the fact that refusal to make a choice is also a choice in itself. I can easily buy the story that answer to #1 is “no”: Solaris developers were both very proud of what they created and also a bit arrogant, it's easy to imagine that many of them haven't cared all that much about that upstart “Unix wannabe” and were honestly thinking that Solaris can easily beat it (this matches the story of how they abandoned Linux and went with Solaris for Java Desktop System). Yet all your descriptions of what have happened inside and what we saw from outside definitely doesn't make me very inclined to believe that answer to the more important question #2 is also “no”. The more you write and the more I look the more I'm convinced that true full story is: for one reason or another GPL was rejected and when the chosen replacement, “by accident” or otherwise, have been made incompatible with GPLv2… all the people involved knowingly and intentionally agreed to not do anything about it. After all people involved knew about properties of both GPL and MPL (that's both incompatible with GPL and offers a way to make it compatible with GPL – and that was very well known back then, it's not some kind of obscure knowledge), they drafted CDDL is a fashion that's closer to MPL than to GPL… I don't believe even for a millisecond than in all that process the question of “should we make out license a GPL-compatible one or not” was never asked. It's very hard to call something “an accident” when people do that something knowingly and intentionally: they definitely knew that their choice would make that code unusable for Linux – how can you call that “an accident”? Whether they hated Linux, too (that's premier GPL piece code, after all, and you have told many times that they hated GPL), or loved it (Sun was a Linux vendor at that time, after all) is not too much important, what's important is that question “have the people involved been aware of the consequences of what they are doing and about the fact that Linux wouldn't be able to use that code?” And I couldn't interpret your story in a way that gives answer “no” to that question, sorry. Whether they “joyfully and eagerly” introduced that incompatibility or whether they “sourly and grudgingly” introduced it… is not important. What's important is question of “whether they knew that they are introducing that incompatibility”… and I couldn't imagine that, with that many people involved who knew about GPL and GPL properties the answer is still “no”. Sorry.
Posted Jul 22, 2025 10:43 UTC (Tue)
by paulj (subscriber, #341)
[Link] (17 responses)
You *must* view everything that happened through _that_ lens. The other factor is that many senior Sun engineers just have a weird hatred of the GPL. That just came from the BSD v Linux stuff - Sun Microsystems engineering had a heavy BSD bias (some engineers were BSD developers, starting with Bill Joy).
The end result was that Solaris was licensed under a new licence that was a compromise between management and engineering. The engineers lost on BSD, management lost on GPL, the compromise was a copyleft licence with a file-based scope which on the face of it is a bit more restricted in scope (hence more permissive) than the GPL (whether there is a real legal distinction between framing it in terms of the original files and modifications to those files; and the GPLs way of talking about the "work" and derivatives I've no idea - but legal presumably preferred it).
Can I refute your view definitively? No. However, on the other hand, you have no real evidence for your view; and it is at odds with what I heard about the licence discussions, I never heard such motivations aired myself inside Sun.
I just don't think people thought about it. They were focused on Solaris. Sun engineers were engineers - great ones often (just in Solaris networking there were people whose work is used across many different OSes, software and RFCs wise). They were _not_ great legal minds per se. I didn't see anything to indicate a nefarious plot - though I wasn't privy to much either. What I did see was engineers who cared about Solaris and just hated the GPL (irrationally, largely). That is _sufficient_ to explain the outcome - a compromise that was about Sun management v engineering and the future of /Solaris/.
Entia non sunt multiplicanda praeter necessitatem.
Posted Jul 22, 2025 11:28 UTC (Tue)
by khim (subscriber, #9252)
[Link] (16 responses)
Why are you talking about motivations, again? Let me repeat once more: a refusal to make a choice is also a choice in itself! It doesn't matter if they “nefariously” made two licenses incompatible, “joyfully” made two licenses incompatible or “accidentally” made two licenses incompatible… the mere fact that they knowingly made them incompatible is enough. You don't need “motivation” to make two licenses incompatible. Most licenses in the world (as in: proprietary ones) prohibit redistribution outright. In fact, as you assert again and again the core of disagreement comes to that ability: Solaris engineers want to extricate Solaris and make it possible to combine that code with as large body of other software (like MacOS) as possible… for them the unability to combine ZFS and Linux was probably a plus… but, again, it's not important. Management wants to restrict that ability by reusing copyleft concept. Whether they actively wanted to make ZFS and Linux incompatible (to placate Solaris engineers) or whether they have done that reluctantly (to placate legal) we would never know… but, again, it's not important. Legal, again, talks about concepts that are related to sharing and combining, here, too. Sure. But that compromise have also made the released code incompatible with Linux. And Sun definitely knew about that. There are no need any “further specific information”. Just open this LWN article and read: Sun has submitted a new license (the "Common Development and Distribution License" or CDDL) to the Open Source Initiative's license-discuss mailing list. This license, derived from the Mozilla Public License, may (or may not) be what Sun chooses to use for its possible open-source Solaris release, so it is worth a look. What further evidence do you need? Do you really want to imply that this tidbit and this signature are not enough: Like the MPL, the CDDL is not expected to be compatible with the GPL, since it contains requirements that are not in the GPL (for example, the "patent peace" provision in section 6). Thus, it is likely that files released under the CDDL will not be able to be combined with files released under the GPL to create a larger program. What else do you need to believe that all the people involved expected that this would make ZFS incompatible with Linux? Whether this was done “by accident” or “by nefarous plot” we would, probably, never know… but that was done knowing and consciously.
Posted Jul 22, 2025 14:43 UTC (Tue)
by SLi (subscriber, #53131)
[Link] (13 responses)
I do think it is different to choose a license and not care about Linux than to choose a license to be incompatible with Linux. The former is possibly knowing but not intentional. The latter is intentional.
It's not really binary either. I think it's also different to choose a license out of hatred against GPL, and not care (enough) about what that means for Linux, than to choose a license to be incompatible with Linux.
They may even have preferred to be compatible with Linux, but hate GPL enough to override that preference. I think that would still be a completely coherent stance.
Posted Jul 22, 2025 15:17 UTC (Tue)
by paulj (subscriber, #341)
[Link] (4 responses)
Posted Jul 22, 2025 16:33 UTC (Tue)
by khim (subscriber, #9252)
[Link]
Can you show us the links or something to support that? Because I can see other people trying to put such words in Linus mouth here, but nothing that's spelt clearly enough to know that it's something he actually contemplated. On the contrary: Linus was saying that he may start the licensing process if GPLv2 would turn out too be “really bad”, but nowhere I saw that he may want to relicense Linux just to get access to ZFS and other things from Solaris.
Posted Jul 22, 2025 20:15 UTC (Tue)
by viro (subscriber, #7872)
[Link] (2 responses)
Post verifiable evidence if you have it.
Posted Jul 22, 2025 20:37 UTC (Tue)
by khim (subscriber, #9252)
[Link]
It was already posted. But I can post it again: It's very clear that Linus believes that Linux kernel can be re-licensed, if needed. And with ample evidence: lots of projects with lots of contributors have re-licensed stuff, over years. I think the most important one was MAME, which switched from their own custom-made copyleft license to GPL and BSD. While MAME have smaller number of contributors it's also measured in hundreds, thus it's clear that it's doable. The big question is: is it even a good idea? Do we really believe that Sun intended for their CDDLed code to be combined with GPL-licensed code, like Linux? Remember that this is requirement for any joint authorship code to be legal. CDDL code may be combined with CDDL code. That's by design. CDDL code may be combined with BSD code or proprietary code. Again, by design (CDDL is explicitly based on MPL and Mozilla needed precisely that from their browser core). It's not intended to be combined with GPL code – authors of CDDL very-very explicitly say that: it is likely that files released under the CDDL will not be able to be combined with files released under the GPL to create a larger program. While they are not certain about whether one may or may not combine GPL and CDDL modules to create a larger program… it's hard to interpret it as intention to have [his] [or] [her] contribution be merged into inseparable or interdependent parts of a unitary whole. And copyright required precisely such commitment, not “hey, let's see each other in court and then we will know for sure” offer that we've seen. Maybe in a different world where both Sun and Linux went with GPLv3 things would have ended up in a different state… and maybe in that world there would be no toybox and all other things that followed creation of GPLv3… but in our world as it exist today… it's simply too dangerous to play “fast and loose” with Oracle-owned CDDL code: it may be legal or illegal, but Oracle is not the company that I would want to see in court about that issue.
Posted Jul 23, 2025 9:22 UTC (Wed)
by paulj (subscriber, #341)
[Link]
I did write "If" it was possible to relicense, and wholly agree with pizza that that was/is a very big if - but Linus was considering it as not-impossible, not I.
Posted Jul 22, 2025 16:12 UTC (Tue)
by khim (subscriber, #9252)
[Link] (7 responses)
I don't conflate them. I just say that for interpretation of license or a contract “knowing” is enough. It's when two parties involved interpret the exact same words differently intent start to matter: human languages are ambiguous, even legalise is ambiguous… that's why courts and lots of procedures exist to resolve these ambiguities. But all these procedures are only applicable when parties disagree about the meanings of the words in the written contract. If there are no disagreement about what words in the contract mean… then we no longer need to even think about intent: rules are there, all parties agree about their meaning, all parties know what they we involved with… what's there to talk about? Yes, it's absolutely coherent and, as Linus said, there may be many pretty valid reasons to take that stance (read it, it was before an era of “political correctness”, thus Linus doesn't sugar-coat his words there). But that still doesn't change the end result! Maybe they really only want to take Linux drivers, yet don't want to give anything back (one possibility that Linus talks about) or maybe they only want to ensure they wouldn't lose the patent protection (another option) or maybe there are bazillion other reasons for them to pick that choice… but they have made choice, they know the implications of that choice, what else do you need?
Posted Jul 22, 2025 16:26 UTC (Tue)
by SLi (subscriber, #53131)
[Link] (1 responses)
a. "the licenses are incompatible"
but less than
b. "they wanted the licenses to be incompatible"
... which you now seemingly assert is not really meaningfully distinct in the context of this discussion from
c. "they had the knowledge that this would be an incompatibility, yet did what they did" (whatever their motivation).
Although I probably haven't read the entire discussion as closely as I should, and I'm in an IKEA to replace an exploded wardrobe, so forgive me if I misrepresent something!
Posted Jul 22, 2025 18:36 UTC (Tue)
by khim (subscriber, #9252)
[Link]
Obviously I'm talking about “c”. Because that's the outcome of these internal discussions. Compare the situation to story with Artistic license. Original version is described like this, on the FSF's site: Here we may argue about “intent”. There's Clarified Artistic License, there are an Artistic License 2.0, here we may talk about the situation where authors of the license had certain effects in mind, but were too clumsy to describe it, on the first try, in words. That's normal, human language is ambigious, it is, sometimes hard to precisely describe what you want using it. Situation with CDDL is radically different: there we have ample evidence that authors of that license knew very well what they are doing, they haven't been “too clever for their own good”, they wrote what they wanted to write. In that case we don't need to do a deep soul-searching to know how exactly they arrived at that point: they wanted precisely what they achieved, otherwise why haven't they changed the license to achieve compatibility?
Posted Jul 22, 2025 16:28 UTC (Tue)
by paulj (subscriber, #341)
[Link] (4 responses)
> maybe ZFS is worthwhile enough that I'm willing to go to the effort of trying to relicense the kernel.
If Linus could have relicensed to a (then) future GPLv3, he could also have relicensed the kernel to GPLv2 + "We are fine with incorporating CDDL code" exception. The CDDL itself was fine with CDDL covered software being added to overall GPL projects, as long as the CDDL files remained CDDLed. To this very day, Linus could still do this - if he believes that it is possible, with effort, to relicence.
It's a weird kind of nefarious plot that has Sun choosing a licence that GPL copyright holders can still easily incorporate into their projects, if the GPL copyright holders simply give themselves the permission to do so - without any need of asking Sun.
Further, you can mix CDDL and GPL code without any need for asking permission, relicensing, or giving yourself an exception, if the GPLed code never becomes derived of the CDDLed code. A lot of the "incompatibility" comes not from Sun or the CDDL, but from Linux people simply wanting to make an issue of it.
Sun prevented itself from taking GPL code and incorporating it into Solaris, however Sun would never ever have done this anyway - legal nightmare (one it had gone through before with AT&T and other code in Solaris; just for OpenSolaris it took *many months* of due diligence to ensure every file was owned by Sun and could be CDDLed - an engineer had to go through /every line/, the high-up eng in my group did a good bit of that work). Linux people could have used CDDLed code, they just had to allow themselves to do so.
Some nefarious plot!
Posted Jul 22, 2025 16:34 UTC (Tue)
by paulj (subscriber, #341)
[Link]
If Linus had pulled OpenZFS into the kernel, it was NOT Sun that could have caused problems!
The problem is entirely _between Linux copyright holders_.
Posted Jul 22, 2025 17:42 UTC (Tue)
by pizza (subscriber, #46)
[Link]
That's a mighty big "if" -- because Linus can only relicense *his* personal contributions, not the kernel as a whole, which presumably includes plenty of intentionally-GPLv2-only code.
Posted Jul 22, 2025 19:02 UTC (Tue)
by khim (subscriber, #9252)
[Link] (1 responses)
Nope. Please read the requirements for the joint authorship. One part of the requirement it this: And since this is very complicated requirement there are more clarification about what does it mean that each author must have intended that [his] [or] [her] contribution be merged. But note that preamble of that whole thing starts from the very clear warning: a copyright owner is entitled to exclude others from copying a joint work. Nope. The incompatibility comes from the fact that we clearly see that “author” haven't intended that [his] [or] [her] contribution be merged into inseparable or interdependent parts of a unitary whole. And given the fact that current copyright owner of all that CDDL-licensed stuff is Oracle, company famous for suing everyone under sun at the drop of hat… To see themselves dragged into court by Sun? Thanks… but no, thanks. Nobody wants to touch that mess with 10-feet pole… and I could understand “why”.
Posted Jul 23, 2025 9:37 UTC (Wed)
by paulj (subscriber, #341)
[Link]
The CDDL is a file-scoped licence though. It already is written as a licence that restricts itself to file-based units, which may or may not be part of a wider work. It is the GPL that is framed as applying to a "work". If you claim this US law overrides even the CDDLs deliberate restrictive framing to file scope, then I think you're claiming that /any/ kind of combination of works of different licences requires explicit intent, that basically all licences are incompatible with each other.
My understanding is the CDDL compatibility issues are in one direction. A direction that can be solved simply by GPL authors just giving themselves an exemption (explicitly or implicitly).
Sun could not have sued. Point to how. The CDDL licence quite clearly permits CDDLed code to be incorporated into wider works - it is explicit about this! It talks about "Larger Works" and says:
> 3.6. Larger Works.You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
You are explicitly permitted to create "Larger Works" that incorporate "Covered Software", as long as you follow the CDDL for the "Covered Software". The "Larger Work" *explicitly* is envisaged as containing work under other licences:
> Larger Work means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
The CDDL was explicitly draughted to permit the incorporation of CDDLed code into works with other licences, as long as the CDDL was followed for the CDDLed portions. I.e., Sun removed/avoided the "viral" aspect some said the GPL had - the "viral" thing of the GPL was something the BSD fans in Sun engineering really hated, so I assume this was part of the compromise.
Sun could not have sued for the incorporation of ZFS into Linux, cause the CDDL *allows* it (as long as the ZFS portion remained distributed under the CDDL; and assuming the Linux copyright holders just gave themselves permission, explicitly or implicitly, to be fine with this). Only Linux copyright holders could have sued other Linux developers!
Posted Jul 22, 2025 15:31 UTC (Tue)
by paulj (subscriber, #341)
[Link] (1 responses)
Yes, that was the end-result. But... *AGAIN* this was NOT the primary aim of either management or engineering. The starting point of each of those parties was that they wanted a GPL compatible licence!!! Eng wanted BSD (while hating the GPL, most of them), and management the GPLv2!
The only party that, as its initial starting point, was not keen on this was legal. As I've said, they didn't like the draughting (AIUI from what I could glean from the high up engineer in my group); further, as per what you've linked to, patents were another issue (Sun had been the target of patent shake-downs throughout its history, from an early shake-down by IBM, to Kodak in the early 00s over Java - so building defences against patent trolls was strong in the corporate and legal psyche at Sun) - the GPLv2 lacked patent MAD terms, those were expected to be added in GPLv3.
Posted Jul 22, 2025 15:36 UTC (Tue)
by paulj (subscriber, #341)
[Link]
Posted Jul 15, 2025 22:34 UTC (Tue)
by pizza (subscriber, #46)
[Link]
Mighty big words, except you are missing out on the minor detail about how it is not *your* software, it is *their* software, and as such, they, not you, get to dictate terms. Absent their permission, you have no rights to it, much less grounds for a lawsuit.
Posted Jul 16, 2025 14:46 UTC (Wed)
by Conan_Kudo (subscriber, #103240)
[Link] (4 responses)
Posted Jul 16, 2025 15:05 UTC (Wed)
by Wol (subscriber, #4433)
[Link] (1 responses)
I guess it's the difference between a "choice of law" clause, and a "choice of venue" clause.
Cheers,
Posted Jul 16, 2025 15:26 UTC (Wed)
by Conan_Kudo (subscriber, #103240)
[Link]
Posted Jul 16, 2025 16:17 UTC (Wed)
by snajpa (subscriber, #73467)
[Link] (1 responses)
Posted Jul 16, 2025 17:35 UTC (Wed)
by Conan_Kudo (subscriber, #103240)
[Link]
Not a lawyer, but I don't think that's true. Disputes with legal texts that have these clauses require extraordinary effort to invalidate them. We know this because it keeps happening with complaints with VMware. They are accepted as valid rather than invalid. And you disputing the validity of the term would mean you disagree with the validity of the agreement as a whole. That's a catch-22, because your choices are then to try to get other terms (which you can't) or accept the license as-is (which you don't want to). The best you could hope for is getting a court to agree to pretend to operate as if they are a Californian court, as Wol noted earlier.
Posted Jul 16, 2025 5:26 UTC (Wed)
by alison (subscriber, #63752)
[Link] (3 responses)
And yet, we now have sched_ext with its loadable scheduler policies. If scheduling is not a "core part of the kernel", what is? Presumably the safeguards built into sched_ext (and BPF validation) make its adoption more acceptable than a new scheduler module.
More generally, out-of-tree BPF programs can access much of the kernel's functionality via kfuncs and BPF helpers. It feels like the ongoing concern about module symbols is inconsistent, irrespective of whether one favors or opposes these recent developments.
Posted Jul 19, 2025 9:23 UTC (Sat)
by npws (subscriber, #168248)
[Link] (2 responses)
I also don't think that this has any legal significance except maybe, as stated here multiple times, in countries like the US, where things like triple damages might apply.
Posted Jul 19, 2025 12:15 UTC (Sat)
by pizza (subscriber, #46)
[Link] (1 responses)
It is my understanding that in the EU (and likely other places) the author has un-transferrable/non-waiveable "moral rights" which could intersect with this.
Additionally, EXPORT_GPL undoubtedly counts as a statement of "author's intent" which can tilt the scales in areas of ambiguity.
Posted Jul 19, 2025 12:49 UTC (Sat)
by Wol (subscriber, #4433)
[Link]
Which "author"? The author of the code exported by EXPORT_GPL? Or the author of the EXPORT_GPL statement?
A lot of the controversy here is down to the fact that - probably in the *majority* of cases - the two authors are different. And I believe a fair few "authors of the code" have actually objected to the addition of the EXPORT_GPL line - presuming they even know about it!
It would be interesting to know how many people have knowingly and intentionally applied EXPORT_GPL to their own code (no problem with that), how many have just cargo-culted it from elsewhere (not good), and how many EXPORT_GPL's have been applied to someone else's code.
I guess the first variant is a minority, and it wouldn't surprise me if the third variant outnumbered the second ...
Cheers,
Posted Jul 16, 2025 8:19 UTC (Wed)
by donald.buczek (subscriber, #112892)
[Link] (1 responses)
https://github.molgen.mpg.de/mariux64/fix-lpp/blob/main/f...
Posted Jul 16, 2025 8:44 UTC (Wed)
by bjackman (subscriber, #109548)
[Link]
Whereas if someone has rootkit-style code that reverse engineers the symbol table, it's obvious that they are acting in bad faith and therefore legal demands for them to make their module available under GPL are rock solid.
(In fact, does it just mean their module is effectively GPL-licensed? I dunno how that works!)
This means that _making the enforcement stronger_ is kinda pointless, but _having some minimal enforcement in place_ has some value.
Posted Jul 17, 2025 21:51 UTC (Thu)
by rbranco (subscriber, #129813)
[Link]
Thanks.
Free software
Free software
Free software
Free software
Free software
Free software
Free software
It doesn't affect whether a court would consider a work a derived work; it does affect whether the court will see your infringement as intentional or not if it decides that the work at hand is a derived work.
Impact of marking a symbol as "GPL" or not
Impact of marking a symbol as "GPL" or not
Impact of marking a symbol as "GPL" or not
Free software
Free software
Free software
Free software
Free software
Free software
Free software
Free software
Free software
To me it seems, that they're trying to prevent me from using OpenZFS, which I don't think they have the right to do.
Free software
Free software
Free software
Free software
Free software
Free software
Free software
Wol
Free software
Free software
Free software
Free software
That's not an absolute, it does depend on what type of memory access that hardware has and correct validation of the exchange between the main and coprocessors but the first issue can be handled with IIOMMUs and the second by auditing the public kernel side code.
Free software
Free software
Free software
Free software
Free software
Free software
> But that doesn't mean the goal was to make it incompatible with Linux, by far.
Free software
Free software
> Because I have - apparently unlike you - read the whole thing and am trying to infer what that whole comment is saying,
Free software
While this conversation is somewhat on-topic, it is also wandering into ground that has been firmly trodden in the past, and our chances of deriving some new insight — or of convincing anybody to change their mind — at this point seem pretty small. Please, let's think carefully about whether any further posts actually add anything new.
Free software
Free software
Free software
> These are 2 separate things.
Free software
vsFree software
> I never heard such motivations aired myself inside Sun.
Free software
This license is GPL-like in its intent, but (as Sun acknowledges up front) it is not compatible with the GPL. There are certain extra terms in the CDDL which, while not necessarily objectionable in their own right, conflict with the GPL's "no additional restrictions" terms. This incompatibility came as a surprise to few people; nobody has ever expected Sun to encourage the mixing of Solaris and Linux kernel code. Free software
Free software
> You can find stuff from Linus Torvalds that he might GPLv3 Linux if Sun did too around that time.
Free software
Free software
Free software
But when I chose the GPL (v2, back then) I chose _that_ license. There was
absolutely no need for me to say "or later". If the GPLv2 ever really
turns out to be a bad license, we can re-license _then_.
Yes, it would be really really painful, but I think the "or later" wording
is worse. How can you _ever_ sign anything sight unseen? That's just
stupid, and that's totally regardless of any worries about the FSF.
Free software
> I think knowing and intentional are two different things, and you conflate them hard.
Free software
Free software
Free software
Free software
Free software
Free software
> Further, you can mix CDDL and GPL code without any need for asking permission, relicensing, or giving yourself an exception, if the GPLed code never becomes derived of the CDDLed code.
Free software
Free software
>
> each author must have intended that [his] [or] [her] contribution be merged into inseparable or interdependent parts of a unitary whole
Free software
Free software
Free software
The CDDL has a "choice of law" provision though, you have to resolve disputes about the CDDL in California. If you wish to abide by the terms of the CDDL, you are bound to American law.
Free software
Free software
Wol
There's also a "choice of venue" clause saying it has to be litigated in Santa Clara county, California.
Free software
Free software
Free software
loadable modules in contrast to BPF programs
> truly modular and do not access core parts of the kernel. The intent is limit the amount of damage a module can do, and to
> keep kernel modules from changing fundamental aspects of the kernel's operation. The other motivation is a desire to make > life difficult for proprietary kernel modules
loadable modules in contrast to BPF programs
loadable modules in contrast to BPF programs
loadable modules in contrast to BPF programs
Wol
Modules can work around the restrictions anyway, so why?
Modules can work around the restrictions anyway, so why?
Dear kernel developers