The Linux kernel is likely the single most popular operating system kernel in the world, due to its use in servers, Android smartphones and IoT devices. Unlike the kernel of Windows, it is [open source](https://en.wikipedia.org/wiki/Open_source). Open source, in this context, means that the source code of the Linux kernel is openly shared and can be legally modified and redistributed by anyone. The Linux kernel is licensed under the [GNU General Public License](https://en.wikipedia.org/wiki/GNU_General_Public_License) (GPL), which is [copyleft](https://en.wikipedia.org/wiki/Copyleft). A copyleft license is an open-source licence that requires that any code derived from code licensed under it is distributed under a similar copyleft license. Many companies (e.g. [NVIDIA](https://en.wikipedia.org/wiki/NVIDIA) and [Broadcom](https://en.wikipedia.org/wiki/Broadcom)) that design hardware and their device drivers choose not to distribute their drivers under the GPL or licenses compatible with it. Due to this, these drivers cannot be included in the kernel. This is one reason why desktop Linux users often experience hardware compatibility issues when running Linux. Likewise, the Linux kernel module that adds support for the [ZFS](https://en.wikipedia.org/wiki/ZFS) file system is distributed under the [Common Development and Distribution License](https://en.wikipedia.org/wiki/Common_Development_and_Distribution_License) (CDDL), which does satisfy the open-source criterion, but it is not copyleft and hence is not GPL compatible and cannot be included in the kernel.
0 commit comments