back

by josephcsible·5y ago·view on hn ↗
Aren't GPL-incompatible licenses generally considered poor choices even if they're FOSS, since they lead to the ZFS-on-Linux problem? (And trying to sidestep the issue with permissive licenses just leads to proprietary forks.)
3 comments
That is a general issue with strong copyleft licences and not a GPL specific one.

Strong copyleft licences are generally not compatible with each other; GPLv2 is not even compatible with ̀GPLv3.

GPL is what leads to the ZFS-on-Linux problem. The clause, that prohibits ZFS from being combined with GPL, is in GPL.
I mean, that's a nice story, but causality doesn't work like that... this is like a bully claiming someone "ran into their fist" :/.

https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/

> We believe Sun was aware when drafting CDDLv1 of the incompatibilities; in fact, our research into its history indicates the GPLv2-incompatibility was Sun's design choice. At the time, Sun's apparent goal was to draw developers away from GNU and Linux development into Solaris. Not only did Sun not want code from GNU and Linux in Solaris, more importantly, Sun did not want technological advantages from Solaris' kernel to appear in Linux.

Given Sun's goal, no matter what GPL said, I am sure that they would have figured out a cute way to engineer their license to be incompatible.

Perhaps it was, but it is very difficult to create a strong copyleft licence that is not the GPL that is compatible with the GPL, and that goes for any strong copyleft licence in every direction, so much so that GPLv2 is not compatible with GPLv3.

It's rare to find two strong copyleft licences that are compatible with each other — advocates of strong copyleft typically phrase their arguments as if there only be one strong copyleft licence in existence, as this is the major problem that is hard for them to overcome that is seldom sung.

"Bully"? As if people were supposed to specifically review licenses they create, whether they're compatible with every GPL clause. Nobody needs to care about GPL, it doesn't deserve special treatment.

Other licenses not compatible with GPL:

- Apache License (only version 2 is compatible and only with version 3 of GPL);

- GPL (v2 vs v3), as other comments already mentioned.

Are the authors of those licenses bullies? No. Nobody needs to care about your favourite flavour of copyleft.

Well, if they want their code to be included in GPL software, for example the Linux kernel, then they have to care. If they don't care, then not :)
No.

World+Dog has generally switched to Apache or BSD licenses for most things.

Which are, for most any dimension anyone cares about, more free than *GPL.

You're mixing up freedom and power. It's impossible to have a license more free than the GPL. The extra thing that permissive licenses give you isn't more freedom, but rather the power to withhold freedom from others. See https://www.gnu.org/philosophy/freedom-or-power.en.html for more details.
GPLv2 does not permit code be incorporated into a GPLv3 licensed project.

GPLv3 does not permit code be incorporated into a GPLvv licensed project.

The M.I.T. licence, for instance, permits both.

This is something the F.S.F. always fails to address in these talks; they speak proudly how the GPL guarantees that code never end up in properietary software, which is true, but only because that is a special case of code not ending up in essentially any project with only a slightly difference licence, including proprietary software.

the GPL guarantees that the code be off limits to proprietary software, permissive free software, other copyleft than the GPL, and even other versions of the GPL, and this is something they bury, and continually fail to address.

The FSF does address version incompatibility, the problem is that some popular projects flat out refuse to follow their guidance.

The FSF uses the approach of asking people to release programs under “GNU GPL version N or any later version.” This licensing is compatible with version N, and also with N+1 (because it offers version N+1 as an option). When you combine code under “GPL 3 or later” with code under “GPL 2 or later”, the license of the combination is their intersection, which is “GPL 3 or later”.

https://www.gnu.org/licenses/license-compatibility.html

That doesn't solve the problem at all.

Licensing under GPLv2+ only allows one's code to be used in all GPL projects, not other copyleft licences, but that's not the full problem: it does not allow one to use code of anything other than GPLv2+. At this point one can't use GPLv2 or GPLv3 code any more, only GPLv2+ code.

Furthermore, licencing under GPLv+ puts blind faith into the F.S.F.; it irrevocably licenses one's code under a licence that doesn't exist yet.

When GPLv4 is eventually released, the software is now released under it, and GPLv4 might contain provisions one doesn't agree with, but one can't revoke it now.

IT's absolutely not a solution.

> not other copyleft licences

The CDDL was intentionally written to be incompatible with the GPL. Which other copyleft licenses do you have in mind, and what advantages do they have over GPL-compatible licenses?

> When GPLv4 is eventually released, the software is now released under it, and GPLv4 might contain provisions one doesn't agree with, but one can't revoke it now.

If you release your code under a permissive license, it's basically guaranteed to be compatible with the future GPLv4, so you're in that situation anyway.

> The CDDL was intentionally written to be incompatible with the GPL. Which other copyleft licenses do you have in mind, and what advantages do they have over GPL-compatible licenses?

What strong copyleft licence do you know that is compatible with any GPL?

The F.S.F. indeed alleges that it was intentional, and perhaps it was, but every single strong copyleft licence is pretty much incompatible with every other — one must go out of one's way to make them compatible and even it's typically an asymmetric compatibility.

Advantages? They obviously do things differently and there's probably a reason why big companies tend to craft their own licence rather than relying upon a template.

Examples:

- Eclipse Public Licence - Mozilla Public Licence 0.1 and 0.2 - Apple Public Licence - Common Development and Distribution Licence - GPLv2 — yes, it should be mentioned as an example

> If you release your code under a permissive license, it's basically guaranteed to be compatible with the future GPLv4, so you're in that situation anyway.

You assume that the only option one have is GPLv2+ or a permissive licence.

Linux is simply released under GPLv2, exactly because Linus Torvalds and many others in it disagree with some of the GPLv3 provisions; ZFS is simply released under the CDDL, and FixFox simply under the MPL.

They have their reasons to choose other licences than GPLv3, because they disagree with some of the provisions thereof.

No I’m not.

There are things that I, as Joe Developer downloading some software can do with BSD licensed code that I can do that I can’t with copylefted code. I am...more free to do with it as I wish.

No amount of GNU/Bloviating will make that not true.

What sorts of things in particular?
Which kind of proves where the BSDs would be if there wouldn't be any Linux to contribute to, given the unstoppable upstream contributions to BSD variants from World + Dog.
Ever heard of an obscure little thing called OS X?
Indeed, how many improvements has Apple actually contributed upstream?

Besides, it hardly matters that Darwin has an outdated FreeBSD as part of its hybrid kernel.