On 2021-11-24, Denis 'GNUtoo' Carikli wrote: > On Wed, 24 Nov 2021 13:03:18 +0100 > "pelzflorian (Florian Pelz)" wrote: > >> On Wed, Nov 24, 2021 at 01:45:19AM +0100, Denis 'GNUtoo' Carikli >> wrote: https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/ > That article states that: >> Pure distribution of source with no binaries is undeniably different. >> When distributing source code and no binaries, requirements in those >> sections of GPLv2 and CDDLv1 that cover modification and/or binary >> (or “Executable”, as CDDLv1 calls it) distribution do not activate. >> Therefore, the analysis is simpler, > So is it legal because zfs-on-linux is distributed as source and that > the CDDL license incompatible requirements are waived when it is > distributed as source? Rather than "waived", they are simply not applicable. There is basically an "if" statement in the CDDL that triggers the incompatibility, and in the case of source-only distribution, the conflicting parts of the licenses do not come into play. > And that combining that work with GPLv2 code in > source form is OK because GPLv2 is not violated because the > incompatible CDDL requirements are only activated when distributed in > executable form? > > If that's the case that would be the first explanation that > doesn't undermine copyleft that I come across, and that is OK for me. This is exactly the case, as I understand it... It is precisely because the terms of the GPLv2 and CDDL licenses do not conflict in terms of source code, the only conflict arises when you actually distribute binaries. It is by no means *ideal* by Free Software principles and goals. It is so nuanced, non-obvious, tricky and complicated, which is why it keeps getting rehashed over the years. It is a bit obnoxious in my personal opinion, but as a layman/non-lawyer reading it, seems technically and legally permissible, as long as you do not distribute the compiled binaries. The fact that GNU Guix can technically handle this issue correctly by marking the package as not substitutable, in other words "do not distribute binaries of this package", is a very interesting workaround. Thankfully there are very few cases like this! live well, vagrant