3 ms·
>How so? Aren't the GPL and CDDL both copyleft? They are, but GPL is (tl;dr) incompatible with anything that's not a subset of GPL. That's because GPL is vira
by trasz 4y ago
>How so? Aren't the GPL and CDDL both copyleft?
They are, but GPL is (tl;dr) incompatible with anything that's not a subset of GPL. That's because GPL is viral, and CDDL isn't. And that's why in the Open Source world you can't get license incompatibility without throwing GPL in the mix.
So, yeah, it's GPL that's possibly being violated; CDDL is fine with whatever license there is. Oracle could sue you if they relicensed ZFS under GPL, but can't with CDDL because of implicit protection CDDL contains.
- josephcsible 4y agoIsn't the whole reason that the CDDL is a problem that it is viral too? Otherwise you could just distribute the whole bundle of ZFS+Linux as GPL and be fine.
- trasz 4y agoIt's not, CDDL explicitly states it doesn't apply to non-CDDL-ed source files. The problem is, GPL is claimed to be the other way around, so this would mean applying GPL to CDDL sources, and you can't do that, because CDDL gives you additional protections ("freedoms") GPL doesn't, and that's GPL-incompatible.
- josephcsible 4y agoIf I combined ZFS and the Linux kernel and licensed the result under the CDDL, I'd be violating the GPL. If I instead licensed the result under the GPL, then I'd be violating the CDDL. I'm not seeing how the licenses' differences actually cause an asymmetry here.
- trasz 4y agoYou can't "license the result", it's not your decision to make. GPL parts are GPL, CDDL parts are CDDL, BSD parts are BSD and so on. There's no problem with mixing code under different licences. That is, until GPL enters the picture - because GPL is viral, so it (at least according to FSF) claims the non-GPL parts too. It's not a problem for, say, BSD, because it's a subset of GPL[1], but it can be a problem with licenses that guarantee you more freedoms than GPL, like CDDL, Mozilla license, Apache, or even GPLv3. 1. And it used to be a problem with the old BSD, with the advertising clause, precisely because it wasn't a subset.