On Tue, 30 Nov 2021 15:22:04 +0000 raid5atemyhomework wrote: > Hello Denis, Hi, > > While thinking about this very weird case of combining GPL and CDDL > > code together, I wonder if the fact that we can't redistribute > > binaries still makes it free software. > > AS I understood from early writings of GNU --- > > "Freedom" here is the freedom to modify how *the hardware you > purchased, which is supposedly your own*, works. > > In principle, "binaries are enough", because you *can* modify > executable binaries, and until Tivoization you could thus modify how > the hardware you purchased and is supposedly owned by you works. > However, early GNU writers (RMS I think?) noted that binaries are > really awful and that you need source code in order to modify how > your hardware work, unless you are willing to sacrifice a ridiculous > portion of your life reverse-engineering executable binaries. In case of binaries, when some people have the source code and you don't, there is also an inequality and power dynamic: people with source code have more power to modify the software than people without. We can see some mention of a somewhat similar power dynamic in the GPLv3 for instance: > But this requirement does not apply if neither you nor any third > party retains the ability to install modified object code on the User > Product (for example, the work has been installed in ROM). And it seems that in the weird case of zfs-on-linux, that power dynamic at least doesn't apply directly as nobody can redistribute binaries unless they are the copyright holder of ZFS and redistribute it all under licenses fully compatible with the GPLv2. Though one could also argue that not everybody is equals when breaking the law (so here when redistributing binaries) but that's probably out of scope here as we only (re)distribute source code here. > Thus, the essential freedom is preserved (users can fork ZFS and > point their personal ZFS package definition at their fork), even if a > legal snag prevents redistribution of binaries. Good point. > I am well aware that *somebody* at Sun Microsystems screwed up by > inventing the CDDL and putting the excellent ZFS under the CDDL and > that is certainly a very cringey decision, but I want my hardware to > work how I want it (i.e. without RAID5 write holes and memory buffer > corruption bugs like in BTRFS "RAID5" mode) and not having ZFS on > Guix is not helping that essential freedom. I also wonder if we have a way to fix that issue for good somehow. It would be neat if somehow the copyright holder of ZFS redistributed zfs-on-linux binaries at some point (for instance by redistributing the Ubuntu kernel). As I understand this wouldn't automatically make that code GPL compliant but we could probably manage to force the copyright holder to re-release the ZFS code under GPL compatible licenses. Rewriting the ZFS code under GPLv2 compatible licenses also looks possible as GRUB has a GPLv3 implementation of ZFS, but it's probably still a lot of work. It would have been a way better idea for Canonical to hire people to do that (like the people that worked to add ZFS to GRUB) rather than trying to circumvent the GPLv2[1][2]. References: ----------- [1]https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/ [2]https://ubuntu.com/blog/zfs-licensing-and-linux Denis.