4 ms·
A knock-on effect of this is that it's easiest to get the drivers into the mainline kernel, where you have to license your code as GPL. I'm not sure that that's
by gaganyaan 3y ago
A knock-on effect of this is that it's easiest to get the drivers into the mainline kernel, where you have to license your code as GPL. I'm not sure that that's intentional, but it does help make source code available for more drivers. A stable ABI would likely see many abandonware driver blobs.
- candiodari 3y agoThat's 100% intentional. In any case, non-GPL modules cannot be upstreamed (except with a license that is compatible with the GPL, e.g. BSD is okay), and cannot touch a lot of parts of the kernel. Also, loading a non-GPL module "taints" your kernel (this cannot be undone except through reboot) and tells everyone on the support mailinglists that you've loaded proprietary code. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/include/linux/module.h#n187 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux... And there is much hating on Nvidia, for using a "workaround". Including, famously: https://www.youtube.com/watch?v=tQIdxbWhHSM https://www.youtube.com/watch?v=tQIdxbWhHSM Also famously, this is the reason ZFS is not in the linux kernel.
- Nextgrid 3y ago> cannot touch a lot of parts of the kernel Ironically, this is a form of DRM.
- candiodari 3y agoNot, really as a one-line change to the source code can easily change this behavior. In short, you can run proprietary modules easily, on all hardware the real kernel supports. Try it. No harder than a recompile. You just can't distribute kernels with proprietary modules outside your organisation, and you have to upgrade and support the modules yourself. Which, I'd bet, effectively means Google, Meta, Samsung & Oracle and other behemoths can and do use proprietary modules. The main complaint is that, say, any kind of small hardware vendor effectively cannot have proprietary modules in the kernel. And this is generally regarded as a very good thing, a nice way to deal with a very real threat to open source.
- someplaceguy 3y ago> Also, loading a non-GPL module "taints" your kernel (this cannot be undone except through reboot) and tells everyone on the support mailinglists that you've loaded proprietary code. Except that the Linux kernel falsely taints itself with the "proprietary" bit when a module with a non-proprietary, non-GPL compatible license is loaded. But of course, not being GPL compatible does not necessarily imply that it's proprietary, e.g. the CDDL (as used by ZFS) is a non-GPL compatible, free software license (according to the FSF). And furthermore, this is documented and intentional.