The Linux kernel is a Unix-like computer operating system kernel. It is used world-wide: the Linux operating system is based on it and deployed on both traditional computer systems such as personal computers and servers, usually in the form of Linux distributions,[9] and on various embedded devices such as routers and NAS appliances. The Android operating system for tablet computers, smartphones and smartwatches is also based atop the Linux kernel.
The Linux kernel was initially conceived and created in 1991 by Finnish computer science student Linus Torvalds,[10]
for his personal computer and with no cross-platform intentions, but
has since expanded to support a huge array of computer architectures,
many more than other operating systems or kernels. Linux rapidly
attracted developers and users who adapted code from other free software projects for use with the new operating system.[11]
The Linux kernel has received contributions from nearly 12,000
programmers from more than 1,200 companies, including some of the
largest software and hardware vendors.[12][13]
The Linux kernel API, the application programming interface (API) through which user programs interact with the kernel, is meant to be very stable and to not break userspace programs (some programs, such as those with GUIs, rely on other APIs as well). As part of the kernel's functionality, device drivers control the hardware; "mainlined" device drivers are also meant to be very stable. However, the interface between the kernel and loadable kernel modules (LKMs), unlike in many other kernels and operating systems, is not meant to be very stable by design.
The Linux kernel, developed by contributors worldwide, is a prominent example of free and open source software.[14] Day-to-day development discussions take place on the Linux kernel mailing list (LKML). The Linux kernel is released under the GNU General Public License version 2 (GPLv2),[15][6] with some firmware images released under various non-free licenses.[8]