On Thursday 03 April 2008, Leo Mauler wrote:
--- Jeffrey Watts [email protected] wrote: And as I pointed out, if a "non-free" application's use of kernel headers is considered an enforceable violation of the GPL,
The kernel's copyright has an explicit exception for user-mode applications, specifically "programs that use kernel services by normal system calls". nVidia's drivers clearly do not fit under this exception.
Furthermore, usually only the libc will be using Linux syscalls, and the application itself will use the libc. Such applications, at least while they are source code, are derived from the C standard and not the specific libc nor its dependencies. That is why the GPL may apply differently based on whether it is source or binary in some cases-- but this is not applicable to the nVidia case.
then nothing non-native can legally be run in Linux, including anything run through Wine or Transgaming's Cedega.
That conclusion doesn't follow, either. The applications run by Wine/Cedega never have anything to do with Linux at all during their distribution. Not only do they not include Linux symbols or even syscalls, they don't even call the libc abstractions of these but go through another entire abstraction. Anyone who thinks applications run via Wine are derived from Linux has serious issues-- they are clearly derived from either some Win32 OS and/or Win32 API documentation.
As I mentioned towards the end of the really long email message, kernel developers have put documentation into the modules.h header file indicating that they are expecting proprietary modules and as such have created a "proprietary" type. Anyone with Linux installed on a machine can see this documentation in /usr/src/linux/include/linux/module.h, showing that the kernel developers planned on having end users with proprietary drivers.
This only demonstrates the realistic acknowledgement that they do exist, it does not imply a legal exception. I will support this from the comments in module.h laying out the specific reasons why the "Proprietary" ident exists:
* This exists for several reasons * 1. So modinfo can show license info for users wanting to vet their setup * is free * 2. So the community can ignore bug reports including proprietary modules * 3. So vendors can do likewise based on their own policies
Note that all 3 reasons are opposed to the idea of proprietary modules being acceptable.