Linux Kernel License when it comes to calling it vs linking it, combining it, or making a derivative aka forking...

3 replies [Last post]
wrenchie
Offline
Joined: 01/17/2020

Hi, I am trying to understand how the kernel can be used in Android but still having Android licensed under Apache 2.0 which is not compatible with GPLv2. My theory is that Android's GUI links with the GNU Library under LGPL which then goes to the kernel and calls it since there's a syscall exception. Android > lib (LGPL) > Kernel (GPLv2), it almost looks like using the libraries as a buffer. Looking at how other distros call the kernel but not link or combine it hence keeping it separate as to not invoke the GPL. If that's the case then can any distro that uses the Linux kernel be called "something Linux"?

lanun
Offline
Joined: 04/01/2021

> can any distro that uses the Linux kernel be called "something Linux"?

Copyrights and trademarks are separate legal issues. About the Linux trademark: https://www.linuxfoundation.org/the-linux-mark.

> Android's GUI links with the GNU Library

Android is not a GNU/Linux distro, although some form of the Linux kernel is to be found in all of them. About the relationship between GNU, Linux and Android, from a reasonably reliable source on these matters: https://www.gnu.org/philosophy/android-and-users-freedom.en.html.

> Android > lib (LGPL) > Kernel (GPLv2)

Android is using the Bionic library, which is under BSD license, and not the GNU C Library glibc, which is LGPL'd. About Bionic, and what looks like a hot topic gone cold: http://www.fosspatents.com/2011/03/googles-android-faces-serious-linux.html. Ten years on, Android is still using Bionic. I hear Linus Torvalds is in fact fine with that.

koszkonutek
Offline
Joined: 03/19/2020

From the fosspatents atricle linked by lanun it seems Google took and moved to userspace some headers other than those covered by the syscall exception (correct me if I am wrong). Had it only only used the "official" Linux userspace API headers as everybody does, it wouldn't be violating kernel's GPL. Linux indeed does allow building a system with nonfree userspace on top of it. Library buffers are not even neeeded.

If Google copied some additional kernel headers, my guess is it did this under assumption APIs are not copyrightable. And actually, it is beneficial for software freedom that they aren't copyrightable (otherwise, for example, current copyright holders of the original UNIX would also have copyright over parts of POSIX). But here, Google hilariously bent the rules.

lanun
Offline
Joined: 04/01/2021

> it did this under assumption APIs are not copyrightable

Exactly, and in fact all parties involved seem to agree about this, including Torvalds. I read RMS did not argue otherwise either. Only some guy who had formerly been doing some pleading for a Redmond company against some Mountain View company had qualms about it.

The 2003 quote from Torvalds was in fact a rebuttal of the idea that the GPL would be no different from an "open source" license, after it appeared that someone was not getting the meaning of "keep intact all notices". When the header controversy came up, he talked about "bogus" claims.