4 ms·
> Linux's license is GPLv2 plus a syscall exception. Did Linus really sought to have every contributor of Linux that licensed their contribution as GPLv2 agree
by nextaccountic 3y ago
> Linux's license is GPLv2 plus a syscall exception.
Did Linus really sought to have every contributor of Linux that licensed their contribution as GPLv2 agree to this specific exception, and relicense it as GPLv2 plus syscall exception? This sounds unbelievable.
When one checks the wording of the "exception", https://github.com/torvalds/linux/blob/master/LICENSES/exceptions/Linux-syscall-note https://github.com/torvalds/linux/blob/master/LICENSES/excep... it says
> NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work".
This just seems like a legal opinion of Linus that states that userland programs are not derivative from the kernel (and thus don't need to be licensed as GPLv2 themselves), but this is kind of obvious and expected, right? I mean, userland Windows programs aren't derivative from the Windows kernel either, or macOS programs from XNU, or etc.
Also note that at the moment Linux was created, all Linux programs were originally made for other operating systems. Programs like bash and gcc predate Linux. They couldn't be derivative works of the kernel, even if they wanted to, because the kernel didn't exist when they were created.
I highly doubt that any kernel developer could successfully sue authors of userland programs for copyright infringement, regardless of what Linus thinks about it. So this isn't really an exception of the GPLv2 but just a _clarification_ that the wording of the GPLv2 shouldn't be interpreted in a way to make userland programs infringing (because they aren't, and wouldn't be even if Linus didn't clarify)
This means that Linux is free to incorporate any GPLv2 code it wishes without asking people to relicense it as "GPLv2 plus syscall exception" because Linux itself is just GPLv2.
- mkl 3y agoThe exception has been there since v1.0 I think: https://mirrors.edge.kernel.org/pub/linux/kernel/v1.0/ https://mirrors.edge.kernel.org/pub/linux/kernel/v1.0/ It's not there in 0.99.9.
- samus 3y agoThe exception is necessary because the GPL is designed to be viral. The OpenJDK project has a similar exception (the Classpath exception), else anything on the classpath would count as a derivative work. Proprietary licenses don't need those exceptions because they have a completely different objective to begin with. > Also note that at the moment Linux was created, all Linux programs were originally made for other operating systems. Programs like bash and gcc predate Linux. They couldn't be derivative works of the kernel, even if they wanted to, because the kernel didn't exist when they were created. That might be true for those applications. However, not having the syscall exception would make Linux-specific syscalls such as IO_uring accessible to GPL software only. > I highly doubt that any kernel developer could successfully sue authors of userland programs for copyright infringement, regardless of what Linus thinks about it. That would be the intent of the GPL, which is designed to extend its effects to every other software the original work is "linked" with. Remember, the GPL has been tested in Court before.