6 ms·
Can someone explain the purpose of GPL only symbols to me, and why existing long standing APIs keep getting changed to GPL only? From the outside it certainly f
by Volundr 4y ago
Can someone explain the purpose of GPL only symbols to me, and why existing long standing APIs keep getting changed to GPL only? From the outside it certainly feels like all it does is (intentionally?) break things.
- drewg123 4y agoI think that is the point.. the kernel devs want to break 3rd party modules, because they don't like stuff distributed outside the kernel.
- cesarb 4y ago> because they don't like stuff distributed outside the kernel. This mechanism doesn't prevent stuff from being distributed outside of the kernel at all, a GPL-licensed module could stay out of tree for a long time. They even have a documented mode in the kernel Makefile to compile out-of-tree modules, as described at "make help": "make -C path/to/kernel/src M=$PWD modules modules_install"
- georgyo 4y agoThat is indeed the goal, they explicitly want to break compatibility. Their responses on the mailing list even say that. GPL or GTFO. It's a definitely annoying as a user. OpenZFS is much nicer than BTRFS, but you have to accept that breakage of the kernel devs may cause you issues.
- Volundr 4y agoThat's the inference I was trying to avoid making. It's frustrating because a big reason I use Linux is it gives me the freedom to build the system I want exactly how I want it, but a couple times a year I get this reminder that the devs are actually against me in this.
- cesarb 4y ago> Can someone explain the purpose of GPL only symbols to me The official explanation, AFAIK, is that modules using symbols marked as GPL-only are so tied to kernel internal details that they can only be considered as a derivative work of the kernel. > and why existing long standing APIs keep getting changed to GPL only? If you accept the explanation above, the simplest to understand reason would be that they not being marked as GPL-only was a mistake. That is: modules using these symbols would already have been a derivative work of the kernel, it's just that the developer wasn't being warned of that before. The fact that GPL-only symbols are a new thing (originally, there was only EXPORT_SYMBOL, the EXPORT_SYMBOL_GPL machinery was only added much later) increases the chances of that happening, since older symbols might not have been marked correctly yet.
- blibble 4y agothe "derivative work of linux kernel" argument really doesn't hold for ZFS, regardless of what the linux kernel developers state it was originally written for Solaris and today the same source tree works on FreeBSD and illumos, equally as well as it runs on Linux