Hacker News new | past | comments | ask | show | jobs | submit login

As one who has used only Linux on all desktops and laptops for more than two decades, I am pretty sure that Linux does not have a written license that enumerates what a Linux user can do with the computer on which Linux is installed, e.g. whether they may use NVIDIA GPUs.

The GPL is not that kind of license.

While GPL includes some use restrictions, they are logically contradictory.

GPL says:

"This License explicitly affirms your unlimited permission to run the unmodified Program."

So anyone can run the Linux kernel without any restrictions imposed by GPL.

The GPL then has a convoluted specification of how it should forbid a GPL program to be combined with other programs, so that copies of the combination would be transferred to others.

However those restrictions do not apply to kernel modules like those distributed by NVIDIA, which are not "combined" with the GPL Linux kernel until the end user loads the NVIDIA kernel module.

Because the GPL cannot be applied to such kernel modules, the anti-NVIDIA kernel developers take advantage of the fact that when a kernel module is loaded dynamically, in order to work, it must discover the entry addresses for the kernel symbols, exactly like a user-mode executable must discover the entry addresses for the libc shared library.

So they attempt to make difficult for the NVIDIA module to obtain the addresses for the kernel symbols that it needs. This is exactly like if in user space the libc shared library would attempt to not provide e.g. the entry address of "printf", if it would not like the name of the executable file from which "printf" is invoked.

If anyone breaks the GPL, these kernel developers break it, because instead of providing "unlimited permission to run", which means "unlimited permission to" invoke any of the interfaces provided by the kernel, they attempt to hide many of the interfaces when they discover that the Linux users own NVIDIA GPUs, with the purpose of crippling the performance of such GPUs.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: