Does Linux (Torvald's tree) infringe GPLv2 and contain proprietary binary blobs?
Robert Joslyn
robert.joslyn at redrectangle.org
Fri Mar 11 09:24:13 EST 2022
> On Mar 10, 2022, at 6:48 PM, FMDF <fmdefrancesco at gmail.com> wrote:
>
> Hi Everyone,
>
> Let me explain why I'm posting such an unusual question and why I really _NEED_ reliable answers and (above all) reliable links to official documents...
>
> In Wikipedia there is an article called "Linux kernel" at https://en.wikipedia.org/wiki/Linux_kernel.
>
> According to XTools I'm the first of more than 1500 editors. I'm the one who contributed the most. I'm proud of it, despite it still needs lots of additional relevant information and perhaps it also needs the removal of other not so relevant and/or redundant info.
>
> It's a "Class B" article (something that has been peer-reviewed by thousands of people and considered two grades less than the top Wikipedia's articles).
>
> Unfortunately, there have been several attempts to state that Linux is _not_ a free and open source kernel and that it contains proprietary binary blobs.
>
> I'm asking for help to remove those fake information, mainly sponsored and backed by the FSF and by the Linux libre project (or something like that).
>
> Can someone please provide reliable sources that I can use when reverting the above-mentioned false information? Unfortunately, I cannot simply revert them by just saying that the Linux Community won't ever accept non GPLv2 complaint code.
>
> There is a strict rule that says "No original research": mostly everything must be supported by links to third party reliable documentation (web, books, and so on).
>
> Again, can someone please help?
>
> Thanks,
>
> Fabio M. De Francesco
All code in the kernel tree is under the GPLv2 or another compatible license. There are, however, non-GPL firmware blobs available that some of the drivers need to load into the hardware they support. Many wifi chipsets for example, require the open source driver to load a non-GPL firmware blob into the wifi chipset for it to work. These firmware blobs are generally distributed separately from the kernel itself as part of linux-firmware:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
When a driver loads, it can request firmware from userspace, typically from /lib/firmware. If the firmware is present, it will be loaded into the kernel.
There are a few firmware blobs in the kernel tree itself as well. Here is one at random:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/wanxlfw.inc_shipped
The linux-libre project takes the normal Linux kernel, removes the firmware that is in the kernel, and removes the ability for the kernel to load firmware from the file system. You can do the same thing yourself with the normal kernel by disabling the drivers that require firmware.
You’ll have to talk with a lawyer if you’re concerned about any of this being an GPL violation.
Robert
More information about the Kernelnewbies
mailing list