4 ms·
That'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
by candiodari 3y ago
That'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.