- cross-posted to:
- linux@sopuli.xyz
- linux@lemmy.world
- cross-posted to:
- linux@sopuli.xyz
- linux@lemmy.world
Luis Chamberlain sent out the modules changes today for the Linux 6.6 merge window. Most notable with the modules update is a change that better builds up the defenses against NVIDIA’s proprietary kernel driver from using GPL-only symbols. Or in other words, bits that only true open-source drivers should be utilizing and not proprietary kernel drivers like NVIDIA’s default Linux driver in respecting the original kernel code author’s intent.
Back in 2020 when the original defense was added, NVIDIA recommended avoiding the Linux 5.9 for the time being. They ended up having a supported driver several weeks later. It will be interesting to see this time how long Linux 6.6+ thwarts their kernel driver.
Can someone ELI5 what this is about? Why does Nvidia wants to access parts if the Linux kernel and why are linux kernel maintainers against it? Wouldn’t it be good if Nvidia uses more open-source stuff?
Open source software is given with specific licenses. The Linux kernel is made of many smaller open-source components that each can have their own license. Some of the licenses used disallow the partial or full usage of the licensed software or components in proprietary settings, or in general given usage for specific cases only (in this case, the Nvidia driver using components they are not licensed to use.).
@Rayspekt @pnutzh4x0r The Linux kernel uses a GPL license, which means that you’re allowed to change it but only if your changes are also GPL and you give your source code back to the community.
But you don’t have to give your source code back if you write a Linux app (at least you don’t have to because of this reason, there might be other reasons). Only if you change the kernel.
The Linux kernel people have decided that if you write a driver that could’ve been for any OS with small changes - it uses just the boring parts of Linux that every OS has - then it’s not subject to the source code rule because it’s not really “for Linux” even though it’s a Linux version of your driver, but if you write a driver that uses the Linux-specific parts, then your driver is more like a Linux change. (They have reasoning that court judges would probably agree with, though I think it’s never been tested). This is obviously supposed to put pressure on driver makers to make their drivers GPL, but not block drivers from being made in the first place since Linux users want to be able to use their hardware.
The kernel knows which parts of itself are “Linux versions of boring stuff every OS has” and which parts are “Linux specific stuff” and non-GPL drivers aren’t allowed to touch the “Linux specific stuff.” Nvidia found a technical loophole to touch the Linux-specific stuff.
They could probably sue Nvidia or something, for making an unauthorized derivative work, but for whatever reason they’re choosing to just close the technical loophole.
@Rayspekt @pnutzh4x0r btw this is a part of class war