Вы находитесь на странице: 1из 43

Linux kernel

The Linux kernel is a free and open-source, monolithic, Unix-like


Linux kernel
operating system kernel. The Linux family of operating systems is
based on this kernel and deployed on both traditional computer
systems such as personal computers and servers, usually in the form of
Linux distributions,[7] and on various embedded devices such as
routers, wireless access points, PBXes, set-top boxes, FTA receivers,
smart TVs, PVRs, and NAS appliances. While the adoption of the
Linux kernel in desktop computer operating system is low, Linux-
based operating systems dominate nearly every other segment of
Tux the penguin, mascot of Linux[1]
computing, from mobile devices to mainframes. As of
November 2017, all of the world's 500 most powerful supercomputers
run Linux.[8] The Android operating system for tablet computers,
smartphones, and smartwatches also uses the Linux kernel.

The Linux kernel was conceived and created in 1991 by Linus


Torvalds[9] 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 adopted it as the Linux kernel 3.0.0 booting
kernel for other free software projects, notably the GNU Operating Developer Linus Torvalds and thousands
System,[10] which was created as a free, non-proprietary operating of collaborators
system, and based on UNIX as a by-product of the fallout of the Unix
Written in C and assembly[2]
wars.[11]
OS family Unix-like
The Linux kernel API, the application programming interface (API)
Initial release 0.01 (17 September 1991)
through which user programs interact with the kernel, is meant to be
Latest release 5.1.3[3] (17 May 2019) [±]
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 Latest preview 5.2-rc1[4] (19 May 2019) [±]
functionality, device drivers control the hardware; "mainlined" device Available in English
drivers are also meant to be very stable. However, the interface
Kernel type Monolithic
between the kernel and loadable kernel modules (LKMs), unlike in
many other kernels and operating systems, is not meant to be very
License GPLv2 with optional binary
stable by design.[12]
blobs[5][6]
Official website kernel.org
The Linux kernel, developed by contributors worldwide, is a
prominent example offree and open source software.[13] 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),[14][15] with some firmware
images released under various non-free licenses.[6]

Contents
History
Popularity
Architecture
Programming language
Compiler compatibility
Interfaces
Kernel-to-userspace API
Kernel-to-userspace ABI
In-kernel API
In-kernel ABI
Technical features
Preemption
Portability
Kernel variants
Kernel panic and oopses
Live patching
Security
Feature history
Development
Developer community
Submitting code to the kernel
Development model
Development community conflicts
Codebase
Estimated cost to redevelop
Maintenance and long-term support
Releases before 2.6.0
Releases 2.6.x.y
Releases 3.x.y
Releases 4.x.y
Releases 5.x.y
Relation with Linux distributions
Source code management
Legal aspects
GPLv2 licensing terms
Loadable kernel modules
Firmware binary blobs
Trademark
SCO litigation
See also
References
Further reading
External links

History
In April 1991, Linus Torvalds, at the time a 21-year-old computer science student at the University of Helsinki, Finland, started
working on some simple ideas for an operating system. He started with a task switcher in Intel 80386 assembly language and a
terminal driver. On 25 August 1991, Torvalds posted the following tocomp.os.minix, a newsgroup on Usenet:[16]

I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been
brewing since April, and is starting to get ready. I'd like any
feedback on things people like/dislike in minix, as my OS resembles
it somewhat (same physical layout of the file-system (due to
practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to


work. This implies that I'll get something practical within a few
months [...] Yes - it's free of any minix code, and it has a multi-
threaded fs. It is NOT portable (uses 386 task switching etc), and it
probably never will support anything other than AT-harddisks, as
that's all I have :-(.

[...] It's mostly in C, but most people wouldn't call what I write C. It
uses every conceivable feature of the 386 I could find, as it was also
a project to teach me about the 386. As already mentioned, it uses a
MMU, for both paging (not to disk yet) and segmentation. It's the
segmentation that makes it REALLY 386 dependent (every task has
a 64Mb segment for code & data - max 64 tasks in 4Gb. Anybody Linus Torvalds
who needs more than 64Mb/task - tough cookies). [...] Some of my
"C"-files (specifically mm.c) are almost as much assembler as C. [...]
Unlike minix, I also happen to LIKE interrupts, so interrupts are
handled without trying to hide the reason behind them.

After that, many people contributed code to the project. Early on, the MINIX community contributed code and ideas to the Linux
kernel. At the time, the GNU Project had created many of the components required for a free operating system, but its own kernel,
GNU Hurd, was incomplete and unavailable. The Berkeley Software Distribution had not yet freed itself from legal encumbrances.
Despite the limited functionality of the early versions, Linux rapidly gained developers and users.

In September 1991, Torvalds released version 0.01 of the Linux kernel on the FTP server (ftp.funet.fi) of the Finnish University and
Research Network (FUNET). It had 10,239 lines of code. On 5 October 1991, version 0.02 of the Linux kernel was released.[17]
Torvalds assigned version 0 to the kernel to indicate that it was mainly for testing and not intended for productive use.[18] In
December 1991, Linux kernel 0.11 was released. This version was the first to be self-hosted as Linux kernel 0.11 could be compiled
by a computer running the same kernel version. When Torvalds released version 0.12 in February 1992, he adopted the GNU General
[19]
Public License version 2 (GPLv2) over his previous self-drafted license, which had not permitted commercial redistribution.

On 19 January 1992, the first post to the new newsgroup alt.os.linux


was submitted.[20] On 31 March 1992, the newsgroup was renamed
comp.os.linux.[21] The fact that Linux is a monolithic kernel rather
than a microkernel was the topic of a debate between Andrew S.
Tanenbaum, the creator of MINIX, and Torvalds.[22] This discussion
is known as the Tanenbaum–Torvalds debate and started in 1992 on
the Usenet discussion group comp.os.minix as a general debate about
Linux and kernel architecture.[23] Tanenbaum argued that
microkernels were superior to monolithic kernels and that therefore
Linux was obsolete. Unlike traditional monolithic kernels, device The Linux kernel now supports various hardware
architectures, providing a common platform for
drivers in Linux are easily configured asloadable kernel modulesand
software, including proprietary.
are loaded or unloaded while running the system. This subject was
revisited on 9 May 2006,[24] and on 12 May 2006 Tanenbaum wrote
a position statement.[25]
In March 1992, the last version 0 Linux kernel was released. Linux version 0.95 was the first to be capable of running X, as the X
Window System had been ported to Linux. In March 1994, the first production version of the Linux kernel was released.[26] Linux
kernel 1.0.0 had 176,250 lines of code.Linux kernel 1.0.0 started a standardv.x.y versioning system for the kernel, where x represents
a major version release. Odd-numbered releases were for tests and development. At the time, only even numbered version releases
were production releases. The y is incremented as minor patches are released within a major version release.[27] In March 1995, the
Linux kernel 1.2.0 was released, with 310,950 lines of code.

After kernel version 1.3, Torvalds decided that enough changes had been made to the Linux kernel to warrant the release of a new
version. Version 2.0.0 of the Linux kernel was released in June 1996.[28] In contrast to Unix, all source files of the Linux kernel are
freely available, including device drivers, runtime libraries and development tools.[29] The initial success of the Linux kernel was
driven by the support of programmers and testers across the world. By structuring the Linux kernel along POSIX standards, it was
[30]
compatible with a range of free software and applications that had been developed for universities.

The developers contributing to the Linux kernel have thought it important that the kernel which Torvalds had written for Intel PCs
supported different hardware architectures. The kernel can now run on CPUs from Intel (80386, 80486, 80686), Digital Equipment
Corporation (Alpha), Motorola (MC680x0 and PowerPC), Silicon Graphics (MIPS) and Sun Microsystems (SPARC). Through an
integrated FPU emulator, the Linux kernel can even run on hardware architectures that lack a floating point math coprocessor.[32]
Developer teams were established for different architectures and with the release of Linux kernel version 2.0 the sources of the kernel
ferent architectures before compiling it.[33] Making the Linux kernel compatible
include all components to configure the kernel for dif
with different file systems has also been a priority. The Linux kernel can operate file systems that have been formatted for Minix,
Xenix or System V, while the umsdos format even allows for Linux to be installed within an MS-DOS partition.[34] In December
1999, IBM mainframe patches for 2.2.13 were published, allowing Linux kernel to be used on enterprise-class machines.

In December 2003, with the release of kernel version 2.6.0, Torvalds regarded the Linux kernels to be so stable that he started the
2.6.x.y release cycle. Every 2.6 release was a kernel for production, development releases were indicated with -rc ("release
candidate") appended to the version number. Stable 2.6 kernel releases started coming out on a regular schedule every 2–3 months,
up through 2.6.39 in May 2011.[35] The shorter release cycle was the result of discussions among kernel developers regarding the
release and version scheme in 2004.[36][37]

As a response to the lack of a stable kernel tree where people could coordinate the collection of bug fixes as such, in December 2005
Adrian Bunk announced that he would keep releasing 2.6.16.y kernels when the stable team moved on to 2.6.17.[38][39] He also
included some driver updates, making the maintenance of the 2.6.16 series very similar to the old rules for maintenance of a stable
series such as 2.4.[40] Since then, the "stable team" had been formed, and it would keep updating kernel versions with bug fixes. In
October 2008 Adrian Bunk announced that he would maintain 2.6.27 for a few years as a replacement of 2.6.16.[41] The stable team
picked up on the idea and as of 2010 they continue to maintain that version and release bug fixes for it, in addition to others.[42]
Andrew Morton decided to repurpose his -mm tree from memory management to serve as the destination for all new and
experimental code. In September 2007, Morton decided to stop maintaining this tree.[43] In February 2008 Stephen Rothwell created
the linux-next tree to serve as a place where patches aimed to be merged during the next development cycle are gathered.[44][45]
Several subsystem maintainers also adopted the suffix -next for trees containing code which is meant to be submitted for inclusion in
the next release cycle. As of January 2014, the in-development version of the Linux kernel is held in an unstable branch named linux-
next.[46]

The Linux kernel source code used to be maintained without the help of an automated source code management system, mostly
because of Torvalds' dislike of centralized SCM systems. In 2002, Linux kernel development switched to BitKeeper, an SCM system
which satisfied Torvalds' technical requirements. BitKeeper was made available to Torvald and several others free of charge but was
not free software, which was a source of controversy. The system did provide some interoperability with free SCM systems such as
CVS and Subversion. In April 2005, efforts to reverse-engineer the BitKeeper system byAndrew Tridgell led BitMover, the company
which maintained BitKeeper, to stop supporting the Linux development community. In response, Torvalds and others wrote a new
source code control system for the purpose, called Git. The new system was written within weeks, and in two months the first official
kernel release was made using Git.[47]
In 2008 Greg Kroah-Hartman said that since 2005 over 3,700
individual developers from over 200 different companies have
contributed to the kernel.[48] The 20th anniversary of the Linux
kernel was celebrated by Torvalds in July 2011 with the release of the
3.0.0 kernel version.[49] The Linux Foundation celebrated the 20th
anniversary of the kernel in the 2011 edition of its kernel
development study. Kernel 3.0 had 15 million lines of code and over
1,300 individual developers had contributed to this version of the
Linux kernel. Volunteer developers contributed 16 percent of the
total changes to the kernel in 2011. The other changes were
contributions by professional software developers who were paid by
a company to submit code to the kernel. In 2011 Red Hat developers
contributed 10 percent of the changes made to the kernel, the second
largest corporate contributor being Intel, followed by IBM and
Novell. While Nokia had by that time abandoned its Linux kernel
based smartphone operating system MeeGo, in 2011 Nokia
developers still contributed more code to the kernel than the
developers employed by Google, which had released Android in
2007 and Chrome OS in 2009. By 2011 Microsoft ranged as the 17th
most prolific corporate contributor to the kernel. Its developers had
first started contributing to the kernel in 2009 to improving the
performance of Linux virtual machines running on top of the
Windows Hyper-V hypervisor.[50]

Stable 3.x.y kernels were released until 3.19 in February 2015, with
development releases carrying the -rc designation. To account for the
occasional special patch release, the version 3 series of the kernel
added a fourth digit to the version numbering. In April 2015,
Torvalds released kernel version 4.0.[51] By February 2015 the Linux
kernel had received contributions from nearly 12,000 programmers
from more than 1,200 companies, including some of the world's
largest software and hardware vendors.[52] Version 4.1 of the Linux
kernel, released in June 2015, containes over 19.5 million lines of
code contributed by almost 14,000 programmers.[53]

Popularity
Linux distributions that bundle the Linux kernel with applications,
Unix programs and application packages are responsible for the
rising popularity of Linux operating systems among users.[54] The
popularity of the Android operating system, which includes the
Linux kernel, has made the kernel the most popular choice for mobile
devices, rivaling the installed base of all other operating
systems.[55][56][57]

Many consumer routers also use the Linux kernel,[58] as well as a


wide variety of other embedded devices, such as smart TVs, set-top
boxes, and webcams. Many desktop Linux distributions including the
Linux kernel exist, but the usage share of Linux distributions is low
in comparison to other operating systems.
Architecture
The Linux kernel is a monolithic kernel, supporting true preemptive
multitasking (both in user mode and, since the 2.6 series, in kernel
mode[59][60] ), virtual memory, shared libraries, demand loading,
shared copy-on-write executables (via KSM), memory management,
the Internet protocol suite, and threading.

Device drivers and kernel extensions run in kernel space (ring 0 in


many CPU architectures), with full access to the hardware, although
some exceptions run inuser space, for example, filesystems based on
FUSE/CUSE, and parts of UIO.[61][62] The graphics system most
people use with Linux does not run within the kernel. Unlike
standard monolithic kernels, device drivers are easily configured as
modules, and loaded or unloaded while the system is running. Also, A timeline representing the development of various
unlike standard monolithic kernels, device drivers can be pre-empted Linux distributions.[31]
under certain conditions; this feature was added to handle hardware
interrupts correctly and to better support symmetric
multiprocessing.[60] By choice, the Linux kernel has nobinary kernel
interface.[63]

The hardware is also incorporated into the file hierarchy. Device


drivers interface to user applications via an entry in the /dev or
/sys directories.[64] Process information as well is mapped to the
file system through the/proc directory.[64]

Map of the Linux kernel


Various layers within Linux, also showing separation between the userland and kernel space
User
For example, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, etc.
applications
System
Windowing Graphics:
daemons:
system: Other libraries: Mesa,
Low-level system systemd, runit,
X11, Wayland, GTK+, Qt, EFL, SDL, SFML, AMD
User components: logind,
SurfaceFlinger FLTK, GNUstep, etc. Catalyst,
mode networkd,
(Android) ...
PulseAudio, ...
open(), exec(), sbrk(), socket(), fopen(), calloc(), ... (up to 2000
C standard subroutines)
library glibc aims to be POSIX/SUS-compatible, musl and uClibc target embedded systems,
bionic written for Android, etc.
stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (about
380 system calls)
The Linux kernel System Call Interface (SCI, aims to be POSIX/SUS-compatible)
Process Memory
Kernel IPC Virtual files Network
Linux kernel scheduling management
mode subsystem subsystem subsystem
subsystem subsystem
Other components: ALSA, DRI, evdev, LVM, device mapper, Linux Network
Scheduler, Netfilter
Linux Security Modules: SELinux, TOMOYO, AppArmor, Smack
Hardware (CPU, main memory, data storage devices, etc.)

Programming language
The Linux kernel is written in the version of the C programming language supported by GCC (which has introduced a number of
extensions and changes to standard C), together with a number of short sections of code written in the assembly language (in GCC's
"AT&T-style" syntax) of the target architecture. Because of the extensions to C it supports, GCC was for a long time the only
compiler capable of correctly building the Linux kernel.

Compiler compatibility
GCC is the default compiler for the Linux kernel source. In 2004,Intel claimed to have modified the kernel so thatits C compiler was
also capable of compiling it.[65] There was another such reported success in 2009, with a modified 2.6.22 version of the
kernel.[66][67]

Since 2010, effort has been underway to build the Linux kernel with Clang, an alternative compiler for the C language;[68] as of 12
April 2014, the official kernel could almost be compiled by Clang.[69][70] The project dedicated to this effort is named LLVMLinux
[71] LLVMLinux does not aim to fork either the Linu
after the LLVM compiler infrastructure upon which Clang is built. x kernel or the
LLVM, therefore it is a meta-project composed of patches that are eventually submitted to the upstream projects. By enabling the
Linux kernel to be compiled by Clang that, among other advantages, is known for faster compilation compared with GCC, kernel
[72]
developers may benefit from a faster workflow due to shorter compilation times.

Interfaces
Conformance to standards is a general policy for the Linux kernel's internals. Another rule is that a kernel component is not accepted
into the Linux kernel mainline if there is only proprietary user
-space software using that component.

Kernel-to-userspace API
Source code portability ensures that a C program written by
conforming to a standard can be successfully compiled and run on
any system that also conforms to the same standard. The relevant
standards, aiming to achieve source code portability of programs,
that the development of the Linux kernel, the GNU C Library, and
associated utilities try to adhere to, are POSIX and the Single UNIX
Specification.

The Linux kernel API of the Linux kernel, representing the kernel's
system call interface, is composed of the availablesystem calls.

Kernel-to-userspace ABI
Four interfaces are distinguished: two internal to
Binary portability shall guarantee that any program once compiled the kernel, and two between the kernel and
for a given hardware platform, can be run in its compiled form on userspace.
any other hardware platform that conforms to the standard. Binary
portability is an essential requirement for the commercial viability of
independent software vendor (ISV) applications built for the operating systems based on the Linux kernel. Binary compatibility is
much more demanding than source code portability; as of February 2014, the only standard concerning itself with binary
compatibility is the Linux Standard Base (LSB).

In-kernel API
There is a couple of kernel internal APIs utilized between the
different subsystems and subsystems of subsystems. Some of them
have been kept stable over several releases, others have not. There
are no guarantees regarding the in-kernel APIs. Maintainers and
[74]
contributors are free to augment or change them at any time.

Examples of in-kernel APIs include software frameworks/APIs for


the following classes of device drivers:

Video4Linux – for video capture hardware At XDC2014, Alex Deucher from AMD announced
Advanced Linux Sound Architecture(ALSA) – for sound the unified kernel-mode driver.[73] The proprietary
cards
Linux graphic driver, libGL-fglrx-glx, will
New API – for network interface controllers
share the same DRM infrastructure with Mesa 3D.
Direct Rendering Manager– for graphics accelerators
As there is no stable in-kernelABI, AMD had to
KMS driver – for display controllers constantly adapt the formerbinary blob used by
mac80211 – for wireless network interface controllers[75] Catalyst.
WEXT – for wireless network interface controllers
(obsolete).

In-kernel ABI
[76]
The Linux kernel developers choose not to maintain a stable in-kernel ABI.

Technical features

Preemption
The Linux kernel provides preemptive
scheduling under certain conditions. Until
kernel version 2.4, only user processes
were preemptive, i.e., in addition to time
quantum expiration, an execution of
current process in user mode would be
interrupted if higher dynamic priority
processes entered TASK_RUNNING
state.[78] Toward 2.6 series of the Linux
kernel, an ability to interrupt a task
executing kernel code was added,
although with that not all sections of the
kernel code can be preempted.[79]

The Linux kernel contains different


scheduler classes.[80] By default the
kernel uses a scheduler mechanism called
the Completely Fair Scheduler introduced
in the 2.6.23 version of the kernel.[81]
Internally this default-scheduler class is
also known as SCHED_OTHER, but the
kernel also contains two POSIX-
compliant[82] real-time scheduling classes
named SCHED_FIFO (realtime first-in-
first-out) and SCHED_RR (realtime round-
robin), both of which take precedence
over the default class.[80]

Through the use of the real-time Linux


The position of I/O schedulers within various layers of the Linux kernel's
kernel patch PREEMPT_RT, support for
storage stack.[77]
full preemption of critical sections,
interrupt handlers, and "interrupt disable"
code sequences can be supported.[83] Partial mainline integration of the real-time Linux kernel patch already brought some
functionality to the kernel mainline.[84] Preemption improves latency, increases responsiveness, and makes Linux more suitable for
desktop and real-time applications. Older versions of the kernel had a so-called big kernel lock for synchronization across the entire
kernel, which was finally removed by Arnd Bergmann in 2011.[85]

Additional scheduling policy known as SCHED_DEADLINE, implementing the earliest deadline first algorithm (EDF), was added in
kernel version 3.14, released on 30 March 2014.[86][87]

Portability
While not originally designed to beportable,[16][88] Linux is now one of the most widely ported operating system kernels, running on
a diverse range of systems from the ARM architecture to IBM z/Architecture mainframe computers. The first port beyond Linux's
original 386 architecture was performed on the Motorola 68000 platform by Amiga users, who accomplished this by replacing major
parts of the kernel. The modifications to the kernel were so fundamental that Torvalds viewed the Motorola version as a fork and a
"Linux-like operating system"[88] rather than as an actual port. It was, however, the impetus that Torvalds needed to lead a major
restructure of the kernel code to facilitate porting to competing computing architectures. The first Linux endorsed port was to the
DEC Alpha AXP 64-bit platform which was demonstrated at DECUS in May, 1995m[89] supporting both 386 and Alpha in a single
source tree.[88] DEC was responsible for supplying the hardware necessary to Torvalds to enable a port of Linux to 64 bits[90] that
same year.
Linux runs as the main operating system on IBM's Blue Gene and other fastest
supercomputers, including the top American one. As of January 2019, all of the world's
500 fastest supercomputers run some variant of Linux.[8] Linux has also been ported to
various handheld devices such asApple's iPod and iPhone.[91]

Kernel variants
There are certain variants of the Linux kernel that provide additional functionality but do
TiVo DVR, a consumer device
not belong to the Linux kernel mainline. Such variants of the Linux kernel include running Linux.
Linux-libre, Compute Node Linux, Cooperative Linux, Longene, grsecurity, INK,
L4Linux, MkLinux, RTLinux, and User-mode Linux. Some of these variants have been
partially merged into the mainline.[92] Some operating systems developed for mobile
phones initially used heavely modified versions of the Linux kernel, including Google
Android, Firefox OS, HP webOS, Nokia Maemo and Jolla Sailfish OS. In 2010 the
Linux kernel community criticised Google for effectively starting its own kernel
tree:[93][94]

This means that any drivers written for Android hardware platforms, can
not get merged into the main kernel tree because they have dependencies
on code that only lives in Google's kernel tree, causing it to fail to build
in the kernel.org tree. Because of this, Google has now prevented a large
chunk of hardware drivers and platform code from ever getting merged
into the main kernel tree. Effectively creating a kernel branch that a An iPod booting iPodLinux.
number of different vendors are now relying on.[95]

— Greg Kroah-Hartman, 2010

Today Android uses a slightly customised Linux kernel[96] where changes are implemented in device drivers so that little or no
change to the core kernel code is required. Android developers also submit patches to the mainline Linux kernel and the mainline
kernel can boot the Android operating system. ANexus 7 can boot and run a mainline Linux kernel.[97]

Kernel panic and oopses


In Linux, a "panic" is an unrecoverable system error detected by the kernel, as opposed
to similar errors detected by user space code. It is possible for kernel code to indicate
such a condition by calling the panic function located in the header file
sys/system.h. However, most panics are the result of unhandled processor
exceptions in kernel code, such as references to invalid memory addresses. These are
typically indicative of a bug somewhere in the call chain leading to the panic. They can
also indicate a failure of hardware, such as a failed RAM cell or errors in arithmetic
An example of Linux kernel panic
functions in the processor caused by aprocessor bug, overheating/damaged processor, or
a soft error.

A report of a non-fatal bug in the kernel is called an "oops"; such deviations from correct behavior of the Linux kernel may allow
continued operation with compromised reliability.[98] These crash reports are automatically collected and can be sent upstream by
various software, such as kerneloops,[99] ABRT (Fedora)[100] and apport (Ubuntu). KernelOops.org collects these reports and
publishes statistics on their website.[101]

The kernel panic message might not be printed visibly in some conditions, such as when using a graphical desktop. To debug such
conditions, other methods such as attaching a serial port console can be used.
Live patching
Rebootless updates can even be applied to the kernel by using live patching technologies such as Ksplice, kpatch and kGraft.
Minimalistic foundations for live kernel patching were merged into the Linux kernel mainline in kernel version 4.0, which was
released on 12 April 2015. Those foundations, known as livepatch and based primarily on the kernel's ftrace functionality, form a
common core capable of supporting hot patching by both kGraft and kpatch, by providing an application programming interface
(API) for kernel modules that contain hot patches and an application binary interface (ABI) for the userspace management utilities.
However, the common core included into Linux kernel 4.0 supports only the x86 architecture and does not provide any mechanisms
for ensuring function-level consistency while the hot patches are applied. As of April 2015, there is ongoing work on porting kpatch
[102][103][104]
and kGraft to the common live patching core provided by the Linux kernel mainline.

Security
Computer security is a much-publicized topic in relation to the Linux kernel because a large portion of the kernel bugs present
potential security flaws. For example, they may allow for privilege escalation or create denial-of-service attack vectors. Over the
years, numerous such flaws were found and fixed in the Linux kernel.[105] New security features are frequently implemented to
improve the Linux kernel's security.[106][107]

Critics have accused kernel developers of covering up security flaws or at least not announcing them; in 2008, Linus Torvalds
responded to this with the following:[108][109]

I personally consider security bugs to be just "normal bugs". I don't cover them up, but I also don't have any reason
what-so-ever to think it's a good idea to track them and announce them as something special...one reason I refuse to
bother with the whole security circus is that I think it glorifies—and thus encourages—the wrong behavior. It makes
"heroes" out of security people, as if the people who don't just fix normal bugs aren't as important. In fact, all the
boring normal bugs are way more important, just because there's a lot more of them. I don't think some spectacular
security hole should be glorified or cared about as being any more "special" than a random spectacular crash due to
bad locking.

Linux distributions typically release security updates to fix vulnerabilities in the Linux kernel. Many offer long-term support releases
that receive security updates for a certain Linux kernel version for an extended period of time.

Feature history
Version 1.0 of the Linux kernel was released on 14 March 1994.[110] This release of the Linux kernel only supported single-processor
i386-based computer systems. Portability became a concern, and so version 1.2 (released 7 March 1995)[111] gained support for
computer systems using processors based on theAlpha, SPARC, and MIPS architectures.

Version 2.0 was released on 9 June 1996.[112] The series included 41 releases. The major feature of 2.0 was support for symmetric
multiprocessing (SMP) and support for more types of processors.

Version 2.2, released on 20 January 1999,[113] removed the global spinlock and provided improved SMP support, added support for
the m68k and PowerPC architectures, and added new file systems (including read-only support forMicrosoft's NTFS).[114]

Version 2.4.0, released on 4 January 2001,[115] contained support for ISA Plug and Play, USB, and PC Cards.[116] It also included
support for the PA-RISC processor from Hewlett-Packard. Development for 2.4.x changed a bit in that more features were made
available throughout the duration of the series, including support for Bluetooth, Logical Volume Manager (LVM) version 1, RAID
support, InterMezzo and ext3 file systems.

Version 2.6.0 was released on 17 December 2003.[117] The development for 2.6.x changed further towards including new features
throughout the duration of the series. Among the changes that have been made in the 2.6 series are: integration of µClinux into the
mainline kernel sources, PAE support, support for several new lines of CPUs, integration of Advanced Linux Sound Architecture
(ALSA) into the mainline kernel sources, support for up to 32
2 users (up from 216), support for up to 229 process IDs (64-bit only, 32-
bit arches still limited to 215),[118] substantially increased the number of device types and the number of devices of each type,
improved 64-bit support, support for file systems which support file sizes of up to 16 terabytes, in-kernel preemption, support for the
Native POSIX Thread Library (NPTL), User-mode Linux integration into the mainline kernel sources, SELinux integration into the
mainline kernel sources, InfiniBand support, and considerably more. Also notable are the addition of several file systems throughout
the 2.6.x releases: FUSE, JFS, XFS, ext4 and more. Details on the history of the 2.6 kernel series can be found in the ChangeLog files
on the 2.6 kernel series source code release area ofkernel.org.[119]

Version 3.0 was released on 22 July 2011.[120] On 30 May 2011, Torvalds announced that the big change was "NOTHING.
Absolutely nothing." and asked, "...let's make sure we really make the next release not just an all new shiny number, but a good
kernel too."[121] After the expected 6–7 weeks of the development process, it would be released near the 20th anniversary of Linux.

In December 2012, Torvalds decided to reduce kernel complexity by removing support for i386 processors, making the 3.7 kernel
.[122][123] The same series unified support for theARM processor.[124]
series the last one still supporting the original processor

Version 3.11, released on 2 September 2013,[125] adds many new features such as new O_TMPFILE flag for open(2) to reduce
temporary file vulnerabilities, experimental AMD Radeon dynamic power management, low-latency network polling, and zswap
(compressed swap cache).[126]

Version 4.15, released on 28 January 2018[127] includes some fixes for the Spectre and Meltdown hardware vulnerabilities affecting
Intel x86 microprocessors, IBM POWER processors, and some ARM-based microprocessors.

The numbering change from 2.6.39 to 3.0, and from 3.19 to 4.0, involved no meaningful technical differentiation. The major version
number was increased to avoid large minor numbers.[120][128]

Development

Developer community
As of 2007, the development of the kernel had shifted from the top 20 most active developers writing 80% of the code to the top 30
writing 30% of the code, with top developers spending more time reviewing changes.[129] Developers can also be categorized by
affiliation; in 2007, the top category was unknown while the top corporation was Red Hat with 12% of contributions, and known
amateurs at 3.9%.[129] The kernel changes made in the year 2007 have been submitted by over 1900 developers, which may be a
significant underestimate because developers working in teams usually count as one.
It is generally assumed that the community of Linux kernel developers comprises 5000 or 6000 members. Update from the 2016
Linux Kernel Development Report, issued by the Linux Foundation, covering the period from 3.18 (December 2014) to 4.7 (July
2016): About 1500 developers are contributing to each release from about 200-250 companies on average per release. The top 30
developers contributed a little more than 16% of the code. As of companies, the top contributors are Intel (12.9%) and Red Hat
(8.0%), the third and fourth places are held by the 'none' (7.7%) and 'unknown' (6.8%) categories.

Instead of a roadmap, there are technical guidelines. Instead of a central resource allocation, there are persons and
companies who all have a stake in the further development of the Linux kernel, quite independently from one another:
People like Linus Torvalds and I don’t plan the kernel evolution. We don’t sit there and think up the roadmap for the
next two years, then assign resources to the various new features. That's because we don’t have any resources. The
resources are all owned by the various corporations who use and contribute to Linux, as well as by the various
independent contributors out there. It's those people who own the resources who decide...

— Andrew Morton, 2005

Submitting code to the kernel


A developer who wants to change the Linux kernel starts with developing and testing that change. Depending on how significant the
change is and how many subsystems it modifies that change will either consist of a single patch or of multiple patches source
of code.
In case of a single subsystem that is maintained by a single maintainer, these patches are sent as e-mails to the maintainer of the
subsystem with the appropriate mailing list in Cc. The maintainer and the readers of the mailing list will review the patches and
provide feedback. Once the review process has finished the maintainer accepts the patches in his Git kernel tree. If these changes are
bug fixes that are considered important enough a pull request that includes the patches will be sent to Torvalds within a few days.
Otherwise, a pull request will be sent to Torvalds during the next merge window. The merge window usually lasts two weeks and
starts immediately after the release of the previous kernel version.[130] The Git kernel source tree names all developers who have
contributed to the Linux kernel in theCredits directory and all subsystem maintainers are listed inMaintainers.[131]

Development model
The Linux kernel project integrates new code on a rolling basis. Software checked into the project must work and compile without
error. For each kernel subsystem there is a maintainer who is responsible for reviewing patches against the kernel code standards and
keeps a queue of patches that can be submitted to Linus Torvalds within a merge window of several weeks. Patches are merged by
Torvalds into the source code of the prior stable Linux kernel release, creating the -rc release candidate for the next stable kernel.
Once the merge window is closed only fixes to the new code in the development release are accepted. The -rc development release of
the kernel goes through regression tests and once it is judged to be stable by Torvalds and the kernel subsystem maintainers a new
[132]
Linux kernel is released and the development process starts all over again.

Developers who feel treated unfairly can report this to the Linux Foundation's Technical Advisory Board.[133] In July 2013 the
maintainer of the USB 3.0 driver Sarah Sharp asked Torvalds to address the abusive commentary in the kernel development
community. In 2014 Sharp backed out of Linux kernel development, saying that "The focus on technical excellence, in combination
with overloaded maintainers, and people with different cultural and social norms, means that Linux kernel maintainers are often
blunt, rude, or brutal to get their job done".[134] At the linux.conf.au (LCA) conference in 2018 developers expressed the view that
the culture of the community has gotten much better in the past few years. Daniel etter,
V the maintainer of the Intel drm/i915 graphics
kernel driver, commented that the "rather violent language and discussion" in the kernel community has decreased or
disappeared.[135]

Laurent Pinchart asked developers for feedback on their experience with the kernel community at the 2017 Embedded Linux
Conference Europe. The issues brought up were a few days later discussed at the Maintainers Summit. Concerns over the lack of
consistency in how maintainers responded to patches submitted by developers were echoed by Shuah Khan, the maintainer of the
kernel self-test framework. Torvalds contended that there would never be consistency in the handling of patches because different
kernel subsystems have over time adopted different development processes. Therefore it was agreed upon that each kernel subsystem
[136]
maintainer would document the rules for patch acceptance.

Development community conflicts


There have been several notable conflicts among Linux kernel developers. Examples of such conflicts are:

In July 2007 Con Kolivas announced that he would cease developing for the Linux kernel. Discussing his reasons in
an interview, he expressed frustration with aspects of the mainline kernel development process, which he felt did not
give sufficient priority to desktop interactivity, in addition to hacking taking a toll on his health, work and
family.[137][138]
In July 2009 Alan Cox quit his role as the TTY layer maintainer after disagreement withLinus Torvalds about the
scope of work required to fix an error in that subsystem. [139]

In December 2010 there was a discussion between Linux SCSI maintainer James Bottomley and SCST maintainer
Vladislav Bolkhovitin about which SCSI target stack should be included in the Linux kernel - SCST or LIO. Although
at that time SCST was considered technically superior , LIO was merged upstream.[140] This made some Linux users
upset. [141]

In June 2012 Torvalds made it very clear thathe did not agree with NVIDIA releasing its drivers as closed source
drivers by showing the middle finger gesture.[142]
In April 2014 Torvalds banned Kay Sievers from submitting batches to the Linux kernel for failing to deal withbugs
that caused systemd to negatively interact with the kernel.[143]
In October 2014 Lennart Poettering accused Torvalds of tolerating the rough discussion style on Linux kernel related
mailing lists and of being a bad role model.[144]
In March 2015 Christoph Hellwig filed a lawsuit against VMware for infringement of the copyright on the Linux
kernel.[145] Linus Torvalds made it clear that he did not agree with this and similar initiatives by calling lawyers a
festering disease.[146]
Prominent Linux kernel developers have been aware of the importance of avoiding conflicts between developers.[147] For a long time
there has been no code of conduct for kernel developers due to opposition by Linus Torvalds.[148] However, a Linux Kernel Code of
Conflict was introduced on 8 March 2015.[149] It was replaced on 16 September 2018 by a new Code of Conduct based on the
Contributor Covenant. This coincided with a public apology by Linus and a brief break from kernel development.[150][151] . Later the
word that potentially can be offensive have been automatically replaced with less offensive one. [152] .

Codebase
As of 2013, the 3.10 release of the Linux kernel had 15,803,499 lines of code. As of 2007, roughly 5% of the code is part of the
"core" while 52% is drivers.[129]

Linux is evolution, not intelligent design!

— Linus Torvalds, 2005[153][154][155]

Estimated cost to redevelop


The cost to redevelop the Linux kernel version 2.6.0 in a traditional proprietary development setting has been estimated to be US$612
million (€467M, £394M) in 2004 prices using the COCOMO man-month estimation model.[156] In 2006, a study funded by the
, at €882M ($1.14bn, £744M).[157]
European Union put the redevelopment cost of kernel version 2.6.8 higher

This topic was revisited in October 2008 by Amanda McPherson, Brian Proffitt, and Ron Hale-Evans. Using David A. Wheeler's
methodology, they estimated redevelopment of the 2.6.25 kernel now costs $1.3bn (part of a total $10.8bn to redevelop Fedora
9).[158] Again, Garcia-Garcia and Alonso de Magdaleno from University of Oviedo (Spain) estimate that the value annually added to
kernel was about €100M between 2005 and 2007 and €225M in 2008, it would cost also more than €1bn (about $1.4bn as of
[159]
February 2010) to develop in the European Union.
As of 7 March 2011, using then-current LOC (lines of code) of a
2.6.x Linux kernel and wage numbers with David A. Wheeler's
calculations it would cost approximately $3bn (about €2.2bn) to
redevelop the Linux kernel as it keeps getting bigger. An updated
calculation As of 26 September 2018, using then-current 20,088,609
LOC (lines of code) for the 4.14.14 Linux kernel and the current US
National average programmer salary of $75,506 show it would cost
approximately $14,725,449,000 dollars (£11,191,341,000 pounds) to
rewrite the existing GPL-2.0 code that existing contributors still have
claimed to if they decided to rescind the grant of license to the kernel
source tree. [160]

Maintenance and long-term support Redevelopment costs of Linux kernel

The latest kernel version and older kernel versions are maintained
separately. Most latest kernel releases were supervised by Linus
Torvalds.[161] Current versions are released by Greg Kroah-
Hartman.[162]

The Linux kernel developer community maintains a stable kernel by


applying fixes for software bugs that have been discovered during the
development of the subsequent stable kernel. Therefore
www.kernel.org will always list two stable kernels. The next stable
Linux kernel is now released only 8 to 12 weeks later. Therefore the
Linux kernel maintainers have designated some stable kernel releases
as longterm, these long-term support Linux kernels are updated with Boot messages of a Linux kernel 2.6.25.17
bug fixes for two or more years.[163] In March 2019 there were six
longterm Linux kernels: 4.19.32, 4.14.109, 4.9.166, 4.4.177,
3.18.137 and 3.16.64.[164]

Releases before 2.6.0

Linux kernel versions timeline


Original release Current
Version Maintainer Support model [show]
date version
0.01 17 September 1991 0.03 Linus Torvalds EOL
0.10 November 1991 0.12 Linus Torvalds EOL
0.95 8 March 1992 0.99.15 Linus Torvalds EOL
1.0 14 March 1994 1.0.9 Linus Torvalds EOL
1.1 6 April 1994 1.1.95 Linus Torvalds EOL
1.2 7 March 1995 1.2.13 Linus Torvalds EOL

1.3 12 June 1995 1.3.100[165] Linus Torvalds EOL

pre2.0 12 May 1996 pre2.0.14 Linus Torvalds EOL


EOL (officially made obsolete with the kernel
2.0 9 June 1996[112] 2.0.40[166] David Weinehall
2.2.0 release)[167]
Marc-Christian
Petersen EOL (unofficially obsolete with the 2.2.27-
2.2 26 January 1999[113] 2.2.26[168]
(formerly Alan rc2)[169][170][171]
Cox)

Willy Tarreau EOL (maintained from December 2008 to


2.4 4 January 2001[115] 2.4.37.11[172] (formerly Marcelo December 2011), last stable release of the
Tosatti) 2.4 kernel series.[172]
Legend: Old version Older version, still supported Latest version Latest preview version

Releases 2.6.x.y
Versions 2.6.16 and 2.6.27 of the Linux kernel were unofficially supported in a long-term support (LTS) fashion,[173] before a 2011
working group in the Linux Foundation started a formal long-term support initiative.[174][175]
Current Support [show]
Version Original release date Maintainer
version model
EOL (maintained
from December
2.6 17 December 2003[117] 2.6.10[176] Linus Torvalds
2003 to December
2004)[176]
EOL (maintained
2.6.11 2 March 2005[177] 2.6.11.12[178] Greg Kroah-Hartman from March 2005 to
June 2005)[178]
EOL (maintained
2.6.12 18 June 2005[179] 2.6.12.6[180] Greg Kroah-Hartman from June 2005 to
August 2005)[180]
EOL (maintained
from August 2005
2.6.13 28 August 2005[181] 2.6.13.5[182] Greg Kroah-Hartman
to December
2005)[182]
EOL (maintained
from October 2005
2.6.14 27 October 2005[183] 2.6.14.7[184] Greg Kroah-Hartman
to January
2006)[184]
EOL (maintained
2.6.15 2 January 2006[185] 2.6.15.7[186] Greg Kroah-Hartman from January 2006
to May 2006)[186]
EOL (1st LTS
Adrian Bunk[189] release, maintained
2.6.16 20 March 2006[187] 2.6.16.62[188] from March 2006 to
(formerly Greg Kroah-Hartman)[190]
July 2008)[39][188]
EOL (maintained
from September
2.6.17 17 June 2006[191] 2.6.17.14[192] Greg Kroah-Hartman
2006 to October
2006)[192]
EOL (maintained
from September
2.6.18 20 September 2006[193] 2.6.18.8[194] Greg Kroah-Hartman
2006 to February
2007)[194]
EOL (maintained
from November
2.6.19 26 November 2006[195] 2.6.19.7[196] Greg Kroah-Hartman
2006 to March
2007)[196]
EOL (maintained
from February 2007
2.6.20 4 February 2007[197] 2.6.20.21[198] Greg Kroah-Hartman
to October
2007)[198]
EOL (maintained
2.6.21 25 April 2007[199] 2.6.21.7[200] Greg Kroah-Hartman from April 2007 to
August 2007)[200]
EOL (maintained
2.6.22 8 July 2007[201] 2.6.22.19[202] Greg Kroah-Hartman from July 2007 to
February 2008)[202]
EOL (maintained
from October 2007
2.6.23 9 October 2007[203] 2.6.23.17[204] Greg Kroah-Hartman
to February
2008)[204]
EOL (maintained
2.6.24 24 January 2008[205] 2.6.24.7[206] Greg Kroah-Hartman from January 2008
to May 2008)[206]
EOL (maintained
from April 2008 to
2.6.25 16 April 2008[207] 2.6.25.20[208] Greg Kroah-Hartman
November
2008)[208]
EOL (maintained
from July 2008 to
2.6.26 13 July 2008[209] 2.6.26.8[210] Greg Kroah-Hartman
November
2008)[210]
EOL (2nd LTS
Willy Tarreau[213]
release, maintained
2.6.27 9 October 2008[211] 2.6.27.62[212] (formerly Adrian Bunk,[214] and from October 2008
formerly Greg Kroah-Hartman)
to March 2012)[214]
EOL (maintained
from December
2.6.28 24 December 2008[215] 2.6.28.10[216] Greg Kroah-Hartman
2008 to May
2009)[216]
EOL (maintained
2.6.29 23 March 2009[217] 2.6.29.6[218] Greg Kroah-Hartman from March 2009 to
July 2009)[218]
EOL (maintained
2.6.30 9 June 2009[219] 2.6.30.9[220] Greg Kroah-Hartman from June 2009 to
October 2009)[220]
EOL (maintained
from September
2.6.31 9 September 2009[221] 2.6.31.14[222] Greg Kroah-Hartman
2009 to July
2010)[222]
EOL (3rd LTS
release, maintained
from December
2009 to March
Willy Tarreau[225][226] 2016,[225] used in
2.6.32 2 December 2009[223] 2.6.32.71[224] Debian 6
(formerly Greg Kroah-Hartman)[190][227]
Squeeze.[228]
Canonical also
provided support
until April 2015.[229]
EOL (4th LTS
release, maintained
from March 2011 to
November 2011). It
2.6.33 24 February 2010[230] 2.6.33.20[231] Greg Kroah-Hartman[232] was the base for
real-time-tree,
replaced by
3.0.x.[231][232]
EOL (5th LTS
release, maintained
2.6.34 16 May 2010[233] 2.6.34.15[234] Paul Gortmaker[235] from January 2011
to February
2014)[234][235]
EOL (6th LTS
release, maintained
2.6.35 1 August 2010[236] 2.6.35.14[237] Andi Kleen[238] from December
2010 to March
2012)[238]
EOL (maintained
from October 2010
2.6.36 20 October 2010[239] 2.6.36.4[240] Greg Kroah-Hartman
to February
2011)[240]

[241] [242]
2.6.37 4 January 2011[241] 2.6.37.6[242] Greg Kroah-Hartman EOL (maintained
from January 2011
to March 2011)[242]
EOL (maintained
2.6.38 14 March 2011[243] 2.6.38.8[244] Greg Kroah-Hartman from March 2011 to
June 2011)[244]
EOL (maintained
from May 2011 to
August 2011), last
2.6.39 18 May 2011[245] 2.6.39.4[246] Greg Kroah-Hartman
stable release of
the 2.6 kernel
series.[246]
Legend: Old version Older version, still supported Latest version Latest preview version

Releases 3.x.y
Current
Version Original release date Maintainer Support model [show]
version
EOL (7th LTS release,
maintained from July 2011 to
3.0 21 July 2011[120] 3.0.101[247] Greg Kroah-Hartman[248] October 2013, providing the
base for real-time
tree)[247][248]
EOL (maintained from
3.1 24 October 2011[249] 3.1.10[250] Greg Kroah-Hartman October 2011 to January
2012)[250]
8th LTS release, was
"projected EOL" for May
2018,[254] and has been
maintained from March
2012, used in Ubuntu 12.04
LTS[255] and optionally in
12.04 ESM,[256] Debian 7
3.2 4 January 2012[251] 3.2.102[252] Ben Hutchings[225][253]
"Wheezy" and
Slackware 14.0.[225][253]
Canonical promised to (at
least) provide long-term
support until April 2017;[229]
Support has continued for
months after.
EOL (maintained from March
3.3 18 March 2012[257] 3.3.8[258] Greg Kroah-Hartman
2012 to June 2012)[258]
EOL (9th LTS release,
Li Zefan[225][262]
3.4 20 May 2012[259][260] 3.4.113[261] maintained from May 2012
(formerly Greg Kroah-Hartman)
to October 2016).[263]
EOL (maintained from July
2012 to October 2012);[265]
3.5 21 July 2012[264] 3.5.7[265] Greg Kroah-Hartman Canonical provided
extended support until April
2014.[229][266]
EOL (maintained from
3.6 30 September 2012[267] 3.6.11[268] Greg Kroah-Hartman October 2012 to December
2012)[268]
EOL (maintained from
3.7 10 December 2012[269] 3.7.10[270] Greg Kroah-Hartman December 2012 to March
2013)[270][271]
EOL (maintained from
February 2013 to May
3.8 18 February 2013[272] 3.8.13[273] Greg Kroah-Hartman 2013);[273] Canonical
provided extended support
until August 2014.[229][274]
EOL (maintained from April
3.9 28 April 2013[275] 3.9.11[276] Greg Kroah-Hartman
2013 to July 2013)[276]
EOL (10th LTS release,
Willy Tarreau[225][279] maintained from August
3.10 30 June 2013[277] 3.10.108[278]
(formerly Greg Kroah-Hartman) 2013 to November
2017)[278]
3.11 2 September 2013[125] 3.11.10[280] Greg Kroah-Hartman EOL (maintained from
September 2013 to
November 2013);[280]
Canonical provided
extended support until
August 2014.[229] The
codename chosen for
version 3.11 is "Linux for
Workgroups".
EOL (11th LTS release,
Jiří Slabý[225][283]
3.12 3 November 2013[281] 3.12.74[282] maintained from November
(formerly Greg Kroah-Hartman)
2013 to May 2017.)[283][282]
EOL (maintained from
January 2014 to April
3.13 19 January 2014[284] 3.13.11[285] Greg Kroah-Hartman 2014);[285] Canonical
provided extended support
until April 2016.[229][286]
EOL (12th LTS release,
3.14 30 March 2014[287] 3.14.79[288] Greg Kroah-Hartman[225] maintained from March 2014
to August 2016)[288]
EOL (maintained from June
3.15 8 June 2014[289] 3.15.10[290] Greg Kroah-Hartman
2014 to August 2014)[290]
13th LTS release,
maintained from August
2014 to October 2014, May
Ben Hutchings [225][293] 2016 to April 2020.[225][294]
3.16 3 August 2014[291] 3.16.67[292]
(formerly Greg Kroah-Hartman) Used in Debian 8
"Jessie".[295] Canonical
provided extended support
until April 2016.[229][296]
EOL (maintained from
3.17 5 October 2014[297] 3.17.8[298] Greg Kroah-Hartman October 2014 to January
2015)[298]
EOL (14th LTS release,
maintained from December
2014 to January 2017).[303]
Greg Kroah-Hartman [301] However Greg stated that he
3.18 7 December 2014[299] 3.18.140[300] (formerly Sasha Levin[302] ) will release irregular updates
(formerly Greg Kroah-Hartman) to the 3.18 tree.[304] Starting
with 3.18.140, this version
will no longer be maintained
on kernel.org, but on AOSP
EOL (maintained from
February 2015 to May
2015);[306] last stable
3.19 8 February 2015[305] 3.19.8[306] Greg Kroah-Hartman release of the 3.x.y kernel
series;[307] Canonical
provided extended support
until July 2016.[229][308]
Legend: Old version Older version, still supported Latest version Latest preview version

Releases 4.x.y
Current
Version Original release date Maintainer Support model [show]
version
EOL (maintained from
4.0 12 April 2015[128] 4.0.9[309] Greg Kroah-Hartman April 2015 to July
2015)[310]
EOL (15th LTS release,
Sasha Levin[225][313] maintained from July
4.1 22 June 2015[311] 4.1.52[312] 2015 to May
(formerly Greg Kroah-Hartman)[314]
2018)[225][311]
EOL (maintained from
August 2015 to
December 2015);[316]
4.2 30 August 2015[315] 4.2.8[316] Greg Kroah-Hartman
Canonical provided
extended support until
July 2016.[229][317]
EOL (maintained from
4.3 1 November 2015[318] 4.3.6[319] Greg Kroah-Hartman November 2015 to
February 2016)[320]
16th LTS release,
maintained from
January 2016 to
February 2022.[225][323]
Canonical will provide
extended support until
April 2021.[324] As the
4.4 10 January 2016[321] 4.4.180[322] Greg Kroah-Hartman[225]
first kernel selected for
Super Long Term
Support (SLTS), the Civil
Infrastructure Platform
will provide support until
at least 2026, possibly
until 2036.[325]
EOL (maintained from
4.5 13 March 2016[326] 4.5.7[327] Greg Kroah-Hartman March 2016 to June
2016)[328]
EOL (maintained from
4.6 15 May 2016[329] 4.6.7[330] Greg Kroah-Hartman May 2016 to August
2016)[330]
EOL (maintained from
4.7 24 July 2016[331] 4.7.10[332] Greg Kroah-Hartman July 2016 to October
2016)[332]
EOL (maintained from
4.8 25 September 2016[333] 4.8.17[334] Greg Kroah-Hartman September 2016 to
January 2017)[334]
17th LTS release,
maintained from
December 2016 to
4.9 11 December 2016[335] 4.9.177[336] Greg Kroah-Hartman[225]
January 2023.[225][337]
Used in Debian 9
"Stretch".[338]
EOL (maintained from
4.10 19 February 2017[339] 4.10.17[340] Greg Kroah-Hartman February 2017 to May
2017)[340]
EOL (maintained from
4.11 30 April 2017[341] 4.11.12[342] Greg Kroah-Hartman April 2017 to July
2017)[342]
4.12 2 July 2017[343] 4.12.14[344] Greg Kroah-Hartman EOL (maintained from
July 2017 to September
2017)[344]
EOL (maintained from
4.13 3 September 2017[345] 4.13.16[346] Greg Kroah-Hartman September 2017 to
November 2017)[346]
18th LTS release,
maintained from
4.14 12 November 2017[347] 4.14.120[348] Greg Kroah-Hartman[225] November 2017 to
January 2020[225][349]
EOL (maintained from
4.15 28 January 2018[350] 4.15.18[351] Greg Kroah-Hartman January 2018 to April
2018)[351]
EOL (maintained from
4.16 1 April 2018[352] 4.16.18[353] Greg Kroah-Hartman April 2018 to June
2018)[353]
EOL (maintained from
4.17 3 June 2018[354] 4.17.19[355] Greg Kroah-Hartman June 2018 to August
2018)[355]
EOL (maintained from
4.18 12 August 2018[356] 4.18.20[357] Greg Kroah-Hartman August 2018 to
November 2018)[357]
19th LTS release,
maintained from
October 2018 to
December
4.19 22 October 2018[358] 4.19.44[359] Greg Kroah-Hartman[225] 2020.[225][360] Used in
Debian 10 "Buster".[361]
Second SLTS release
with support for ARM64
platform.[362]
EOL (maintained from
4.20 23 December 2018[363] 4.20.17[364] Greg Kroah-Hartman December 2018 to
March 2019)[364]
Legend: Old version Older version, still supported Latest version Latest preview version

Releases 5.x.y

Version Original release date Current version Maintainer Support model[show]

5.0 3 March 2019[365] 5.0.17[366] Greg Kroah-Hartman Supported release

5.1 5 May 2019[367] 5.1.3[3] Greg Kroah-Hartman Latest stable release

5.2 19 May 2019[4] 5.2-rc1[4] Linus Torvalds Latest unstable release


Legend: Old version Older version, still supported Latest version Latest preview version

Relation with Linux distributions


Most Linux users run a kernel supplied by their Linux distribution. Some distributions ship the "vanilla" or "stable" kernels.
However, several Linux distribution vendors (such as Red Hat and Debian) maintain another set of Linux kernel branches which are
integrated into their products. These are usually updated at a slower pace compared to the "vanilla" branch, and they usually include
all fixes from the relevant "stable" branch, but at the same time they can also add support for drivers or features which had not been
released in the "vanilla" version the distribution vendor started basing their branch from.
Source code management
The Linux kernel development community uses Git to manage the kernel source code. Linus Torvalds initially developed this version
control system with speed in mind and as a distributed system. Git users can obtain the latest pushed version of Torvalds' tree and
keep up to date with the official kernel tree using the git pull.[368] The kernel source code is distributed in GNU zip (gzip) and bzip2
format. Source code contributions by developers are submitted as patches and incremental changes to the kernel source code means
[369]
developers can seamlessly move from one Linux kernel version to the next.

Legal aspects

GPLv2 licensing terms


The Linux kernel is released under the GNU General Public License version 2 (GPLv2),[14][15] with some firmware images released
under various non-free licenses.[6] Initially, Torvalds released Linux under a license which forbade any commercial use.[370] This
was changed in version 0.12 by a switch to the GNU General Public License version 2 (GPLv2).[19] This license allows distribution
and sale of possibly modified and unmodified versions of Linux but requires that all those copies be released under the same license
and be accompanied by the complete corresponding source code. Torvalds has described licensing Linux under the GPLv2 as the
"best thing I ever did".[370]

The Linux kernel is licensed explicitly only under version 2 of the GPL,[14] without offering the licensee the option to choose "any
later version", which is a common GPL extension. There was considerable debate about how easily the license could be changed to
use later GPL versions (including version 3), and whether this change is even desirable.[371] Torvalds himself specifically indicated
upon the release of version 2.4.0 that his own code is released only under version 2.[372] However, the terms of the GPL state that if
no version is specified, then any version may be used,[373] and Alan Cox pointed out that very few other Linux contributors had
specified a particular version of the GPL.[374]

In September 2006, a survey of 29 key kernel programmers indicated that 28 preferred GPLv2 to the then-current GPLv3 draft.
Torvalds commented, "I think a number of outsiders... believed that I personally was just the odd man out because I've been so
publicly not a huge fan of the GPLv3."[375] This group of high-profile kernel developers, including Torvalds, Greg Kroah-Hartman
and Andrew Morton, commented on mass media about their objections to the GPLv3.[376] They referred to clauses regarding
DRM/tivoization, patents, "additional restrictions" and warned a Balkanisation of the "Open Source Universe" by the
GPLv3.[376][377] Linus Torvalds, who decided not to adopt the GPLv3 for the Linux kernel, reiterated his criticism even years
later.[378]

Loadable kernel modules


It is debated whether loadable kernel modules (LKMs) are to be considered derivative works under copyright law, and thereby fall
under the terms of the GPL.

Torvalds has stated his belief that LKMs using only a limited, "public" subset of the kernel interfaces can sometimes be non-derived
works, thus allowing some binary-only drivers and other LKMs that are not licensed under the GPL. A good example for this is the
usage of dma_buf by the proprietary Nvidia graphics drivers. dma_buf is a recent kernel feature (like the rest of the kernel, it is
licensed under the GPL), which allows multiple GPUs to quickly copy data into each other's framebuffers.[379] One possible use case
would be Nvidia Optimus that pairs a fast GPU with an Intel integrated GPU, where the Nvidia GPU writes into the Intel framebuffer
when it is active. But, Nvidia cannot use this infrastructure because it uses a technical means to enforce the rule that it can only be
used by LKMs that are also GPL. Alan Cox replied on LKML, rejecting a request from one of their engineers to remove this
technical enforcement from the API.[380] Not all Linux kernel contributors agree with this interpretation, however, and even Torvalds
[381]
agrees that many LKMs are clearly derived works, and indeed he writes that "kernel modules ARE derivative 'by default'".
On the other hand, Torvalds has also said that "one gray area in particular is something like a driver that was originally written for
another operating system (i.e. clearly not a derived work of Linux in origin). [...] THAT is a gray area, and _that_ is the area where I
personally believe that some modules may be considered to not be derived works simply because they weren't designed for Linux and
don't depend on any special Linux behaviour".[382] Proprietary graphics drivers, in particular, are heavily discussed. Ultimately, it is
likely that such questions can only be resolved by a court.

Firmware binary blobs


One point of licensing controversy is the use of firmware "binary blobs" in the Linux kernel to support several hardware devices.
These files are under a variety of licenses, out of which many are restrictive and their exact underlying source code is usually
unknown.[6]

In 2002, Richard Stallman stated why, in his point of view, such blobs make the Linux kernel partially non-free software, and that
distributing Linux kernel "violates the GPL", which requires "complete corresponding source code" to be available.[5] In 2008, Free
Software Foundation Latin Americastarted Linux-libre as a project that creates a completely free variant of the Linux kernel without
proprietary objects; it is used by certain completely free Linux distributions, such as
those endorsed by the Free Software Foundation,
while it can also be used on most distributions.[383]

On 15 December 2010, the Debian Project announced that the next Debian stable version "6.0 Squeeze" would come with a kernel
"stripped of all non-free firmware bits".[384] This policy continued to be applied in later stable Debian releases.

Trademark
Linux is a registered trademark of Linus Torvalds in the United States and some other countries. This is the result of an incident in
which William Della Croce, Jr., who was not involved in the Linux project, trademarked the name and subsequently demanded
royalties for its use.[385] Several Linux backers retained legal counsel and filed suit against Della Croce. The issue was settled in
August 1997 when the trademark was assigned to Linus oTrvalds.[386][387]

SCO litigation
In early 2007, SCO filed the specific details of a purported copyright infringement. Despite previous claims that SCO was the rightful
owner of 1 million lines of code, they specified only 326 lines of code, most of which were uncopyrightable.[388] In August 2007, the
court in the Novell case ruled that SCO did not actually own the Unix copyrights, to begin with,[389] though the Tenth Circuit Court
of Appeals ruled in August 2009 that the question of who owned the copyright properly remained for a jury to answer.[390] The jury
.[391]
case was decided on 30 March 2010 in Novell's favour

See also
Comparison of operating system kernels
macOS
Microkernel
Microsoft Windows

References
1. "Linux Logos and Mascots"(https://web.archive.org/web/20100815085106/http://www .linux.org/info/logos.html).
Linux Online. 2008. Archived fromthe original (http://www.linux.org/info/logos.html)on 15 August 2010. Retrieved
11 August 2009.
2. The Linux Kernel Open Source Project on Open Hub: Languages Page
(https://www.openhub.net/p/linux/analyses/la
test/languages_summary)
3. Kroah-Hartman, Greg (17 May 2019). "Linux 5.1.3" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/01258.html)
.
LKML (Mailing list). Retrieved 20 May 2019.
4. Torvalds, Linus (19 May 2019). "Linux 5.2-rc1" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/02345.html)
. LKML
(Mailing list). Retrieved 20 May 2019.
5. Stallman, Richard (2002). "Linux, GNU, and freedom"(https://www.gnu.org/philosophy/linux-gnu-freedom.html). Free
Software Foundation. Retrieved 21 February 2007.
6. "kernel/git/stable/linux-stable.git"(https://archive.is/20130113003817/http://git.kernel.org/?p=linux/kernel/git/stable/lin
ux-stable.git;a=blob;f=firmware/WHENCE;hb=HEAD) . git.kernel.org. 16 October 2002. Archived fromthe original (htt
ps://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=blob;f=firmware/WHENCE;hb=HEAD) on 13 January
2013. Retrieved 21 August 2012. "path: root/firmware/WHENCE"
7. "README" (https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=README;h=90a07658ede148403
46eee6610648bcf4ec79997;hb=f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b) . git.kernel.org. Retrieved
12 November 2010.
8. "TOP500 Supercomputer Sites: Operating system Family / Linux" (http://www.top500.org/statistics/details/osfam/1).
Top500.org. Retrieved 13 November 2017.
9. Richardson, Marjorie (1 November 1999)."Interview: Linus Torvalds" (http://www.linuxjournal.com/article/3655).
Linux Journal. Retrieved 20 August 2009.
10. Williams, Sam (March 2002). "Chapter 9: The GNU General Public License". Free as in Freedom: Richard
Stallman's Crusade for Free Software(http://www.oreilly.com/openbook/freedom/ch09.html). O'Reilly. ISBN 0-596-
00287-4. Retrieved 12 November 2010.
11. Unix System Laboratories v. Berkeley Software, 832 F. Supp. 790 (https://www.leagle.com/decision/19931622832fsu
pp79011506) (D.N.J. 1993).
12. Kroah-Hartman, Greg."The Linux Kernel Driver Interface"(https://web.archive.org/web/20161221071118/https://ww
w.kernel.org/doc/Documentation/stable_api_nonsense.txt). Linux Kernel Documentation. Archived from the original
(https://www.kernel.org/doc/Documentation/stable_api_nonsense.txt)on 21 December 2016. Retrieved 20 January
2016.
13. Torvalds, Linus (25 September 2006)."Re: GPLv3 Position Statement"(https://lkml.org/lkml/2006/9/25/161). LKML
(Mailing list).
14. "Linux Kernel Copying"(https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=COPYING)
. Retrieved
25 September 2013.
15. Torvalds, Linus (8 September 2000). "Linux-2.4.0-test8" (http://lkml.iu.edu/hypermail/linux/kernel/0009.1/0096.html)
.
LKML (Mailing list). lkml.iu.edu. Retrieved 21 November 2015.
16. Torvalds, Linus Benedict(26 August 1991). "What would you like to see most in minix?"(https://groups.google.com/g
roup/comp.os.minix/msg/b813d52cbc5a044b) . Newsgroup: comp.os.minix (news:comp.os.minix).
Usenet: 1991Aug25.205708.9541@klaava.Helsinki.FI(news:1991Aug25.205708.9541@klaava.Helsinki.FI) .
17. Torvalds, Linus Benedict(5 October 1991). "Free minix-like kernel sources for 386-A
T" (https://groups.google.com/gr
oup/comp.os.minix/msg/2194d253268b0a1b). Newsgroup: comp.os.minix (news:comp.os.minix).
Usenet: 1991Oct5.054106.4647@klaava.Helsinki.FI(news:1991Oct5.054106.4647@klaava.Helsinki.FI) .
18. Christine Bresnahan & Richard Blum (2016).LPIC-2: Linux Professional Institute Certification Study Guide: Exam
201 and Exam 202. John Wiley & Sons. p. 107.ISBN 9781119150794.
19. Torvalds, Linus. "Release Notes for Linux v0.12"(https://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELN
OTES-0.12). The Linux Kernel Archives. Retrieved 21 February 2007.
20. Summers, David W. (19 January 1992). "Troubles with Partitions"(https://groups.google.com/group/alt.os.linux/msg/
c638df159fa15159). Newsgroup: alt.os.linux (news:alt.os.linux).
Usenet: 1992Jan19.085628.18752@cseg01.uark.edu(news:1992Jan19.085628.18752@cseg01.uark.edu) .
Retrieved 7 January 2007.
21. Clegg, Alan B. (31 March 1992)."It's here!" (https://groups.google.com/group/comp.os.linux/msg/81fe3618c4803d1
e). Newsgroup: comp.os.linux (news:comp.os.linux). Usenet: 1992Mar31.131811.19832@rock.concert.net(news:19
92Mar31.131811.19832@rock.concert.net). Retrieved 7 January 2007.
22. "Appendix A: The Tanenbaum-Torvalds Debate". Open Sources: Voices from the Open SourceRevolution (http://ww
w.oreilly.com/catalog/opensources/book/appa.html). O'Reilly. 1999. ISBN 1-56592-582-3. Retrieved 22 November
2006.
23. Tanenbaum, Andy (29 January 1992). "LINUX is obsolete" (https://groups.google.com/group/comp.os.minix/msg/f44
7530d082cd95d). Newsgroup: comp.os.minix (news:comp.os.minix). Usenet: 12595@star.cs.vu.nl (news:12595@st
ar.cs.vu.nl). Retrieved 10 May 2006.
24. Torvalds, Linus (9 May 2006). "Hybrid kernel, not NT"(http://www.realworldtech.com/forums/index.cfm?action=detail
&id=66630&threadid=66595&roomid=11). Retrieved 6 January 2007.
25. Tanenbaum, Andy (12 May 2006). "Tanenbaum-Torvalds Debate: Part II"(http://www.cs.vu.nl/~ast/reliable-os/). VU
University Amsterdam. Retrieved 6 January 2007.
26. Christine Bresnahan & Richard Blum (2016).LPIC-2: Linux Professional Institute Certification Study Guide: Exam
201 and Exam 202. John Wiley & Sons. p. 107.ISBN 9781119150794.
27. Christine Bresnahan & Richard Blum (2016).LPIC-2: Linux Professional Institute Certification Study Guide: Exam
201 and Exam 202. John Wiley & Sons. p. 107.ISBN 9781119150794.
28. Christine Bresnahan & Richard Blum (2016).LPIC-2: Linux Professional Institute Certification Study Guide: Exam
201 and Exam 202. John Wiley & Sons. p. 108.ISBN 9781119150794.
29. Fred Hantelmann (2016).LINUX Start-up Guide: A self-contained introduction
. Springer Science & Business Media.
p. 1. ISBN 9783642607493.
30. Fred Hantelmann (2016).LINUX Start-up Guide: A self-contained introduction
. Springer Science & Business Media.
p. 16. ISBN 9783642607493.
31. "Linux Distributions Timeline" (https://github.com/FabioLolix/LinuxTimeline). FabioLolix. Retrieved 17 November
2018.
32. Fred Hantelmann (2016).LINUX Start-up Guide: A self-contained introduction
. Springer Science & Business Media.
p. 1-2. ISBN 9783642607493.
33. Fred Hantelmann (2016).LINUX Start-up Guide: A self-contained introduction
. Springer Science & Business Media.
p. 16. ISBN 9783642607493.
34. Fred Hantelmann (2016).LINUX Start-up Guide: A self-contained introduction
. Springer Science & Business Media.
p. 1-2. ISBN 9783642607493.
35. Christine Bresnahan & Richard Blum (2016).LPIC-2: Linux Professional Institute Certification Study Guide: Exam
201 and Exam 202. John Wiley & Sons. p. 108.ISBN 9781119150794.
36. Offline, Jeremy (13 October 2001)."Kernel Release Numbering Redux"(https://web.archive.org/web/201011241834
05/http://kerneltrap.org/Linux/Kernel_Release_Numbering_Redux)
. KernelTrap. Archived from the original (http://ker
neltrap.org/Linux/Kernel_Release_Numbering_Redux)on 24 November 2010. Retrieved 30 October 2010.
37. Torvalds, Linus. "RFD: Kernel release numbering"(https://lkml.org/lkml/2005/3/2/247). LKML (Mailing list). LKML.
Retrieved 30 October 2010.
38. Jeremy (4 August 2006)."Linux: 2.6.16.y Lives On"(https://web.archive.org/web/20100914234714/http://kerneltrap.o
rg/node/6930). KernelTrap. Archived from the original (http://kerneltrap.org/node/6930)on 14 September 2010.
Retrieved 30 October 2010.
39. Kroah-Hartman, Greg (3 August 2006). "Adrian Bunk is now taking over the 2.6.16-stable branch"(http://lkml.iu.edu/
hypermail/linux/kernel/0608.0/1111.html). LKML (Mailing list). Retrieved 21 February 2015.
40. Jeremy (23 March 2006)."Linux: Maintaining A 2.6.16.y Tree" (https://web.archive.org/web/20100620015441/http://k
erneltrap.org/node/6386). KernelTrap. Archived from the original (http://kerneltrap.org/node/6386)on 20 June 2010.
Retrieved 30 October 2010.
41. Bunk, Adrian (11 October 2008)."Linux 2.6.27 will be a longtime supported kernel"(http://marc.info/?l=linux-kernel&
m=122375909403298&w=2). LKML (Mailing list). Retrieved 30 October 2010.
42. Kroah-Hartman, Greg (8 September 2009)."Re: 2.6.27 maintenance plans after 2.6.32 is released"(http://marc.inf
o/?l=linux-kernel&m=125245118518458). LKML (Mailing list).
43. "This Just Isn't Working Any More" (https://web.archive.org/web/20080127062120/http://kerneltrap.org/Linux/2.6.23-r
c6-mm1_This_Just_Isnt_Working_Any_More). kerneltrap.org. 18 September 2007. Archived fromthe original (http://
kerneltrap.org/Linux/2.6.23-rc6-mm1_This_Just_Isnt_W orking_Any_More) on 27 January 2008.
44. Rothwell, Stephen (12 February 2008)."Announce: Linux-next (Or Andrew's dream :-))"(https://lkml.org/lkml/2008/2/
11/512). LKML (Mailing list). Retrieved 30 October 2010.
45. Corbet, Jonathan (21 October 2010)."linux-next and patch management process"(https://lwn.net/Articles/269120/).
LWN.net. Eklektix, Inc. Retrieved 30 October 2010.
46. "The Linux Kernel Archives"(http://www.kernel.org). Kernel.org. Retrieved 22 January 2014.
47. Linux Kernel Mailing List (17 June 2005)."Linux 2.6.12" (http://marc.info/?l=git-commits-head&m=11190421691173
1). git-commits-head (Mailing list).
48. Kroah-Hartman, Greg (April 2008). "Linux Kernel Development: How Fast it is Going, Who is Doing It, What They
are Doing, and Who is Sponsoring It"(http://go.linuxfoundation.org/who-writes-linux-2012)
.
49. Christine Bresnahan & Richard Blum (2016).LPIC-2: Linux Professional Institute Certification Study Guide: Exam
201 and Exam 202. John Wiley & Sons. p. 108.ISBN 9781119150794.
50. Ryan Paul (4 March 2012)."Linux kernel in 2011: 15 million total lines of code and Microsoft is a top contributor"
(htt
ps://arstechnica.com/information-technology/2012/04/linux-kernel-in-2011-15-million-total-lines-of-code-and-microsof
t-is-a-top-contributor/). arsTechnica. Retrieved 30 March 2019.
51. Christine Bresnahan & Richard Blum (2016).LPIC-2: Linux Professional Institute Certification Study Guide: Exam
201 and Exam 202. John Wiley & Sons. p. 108.ISBN 9781119150794.
52. "The Linux Foundation Releases Linux Development Report"(https://web.archive.org/web/20160719042639/https://
www.linuxfoundation.org/news-media/announcements/2015/02/linux-foundation-releases-linux-development-report) .
Linux Foundation. 18 February 2015. Archived fromthe original (http://www.linuxfoundation.org/news-media/announ
cements/2015/02/linux-foundation-releases-linux-development-report)on 19 July 2016. Retrieved 20 February 2015.
53. Michael Larabel (23 June 2014)."Linux Kernel At 19.5 Million Lines Of Code, Continues Rising"(https://www.phoroni
x.com/scan.php?page=news_item&px=Linux-19.5M-Stats) . Phoronix. Retrieved 23 June 2015.
54. Fred Hantelmann (2016).LINUX Start-up Guide: A self-contained introduction
. Springer Science & Business Media.
p. 16. ISBN 9783642607493.
55. "Gartner Says Sales of Tablets Will Represent Less Than 10 Percent of All Devices in 2014"(http://www.gartner.co
m/newsroom/id/2875017)(Press release). Egham, UK: Gartner. 15 October 2014. Retrieved 19 October 2014.
56. Lunden, Ingrid (15 October 2014)."Tablet Sales Growth Plummets In 2014 As Android Smartphones Continue To
Soar: Gartner" (https://techcrunch.com/2014/10/15/tablet-sales-growth-plummets-in-2014-as-android-smartphones-c
ontinue-to-soar-gartner). TechCrunch. AOL. Retrieved 23 October 2014.
57. "Global PC Shipments Exceed Forecast with Mild Improvement in Consumer Demand, While Apple Moves to #5
Spot, According to IDC"(https://web.archive.org/web/20141011215307/http://www
.idc.com/getdoc.jsp?containerId=p
rUS25187214) (Press release). Framingham, MA: IDC. 8 October 2014. Archived fromthe original (http://www.idc.co
m/getdoc.jsp?containerId=prUS25187214)on 11 October 2014. Retrieved 19 October 2014.
58. Anthony, Sebastian (29 September 2014)."Shellshock: A deadly new vulnerability that could lay waste to the internet
(updated)" (http://www.extremetech.com/computing/190959-shellshock-a-deadly-new-vulnerability-that-could-lay-wa
ste-to-the-internet). ExtremeTech. Ziff Davis. Retrieved 23 October 2014. "most consumer routers run an embedded
version of Linux"
59. "FAQ: Preemption" (http://kernelnewbies.org/FAQ/Preemption). kernelnewbies.org. 22 August 2009. Retrieved
7 May 2015.
60. Jonathan Corbet (24 February 2003)."Driver porting: the preemptible kernel"(https://lwn.net/Articles/22912/).
LWN.net. Retrieved 7 May 2015.
61. Jake Edge (25 November 2008)."Character devices in user space"(https://lwn.net/Articles/308445/). LWN.net.
Retrieved 7 May 2015.
62. Jonathan Corbet (2 May 2007)."UIO: user-space drivers"(https://lwn.net/Articles/232575/). LWN.net. Retrieved
7 May 2015.
63. Kroah-Hartman, Greg. "The Linux Kernel Driver Interface"(https://archive.is/20131104101751/https://git.kernel.org/c
git/linux/kernel/git/torvalds/linux.git/tree/Documentation/stable_api_nonsense.txt). Archived from the original (https://g
it.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/stable_api_nonsense.txt)
on 4 November 2013.
64. Nguyen, Binh (30 July 2004)."Linux Filesystem Hierarchy: Chapter 1. Linux Filesystem Hierarchy"(http://tldp.org/LD
P/Linux-Filesystem-Hierarchy/html/index.html)
. The Linux Documentation Project. Retrieved 28 November 2012.
65. Kubbilun, Ingo A. (2 June 2004)."Linux kernel patch for Intel Compiler"(https://web.archive.org/web/2011072209003
1/http://www.pyrillion.org/index.html?showframe=linuxkernelpatch.html)(in German). Pyrillion.org. Archived fromthe
original (http://www.pyrillion.org/index.html?showframe=linuxkernelpatch.html)on 22 July 2011. Retrieved
12 November 2010.
66. timothy (26 February 2009)."High Performance Linux Kernel Project — LinuxDNA"(http://linux.slashdot.org/article.p
l?sid=09/02/26/2216241). Slashdot Linux. Dice Holdings. Retrieved 30 October 2010.
67. Ryan, Justin (25 February 2009)."LinuxDNA Supercharges Linux with the Intel C/C++ Compiler"(http://www.linuxjou
rnal.com/content/linuxdna-supercharges-linux-intel-cc-compiler)
. Linux Journal. Belltown Media, Inc. Retrieved
30 October 2010.
68. Lelbach, Bryce (25 October 2010)."Clang builds a working Linux Kernel (Boots to RL5 with SMP , networking and X,
self hosts)" (https://web.archive.org/web/20150907044958/http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/01
1711.html). cfe-dev (Mailing list). Archived fromthe original (http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/0
11711.html) on 7 September 2015.
69. Larabel, Michael (12 April 2014). "Linux 3.15 Can Almost Be Compiled Under LL VM's Clang" (https://www.phoronix.c
om/scan.php?page=news_item&px=MTY2MjY) . Phoronix. Retrieved 10 June 2014.
70. Larabel, Michael. "Patch By Patch, LLVM Clang Gets Better AtBuilding The Linux Kernel"(https://www.phoronix.co
m/scan.php?page=news_item&px=MTY2MjY) . Phoronix. Retrieved 20 November 2014.
71. Edge, Jake (7 May 2013)."LFCS: The LLVMLinux project" (https://lwn.net/Articles/549203/). LWN.net. Retrieved
3 March 2015.
72. Möller, Jan-Simon (2 February 2014)."LLVMLinux: The Linux Kernel with Dragon Wings" (http://llvm.org/devmtg/201
4-02/slides/moller-llvmlinux.pdf)(PDF). LLVM Project. Retrieved 3 March 2015.
73. Deucher, Alex (7 October 2014)."AMD's New Unified Open Source Driver"(http://wiki.x.org/wiki/Events/XDC2014/X
DC2014DeucherAMD/). X.Org Foundation. Retrieved 21 January 2015.
74. Greg Kroah-Hartman. "The Linux Kernel Driver Interface"(https://archive.is/20131104101751/https://git.kernel.org/cg
it/linux/kernel/git/torvalds/linux.git/tree/Documentation/stable_api_nonsense.txt)
. Archived from the original (https://gi
t.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/stable_api_nonsense.txt)
on 4 November 2013.
Retrieved 10 April 2015.
75. "About mac80211" (https://wireless.wiki.kernel.org/en/developers/Documentation/mac80211)
. Linux Kernel
Organization, Inc. Retrieved 8 June 2014.
76. "Report on ABI changes in the Linux kernel"(http://abi-laboratory.pro/tracker/timeline/linux/). Andrey Ponomarenko's
ABI laboratory. 17 March 2016.
77. Werner Fischer; Georg Schönberger (1 June2015). "Linux Storage Stack Diagram"(https://www.thomas-krenn.com/
en/wiki/Linux_Storage_Stack_Diagram). Thomas-Krenn AG. Retrieved 8 June 2015.
78. Bovet, Daniel P.; Cesati, Marco (October 2000). "Chapter 10: Process Scheduling".Understanding the Linux Kernel
(https://web.archive.org/web/20140921000832/http://oreilly .com/catalog/linuxkernel/chapter/ch10.html). O'Reilly.
ISBN 0-596-00002-2. Archived from the original (http://oreilly.com/catalog/linuxkernel/chapter/ch10.html) on 21
September 2014. Retrieved 15 October 2011.
79. Santhanam, Anand (23 September 2003)."Towards Linux 2.6, A look into the workingsof the next new kernel"(http
s://web.archive.org/web/20130927200239/http://www .ibm.com/developerworks/linux/library/l-inside/index.html)
. IBM
Global Services. Archived from the original (http://www.ibm.com/developerworks/linux/library/l-inside/index.html)on
27 September 2013. Retrieved 15 October 2011.
80. Bar, Moshe (1 April 2000)."The Linux Scheduler" (http://www.linuxjournal.com/article/3910). Linux Journal. Belltown
Media, Inc. Retrieved 14 April 2012.
81. Molnár, Ingo (13 April 2007). "[patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]"
(https://lwn.net/
Articles/230501/). LKML (Mailing list). Retrieved 14 April 2012.
82. "IEEE Standard for Information Technology – Portable Operating System Interface, POSIX.1b, Real-time extensions
(IEEE Std 1003.1b-1993)"(http://www.opengroup.org/onlinepubs/009695399).
83. McKenney, Paul (10 August 2005)."A realtime preemption overview"(https://lwn.net/Articles/146861/). LWN.net.
Retrieved 5 February 2012.
84. "OSADL Project: Realtime Linux"(https://www.osadl.org/Realtime-Linux.projects-realtime-linux.0.html). OSADL.
Retrieved 5 February 2012.
85. Bergmann, Arnd (5 March 2011)."BKL: That's all, folks" (https://archive.is/20120720043351/http://git.kernel.org/?p=li
nux/kernel/git/torvalds/linux-2.6.git;a=commitdif
f;h=4ba8216cd90560bc402f52076f64d8546e8aefcb) . Linux Kernel
Organization, Inc. Archived fromthe original (https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitd
iff;h=4ba8216cd90560bc402f52076f64d8546e8aefcb) on 20 July 2012. Retrieved 20 February 2012.
86. Larabel, Michael (24 January 2014). "The Linux 3.14 Kernel Already Has Many Exciting Features"(https://www.phor
onix.com/scan.php?page=news_item&px=MTU4Mjg) . Phoronix. Retrieved 3 February 2014.
87. "Linux kernel 3.14, Section 1.1. Deadline scheduling class for better real-time scheduling"
(http://kernelnewbies.org/L
inux_3.14#head-651929cdcf19cc2e2cfc7feb16b78ef963d195fe) . kernelnewbies.org. 30 March 2014. Retrieved
2 April 2014.
88. Torvalds, Linus (January 1999). "The Linux Edge".Open Sources: Voices from the Open SourceRevolution (http://w
ww.oreilly.com/openbook/opensources/book/linus.html). O'Reilly. ISBN 1-56592-582-3. Retrieved 13 October 2013.
89. "Porting Linux to the DEC Alpha: The Kernel and Shell"(http://www.linuxjournal.com/article/1178?page=0,1).
90. "Linux on Alpha: A Strategic Choice"(http://www.linuxjournal.com/article/1150?page=0,0).
91. Wang, David (6 May 2010)."Android Now Running On iPhone 3G"(http://www.pcworld.com/article/195789/android_
now_running_on_iphone_3g.html). TechHive. IDG. Retrieved 11 July 2010.
92. "The state of preempt-rt"(https://web.archive.org/web/20161015044835/https://linuxplumbersconf.org/ocw/proposal
s/49). linuxplumbersconf.org. Archived from the original (https://linuxplumbersconf.org/ocw/proposals/49)on 15
October 2016. Retrieved 14 June 2016.
93. Meyer, David (3 February 2010)."Linux developer explains Android kernel code removal"(http://www.zdnet.com/arti
cle/linux-developer-explains-android-kernel-code-removal/)
. ZDNet. CBS Interactive. Retrieved 3 February 2010.
94. "Chapter 03: maemo Platform Overview".maemo Technology Overview (https://web.archive.org/web/200806161913
10/http://maemo.org/maemo_training_material/maemo4.x/html/maemo_T echnology_Overview/Chapter_03_maemo_
Platform_Overview.html). Nokia. 2008. Archived from the original (http://maemo.org/maemo_training_material/maem
o4.x/html/maemo_Technology_Overview/Chapter_03_maemo_Platform_Overview.html) on 16 June 2008. Retrieved
9 April 2010.
95. Kroah-Hartman, Greg (2 February 2010)."Android and the Linux kernel community"(http://www.kroah.com/log/linux/
android-kernel-problems.html). Retrieved 3 February 2010.
96. Roger Ye (2017). Android System Programming. Packt Publishing. p. 14.ISBN 9781787120389.
97. Roger Ye (2017). Android System Programming. Packt Publishing. p. 14.ISBN 9781787120389.
98. Bradford, John (8 March 2003)."Re: what's an OOPS" (http://lkml.iu.edu/hypermail/linux/kernel/0303.1/0009.html)
.
LKML (Mailing list). Retrieved 30 October 2010.
99. "kerneloops(8) - Linux man page"(http://linux.die.net/man/8/kerneloops). Linux.die.net. Retrieved 30 October 2010.
100. "Features/ABRTF12" (http://fedoraproject.org/wiki/Features/ABRTF12). FedoraProject. 3 August 2009. Retrieved
30 October 2010.
101. "Kerneloops.org" (http://www.kerneloops.org). Kerneloops.org. Retrieved 5 March 2014.
102. "Linux kernel 4.0, Section 1.2. Live patching"(http://kernelnewbies.org/Linux_4.0#head-9aa7c8499b42911a48c02b2
4f367bf2bc6db8606). kernelnewbies.org. 26 April 2015. Retrieved 27 April 2015.
103. Jonathan Corbet (25 February 2015)."A rough patch for live patching"(https://lwn.net/Articles/634649/). LWN.net.
Retrieved 27 April 2015.
104. "kernel/git/torvalds/linux.git: Pull live patching infrastructure from Jiri Kosina (Linux kernel source tree)"
(https://git.ker
nel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1d9c5d79e6e4385aea6f69c23ba543717434ed70) .
kernel.org. 11 February 2015. Retrieved 27 April 2015.
105. Mookhey, K. K.; Burghate, Nilesh (1 July 2005). Linux: Security, Audit and Control Features(https://books.google.co
m/books?id=-kD0sxQ0EkIC&pg=PA14). USA: ISACA. p. 14. ISBN 1-893209-78-4. Retrieved 31 December 2010.
106. Hatch, Brian (15 July 2008).Hacking Exposed Linux: Linux Security Secrets and Solutions(https://books.google.co
m/books?id=f5Vz08spzw8C&pg=PA524). McGraw-Hill Osborne Media. p. 524. ISBN 0-07-226257-5. Retrieved
31 December 2010.
107. Jaeger, Trent (7 October 2008).Operating System Security(https://books.google.com/books?id=P4PYPSv8nBMC&
pg=PA122). Morgan and Claypool Publishers. p. 122.ISBN 1-59829-212-9. Retrieved 31 December 2010.
108. Andrews, Jeremy (16 July 2008)."Security Bugs and Full Disclosure"(https://web.archive.org/web/2008071913043
6/http://kerneltrap.org/Linux/Security_Bugs_and_Full_Disclosure)
. KernelTrap. Archived from the original (http://kern
eltrap.org/Linux/Security_Bugs_and_Full_Disclosure)on 19 July 2008. Retrieved 31 December 2010.
109. Spengler, Brad (16 July 2008). "Linux's unofficial security-through-coverup policy" (http://seclists.org/fulldisclosure/20
08/Jul/276). Full Disclosure (Mailing list). Retrieved 31 December 2010.
110. "Kernel 1.0 Source Code Release"(https://www.kernel.org/pub/linux/kernel/v1.0/). Retrieved 7 October 2008.
111. "Kernel 1.2 Source Code Release"(https://www.kernel.org/pub/linux/kernel/v1.2/). Retrieved 27 October 2008.
112. Torvalds, Linus (9 June 1996). "Linux 2.0 really _is_ released."(http://lkml.iu.edu/hypermail/linux/kernel/9606.1/0056.
html) LKML (Mailing list). Retrieved 8 March 2015.
113. Torvalds, Linus (20 January 1999). "2.2.0-final" (http://lkml.iu.edu/hypermail/linux/kernel/9901.2/1084.html)
. LKML
(Mailing list). Retrieved 8 March 2015.
114. "The Wonderful World of Linux 2.2" (http://kniggit.net/wonderful-world-linux/wonderful-world-linux-2-2/)
. 26 January
1999. Retrieved 27 October 2008.
115. Torvalds, Linus (4 January 2001). "And oh, btw." (http://lkml.iu.edu/hypermail/linux/kernel/0101.0/0776.html)LKML
(Mailing list). Retrieved 8 March 2015.
116. "The Wonderful World of Linux 2.4" (http://kniggit.net/wwol24.html). Retrieved 27 October 2008.
117. Torvalds, Linus (17 December 2003). "Linux 2.6.0" (http://lkml.iu.edu/hypermail/linux/kernel/0312.2/0348.html)
. LKML
(Mailing list). Retrieved 28 February 2015.
118. "proc(5) - Linux manual page"(http://man7.org/linux/man-pages/man5/proc.5.html)(see /proc/sys/kernel/pid_max).
119. "Index of /pub/linux/kernel/v2.6"(https://www.kernel.org/pub/linux/kernel/v2.6/). Kernel.org. Retrieved 2 March 2014.
120. Torvalds, Linus (21 July 2011). "Linux 3.0 release" (http://lkml.indiana.edu/hypermail/linux/kernel/1107.2/01843.html)
.
Linux kernel mailing list. Retrieved 16 May 2013.
121. Torvalds, Linus (30 May 2011). "Linux 3.0-rc1" (https://web.archive.org/web/20110531232747/http://permalink.gman
e.org/gmane.linux.kernel/1147415). LKML (Mailing list). Archived fromthe original (http://permalink.gmane.org/gman
e.linux.kernel/1147415)on 31 May 2011. Retrieved 1 July 2013.
122. Vaughan-Nichols, Steven J. (13 December 2012). "Good-Bye 386: Linux to drop support for i386 chips with next
major release" (http://www.zdnet.com/article/good-bye-386-linux-to-drop-support-for-i386-chips-with-next-major-relea
se/). ZDNet. CBS Interactive. Retrieved 6 February 2013.
123. Fingas, Jon (15 December 2012)."Linux to drop i386 support in the 3.8 kernel, make us upgrade our Doom rig"
(http
s://www.engadget.com/2012/12/15/linux-to-drop-i386-support-in-the-3-8-kernel/). Engadget. AOL. Retrieved
22 March 2015.
124. Vaughan-Nichols, Steven J. (11 December 2012). "Linux 3.7 arrives, ARM developers rejoice"(http://www.zdnet.co
m/linux-3-7-arrives-arm-developers-rejoice-7000008638/)
. ZDNet. CBS Interactive. Retrieved 6 February 2013.
125. Torvalds, Linus (2 September 2013). "Linux 3.11" (http://lkml.iu.edu/hypermail/linux/kernel/1309.0/00650.html)
. LKML
(Mailing list). Retrieved 3 September 2013.
126. "Linux 3.11" (http://kernelnewbies.org/Linux_3.11). kernelnewbies.org. 2 September 2013. Retrieved 21 January
2014.
127. "LKML: Linus Torvalds: Linux 4.15" (https://lkml.org/lkml/2018/1/28/173). lkml.org.
128. Torvalds, Linus (12 April 2015). "Linux 4.0 released" (https://lkml.org/lkml/2015/4/12/178). LKML (Mailing list).
Retrieved 12 April 2015.
129. Marti, Don. "Are top Linux developers losing the will to code?"(http://www.computerworlduk.com/applications/are-top
-linux-developers-losing-the-will-to-code-604/)
. ComputerworldUK. Retrieved 24 October 2016.
130. "How the development process works"(https://www.kernel.org/doc/html/latest/process/2.Process.html). Retrieved
4 February 2018.
131. Robert Love (2010). Linux Kernel Development: Linux Kernel Development
. Pearson Education. p. 13.
ISBN 9780768696790.
132. Gene Sally (2010). Pro Linux Embedded Systems. Apress. p. 252. ISBN 9781430272267.
133. "Code of Conflict" (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/code-o
f-conflict.rst). Retrieved 4 February 2018.
134. Sharwood, Simon (6 October 2015)."Linux kernel dev who asked Linus T orvalds to stop verbal abuse quits over
verbal abuse" (https://www.theregister.co.uk/2015/10/06/linix_kernel_dev_who_asked_linus_torvalds_to _stop_swear
ing_quits_over_swearing/). The Register.
135. Edge, Jake (31 January 2018)."Too many lords, not enough stewards"(https://lwn.net/Articles/745817/). LWN.net.
Retrieved 4 February 2018.
136. Corbet, Jonathan (6 November 2017)."Bash the kernel maintainers"(https://lwn.net/Articles/738222/). LWN.net.
Retrieved 4 February 2018.
137. "Why I quit: kernel developer Con Kolivas"(https://web.archive.org/web/20110707151924/http://apcmag.com/why_i_
quit_kernel_developer_con_kolivas.htm). APC Magazine. ACP Magazines. 24 July 2007. Archived fromthe original
(http://apcmag.com/node/6735/)on 7 July 2011. Retrieved 15 August 2011.
138. Corbet, Jonathan (25 July 2007)."Re: -mm merge plans for 2.6.23"(https://lwn.net/Articles/242768/). LWN.net.
Retrieved 10 February 2018.
139. Cox, Alan (28 July 2009)."Re: [PATCH] kdesu broken" (https://lkml.org/lkml/2009/7/28/375). Retrieved 10 February
2018.
140. Rodrigues, Goldwyn (22 January 2011)."A tale of two SCSI targets"(https://lwn.net/Articles/424004/). Retrieved
14 February 2018.
141. Steinmetz, Andreas (17 January 2013)."LIO - the broken iSCSI target implementation"(https://lkml.org/lkml/2013/1/
16/803). Retrieved 14 February 2018.
142. Paul, Ryan (19 June 2012)."Linus Torvalds says "f–k you" to NVIDIA"(https://arstechnica.com/information-technolog
y/2012/06/linus-torvalds-says-f-k-you-to-nvidia/)
. Retrieved 14 February 2018.
143. John Gold (3 April 2014)."Linus Torvalds suspends key Linux developer: Kernel panic as Systemd dev pokes the
bear" (https://www.networkworld.com/article/2175826/linus-torvalds-suspends-key-linux-developer
.html). Retrieved
24 March 2019.
144. Poettering, Lennart (6 October 2014)."On the sickness of the Linux Kernel Community"(https://plus.google.com/+Le
nnartPoetteringTheOneAndOnly/posts/J2TZrTvu7vd) . Google+. Retrieved 10 February 2018.
145. Brodkin, Jon (6 March 2015)."VMware alleged to have violated Linux's open source license for years"
(https://arstec
hnica.com/tech-policy/2015/03/vmware-alleged-to-have-violated-linuxs-open-source-license-for-years/)
. Ars
Technica. Retrieved 14 February 2018.
146. McCarthy, Kieren (26 August 2016)."Having offended everyone else in the world,Linus Torvalds calls own lawyers a
'nasty festering disease' " (https://www.theregister.co.uk/2016/08/26/linus_torvalds_calls_own_lawyers_nasty_feste
ri
ng_disease/). The Register. Retrieved 14 February 2018.
147. Corbet, Jonathan (10 September 2007)."KS2007: Developer relations and development process"(https://lwn.net/Art
icles/249104/). LWN.net. Retrieved 11 February 2018.
148. Brodkin, Jon (16 July 2013)."Linus Torvalds defends his right to shame Linux kernel developers"(https://arstechnic
a.com/information-technology/2013/07/linus-torvalds-defends-his-right-to-shame-linux-kernel-developers/) . ARS
Technica. Retrieved 11 February 2018.
149. Corbet, Jonathan (9 March 2015)."The kernel's code of conflict"(https://lwn.net/Articles/635999/). LWN.net.
Retrieved 11 February 2018.
150. Corbet, Jonathan (18 September 2018)."Code, conflict, and conduct"(https://lwn.net/SubscriberLink/765108/f1a80a
6d6a6ff0f4/). LWN.net.
151. Cohen, Noam (19 September 2018)."After Years of Abusive E-mails, the Creator of Linux Steps Aside" (https://www.
newyorker.com/science/elements/after-years-of-abusive-e-mails-the-creator-of-linux-steps-aside)
. The New Yorker.
152. https://www.phoronix.com/forums/forum/phoronix/general-discussion/1064523-dropping-profanity-in-kernel-code-
comments-linux-gets-hugs
153. "Linux Evolution" (http://www.sprg.uniroma2.it/kernelhacking2008/lectures/lkhc08-01b.pdf)(PDF). 26 March 2008.
154. "Perpetual Development: A Model of the Linux Kernel Life Cycle"(http://www.cs.huji.ac.il/~feit/papers/LinuxDev12JS
S.pdf) (PDF). 25 October 2011.
155. Kroah-Hartman, Greg (12 February 2008)."Re: Announce: Linux-next (Or Andrew's dream :-))"(http://lkml.iu.edu/hy
permail/linux/kernel/0802.1/2159.html). Linux Kernel Mailing List(Mailing list). Retrieved 30 January 2017.
156. Wheeler, David A. "Linux Kernel 2.6: It's Worth More!" (http://www.dwheeler.com/essays/linux-kernel-cost.html).
157. "Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector"
(http://ec.europa.eu/enterpris
e/sectors/ict/files/2006-11-20-flossimpact_en.pdf)(PDF) (Table 3 on page 50).
158. "Estimating Total Development Cost Of a Linux Distribution" (https://web.archive.org/web/20100711025812/http://ww
w.linuxfoundation.org/publications/estimatinglinux.pdf) (PDF) (Table on page 6). Archived fromthe original (http://ww
w.linuxfoundation.org/publications/estimatinglinux.pdf) (PDF) on 11 July 2010.
159. "The Billion Dollar Kernel"(http://linux.slashdot.org/story/10/02/24/155214/The-Billion-Dollar-Kernel)
.
Linux.slashdot.org. 24 February 2010. Retrieved 12 November 2010.
160. Wheeler, David. "The Linux Kernel: It's Worth More!" (http://www.dwheeler.com/essays/linux-kernel-cost.html).
Retrieved 17 September 2012.
161. "Linux MAINTAINERS file" (https://archive.is/20130112231112/http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.g
it;a=blob;f=MAINTAINERS). Archived from the original (https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=bl
ob;f=MAINTAINERS) on 12 January 2013.
162. Torvalds, Linus (16 September 2018)."Linux 4.19-rc4 released, an apology, and a maintainership note" (https://lkml.
org/lkml/2018/9/16/167). LKML. Retrieved 23 September 2018.
163. Alexandru Vaduva, Alex Gonzalez & Chris Simmonds (2016). Linux: Embedded Development. Packt Publishing.
p. 663. ISBN 9781787124455.
164. "The Linux Kernel Archives"(https://www.kernel.org/). Retrieved 29 March 2019.
165. Torvalds, Linus (10 May 1996). "Century Linux!" (http://lkml.iu.edu/hypermail/linux/kernel/9605.1/0316.html)
. LKML
(Mailing list). Retrieved 29 April 2016.
166. "LATEST-IS-2.0.40" (https://web.archive.org/web/20120713174832/http://ftp.kernel.org/pub/linux/kernel/v2.0/LA TEST
-IS-2.0.40). Archived from the original (ftp://ftp.kernel.org/pub/linux/kernel/v2.0/LA
TEST-IS-2.0.40) on 13 July 2012.
167. Weinehall, David (8 February 2004)."[ANNOUNCE] Linux-kernel 2.0.40 aka 'The Moss-covered ortoise'
T " (https://w
eb.archive.org/web/20061116031834/http://kerneltrap.org/node/2279)
. Archived from the original (http://kerneltrap.or
g/node/2279) on 16 November 2006.
168. "LATEST-IS-2.2.26" (https://web.archive.org/web/20120713141405/http://ftp.kernel.org/pub/linux/kernel/v2.2/LA TEST
-IS-2.2.26). Archived from the original (ftp://ftp.kernel.org/pub/linux/kernel/v2.2/LA
TEST-IS-2.2.26) on 13 July 2012.
169. Petersen, Marc-Christian (13 January 2005)."Linux 2.2.27-rc2" (https://web.archive.org/web/20070630014451/http://
kerneltrap.org/node/4533). Archived from the original (http://kerneltrap.org/node/4533)on 30 June 2007.
170. Petersen, Marc-Christian (25 February 2004)."Linux 2.2.26 aka "2.2 is not dead" released"(http://marc.info/?l=linux-
kernel&m=107766971215138). LKML (Mailing list).
171. McAllister, Neil (24 January 2013)."Kernel hacker Alan Cox quits Linux, Intel"(https://www.theregister.co.uk/2013/0
1/24/alan_cox_quits_linux_development/). The Register. Retrieved 23 September 2018.
172. Tarreau, Willy (18 December 2010)."Linux 2.4.37.11" (https://lkml.org/lkml/2010/12/18/73). LKML (Mailing list).
Retrieved 14 September 2011.
173. Bunk, Adrian (11 October 2008)."Linux 2.6.27 will be a longtime supported kernel"(http://marc.info/?l=linux-kernel&
m=122375909403298). LKML (Mailing list). Retrieved 12 January 2016.
174. Larabel, Michael (26 October 2011)."Linux Foundation Backs Long-Term Support Kernels" (https://www.phoronix.co
m/scan.php?page=news_item&px=MTAwNjA). Phoronix. Phoronix Media. Retrieved 12 January 2016.
175. "What is LTSI?" (https://web.archive.org/web/20141005231742/http://ltsi.linuxfoundation.org/what-is-ltsi).
linuxfoundation.org. The Linux Foundation. Archived from the original (http://ltsi.linuxfoundation.org/what-is-ltsi)on 5
October 2014. Retrieved 12 January 2016.
176. Torvalds, Linus (24 December 2004). "Ho ho ho - Linux v2.6.10"(http://lkml.iu.edu/hypermail/linux/kernel/0412.3/007
2.html). LKML (Mailing list). Retrieved 28 February 2015.
177. Torvalds, Linus (2 March 2005). "Linux 2.6.11" (http://lkml.iu.edu/hypermail/linux/kernel/0503.0/0287.html)
. LKML
(Mailing list). Retrieved 28 February 2015.
178. Wright, Chris (12 June 2005)."Linux 2.6.11.12" (http://lkml.iu.edu/hypermail/linux/kernel/0506.1/1030.html)
. LKML
(Mailing list). Retrieved 28 February 2015.
179. Torvalds, Linus (18 June 2005). "Linux 2.6.12" (https://archive.is/20150228154849/http://lkml.iu.edu/hypermail/linux/k
ernel/0506.2/0404.html). LKML (Mailing list). Archived fromthe original (http://lkml.iu.edu/hypermail/linux/kernel/050
6.2/0404.html) on 28 February 2015. Retrieved 28 February 2015.
180. Wright, Chris (29 August 2005)."Linux 2.6.12.6" (http://lkml.iu.edu/hypermail/linux/kernel/0508.3/1227.html)
. LKML
(Mailing list). Retrieved 28 February 2015.
181. Torvalds, Linus (28 August 2005). "Linux 2.6.13" (http://lkml.iu.edu/hypermail/linux/kernel/0508.3/1073.html)
. LKML
(Mailing list). Retrieved 28 February 2015.
182. Kroah-Hartman, Greg (15 December 2005). "Linux 2.6.13.5" (http://lkml.iu.edu/hypermail/linux/kernel/0512.1/2520.ht
ml). LKML (Mailing list). Retrieved 28 February 2015.
183. Torvalds, Linus (27 October 2005). "Linux 2.6.14" (http://lkml.iu.edu/hypermail/linux/kernel/0510.3/0876.html)
. LKML
(Mailing list). Retrieved 28 February 2015.
184. Kroah-Hartman, Greg (31 January 2006). "Linux 2.6.14.7" (http://lkml.iu.edu/hypermail/linux/kernel/0601.3/2287.htm
l). LKML (Mailing list). Retrieved 28 February 2015.
185. Torvalds, Linus (2 January 2006). "Linux 2.6.15" (http://lkml.iu.edu/hypermail/linux/kernel/0601.0/0281.html)
. LKML
(Mailing list). Retrieved 28 February 2015.
186. Kroah-Hartman, Greg (28 May 2006). "Linux 2.6.15.7" (http://lkml.iu.edu/hypermail/linux/kernel/0603.3/1141.html)
.
LKML (Mailing list). Retrieved 28 February 2015.
187. Torvalds, Linus (20 March 2006). "Linux v2.6.16" (http://lkml.iu.edu/hypermail/linux/kernel/0603.2/1194.html)
. LKML
(Mailing list). Retrieved 22 February 2015.
188. Bunk, Adrian (21 July 2008)."Linux 2.6.16.62" (http://lkml.iu.edu/hypermail/linux/kernel/0807.2/2508.html)
. LKML
(Mailing list). Retrieved 22 February 2015.
189. Kroah-Hartman, Greg (3 August 2006). "Adrian Bunk is now taking over the 2.6.16-stable branch"(https://lkml.org/lk
ml/2006/8/3/271). LKML (Mailing list). Retrieved 12 February 2014.
190. Kroah-Hartman, Greg (8 March 2012). "The 2.6.32 Linux kernel"(http://www.kroah.com/log/linux/2.6.32-stable.html).
Retrieved 1 June 2013.
191. Torvalds, Linus (17 June 2006). "Linux v2.6.17" (http://lkml.iu.edu/hypermail/linux/kernel/0606.2/0335.html)
. LKML
(Mailing list). Retrieved 22 February 2015.
192. Kroah-Hartman, Greg (16 October 2006). "Linux 2.6.17.14" (http://lkml.iu.edu/hypermail/linux/kernel/0610.2/0295.ht
ml). LKML (Mailing list). Retrieved 22 February 2015.
193. Torvalds, Linus (20 September 2006)."Arrr! Linux 2.6.18"
(http://lkml.iu.edu/hypermail/linux/kernel/0609.2/0940.html)
. LKML (Mailing list). Retrieved 22 February 2015.
194. Kroah-Hartman, Greg (23 February 2007). "Linux 2.6.18.8" (http://lkml.iu.edu/hypermail/linux/kernel/0702.2/3139.htm
l). LKML (Mailing list). Retrieved 22 February 2015.
195. Torvalds, Linus (26 November 2006). "Linux 2.6.19" (http://lkml.iu.edu/hypermail/linux/kernel/0611.3/1303.html)
.
LKML (Mailing list). Retrieved 22 February 2015.
196. Kroah-Hartman, Greg (3 March 2007). "Linux 2.6.19.7" (http://lkml.iu.edu/hypermail/linux/kernel/0703.0/0965.html)
.
LKML (Mailing list). Retrieved 22 February 2015.
197. Torvalds, Linus (4 February 2007). "Super Kernel Sunday!"(http://lkml.iu.edu/hypermail/linux/kernel/0702.0/1046.htm
l). LKML (Mailing list). Retrieved 22 February 2015.
198. Tarreau, Willy (17 October 2007)."Linux 2.6.20.21" (http://lkml.iu.edu/hypermail/linux/kernel/0710.2/0891.html)
.
LKML (Mailing list). Retrieved 22 February 2015.
199. Torvalds, Linus (25 April 2007). "Linux 2.6.21" (http://lkml.iu.edu/hypermail/linux/kernel/0704.3/1056.html)
. LKML
(Mailing list). Retrieved 22 February 2015.
200. Kroah-Hartman, Greg (4 August 2007). "Linux 2.6.21.7" (http://lkml.iu.edu/hypermail/linux/kernel/0708.0/1438.html)
.
LKML (Mailing list). Retrieved 22 February 2015.
201. Torvalds, Linus (8 July 2007). "Linux 2.6.22 released"(http://lkml.iu.edu/hypermail/linux/kernel/0707.1/0195.html)
.
LKML (Mailing list). Retrieved 22 February 2015.
202. Kroah-Hartman, Greg (25 February 2008). "Linux 2.6.22.19" (http://lkml.iu.edu/hypermail/linux/kernel/0802.3/0774.ht
ml). LKML (Mailing list). Retrieved 22 February 2015.
203. Torvalds, Linus (9 October 2007). "Linux 2.6.23" (http://lkml.iu.edu/hypermail/linux/kernel/0710.1/0498.html)
. LKML
(Mailing list). Retrieved 22 February 2015.
204. Kroah-Hartman, Greg (25 February 2008). "Linux 2.6.23.17" (http://lkml.iu.edu/hypermail/linux/kernel/0802.3/0772.ht
ml). LKML (Mailing list). Retrieved 22 February 2015.
205. Torvalds, Linus (24 January 2008). "Linux 2.6.24" (http://lkml.iu.edu/hypermail/linux/kernel/0801.3/0406.html)
. LKML
(Mailing list). Retrieved 21 February 2015.
206. Kroah-Hartman, Greg (6 May 2008). "Linux 2.6.24.7" (http://lkml.iu.edu/hypermail/linux/kernel/0805.0/3106.html)
.
LKML (Mailing list). Retrieved 21 February 2015.
207. Torvalds, Linus (16 April 2008). "Linux 2.6.25" (http://lkml.iu.edu/hypermail/linux/kernel/0804.2/0489.html)
. LKML
(Mailing list). Retrieved 21 February 2015.
208. Kroah-Hartman, Greg (10 November 2008). "Linux 2.6.25.20" (http://lkml.iu.edu/hypermail/linux/kernel/0811.1/0074
8.html). LKML (Mailing list). Retrieved 21 February 2015.
209. Torvalds, Linus (13 July 2008). "Linux 2.6.26" (http://lkml.iu.edu/hypermail/linux/kernel/0807.1/2470.html)
. LKML
(Mailing list). Retrieved 21 February 2015.
210. Kroah-Hartman, Greg (10 November 2008). "Linux 2.6.26.8" (http://lkml.iu.edu/hypermail/linux/kernel/0811.1/00751.
html). LKML (Mailing list). Retrieved 21 February 2015.
211. Torvalds, Linus (9 October 2008). "Linux 2.6.27" (http://lkml.iu.edu/hypermail/linux/kernel/0810.1/0755.html)
. LKML
(Mailing list). Retrieved 21 February 2015.
212. Tarreau, Willy (17 March 2012)."Linux 2.6.27.62" (https://lkml.org/lkml/2012/3/17/38). LKML (Mailing list). Retrieved
12 February 2014.
213. Kroah-Hartman, Greg (12 December 2010). "Willy Tarreau is taking over the 2.6.27-longterm kernel release" (https://l
kml.org/lkml/2010/12/12/140). LKML (Mailing list). Retrieved 12 February 2014.
214. Bunk, Adrian (11 October 2008)."Linux 2.6.27 will be a longtime supported kernel"(http://lkml.iu.edu/hypermail/linux/
kernel/0810.1/1566.html). LKML (Mailing list). Retrieved 21 February 2015.
215. Torvalds, Linus (24 December 2008). "Happy v2.6.28" (http://lkml.iu.edu/hypermail/linux/kernel/0812.3/00103.html)
.
LKML (Mailing list). Retrieved 15 February 2015.
216. Kroah-Hartman, Greg (2 May 2009). "Linux 2.6.28.10" (http://lkml.iu.edu/hypermail/linux/kernel/0905.0/00587.html)
.
LKML (Mailing list). Retrieved 15 February 2015.
217. Torvalds, Linus (23 March 2009). "Linux 2.6.29" (http://lkml.iu.edu/hypermail/linux/kernel/0903.2/03548.html)
. LKML
(Mailing list). Retrieved 15 February 2015.
218. Kroah-Hartman, Greg (2 July 2009). "Linux 2.6.29.6" (http://lkml.iu.edu/hypermail/linux/kernel/0907.0/01080.html)
.
LKML (Mailing list). Retrieved 15 February 2015.
219. Torvalds, Linus (9 June 2009). "Linux 2.6.30" (http://lkml.iu.edu/hypermail/linux/kernel/0906.1/01348.html)
. LKML
(Mailing list). Retrieved 15 February 2015.
220. Kroah-Hartman, Greg (5 October 2009). "Linux 2.6.30.9" (http://lkml.iu.edu/hypermail/linux/kernel/0910.0/01918.htm
l). LKML (Mailing list). Retrieved 15 February 2015.
221. Torvalds, Linus (9 September 2009). "Linux 2.6.31" (http://lkml.iu.edu/hypermail/linux/kernel/0909.1/00839.html)
.
LKML (Mailing list). Retrieved 15 February 2015.
222. Kroah-Hartman, Greg (5 July 2010). "Linux 2.6.31.14" (http://lkml.iu.edu/hypermail/linux/kernel/1007.0/01836.html)
.
LKML (Mailing list). Retrieved 15 February 2015.
223. Torvalds, Linus (2 December 2009). "Linux 2.6.32" (https://lkml.org/lkml/2009/12/3/11). LKML (Mailing list). Retrieved
17 May 2013.
224. Tarreau, Willy (12 May 2017)."Linux 2.6.32.71 (EOL)"(https://lkml.org/lkml/2016/3/12/78). LKML (Mailing list).
Retrieved 23 June 2017.
225. "Active kernel releases"(https://www.kernel.org/category/releases.html). Kernel.org. 6 August 2013. Retrieved 3 July
2014.
226. Tarreau, Willy (5 March 2012)."Re: Linux 2.6.32.58" (https://lkml.org/lkml/2012/3/4/141). LKML (Mailing list).
Retrieved 12 February 2014.
227. Walker-Morgan, Dj (5 March 2012)."Maintenance of Linux kernel 2.6.32 is slowing down"(http://www.h-online.com/o
pen/news/item/Maintenance-of-Linux-kernel-2-6-32-is-slowing-down-1463957.html) . The H Open. Heinz Heise.
Retrieved 17 May 2013.
228. "Package: linux-image-2.6-686 (2.6.32+29)"(http://packages.debian.org/squeeze/linux-image-2.6-686)
. Debian.org.
Retrieved 9 July 2014.
229. "Ubuntu Kernel Team Extended Support"(https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable)
. Ubuntu wiki.
Canonical Ltd. Retrieved 30 August 2013.
230. Torvalds, Linus (24 February 2010). "Linux 2.6.33 released"(https://lkml.org/lkml/2010/2/24/301). LKML (Mailing list).
Retrieved 17 May 2013.
231. Kroah-Hartman, Greg (7 November 2011). "Linux 2.6.33.20" (https://web.archive.org/web/20160126231630/http://arti
cle.gmane.org/gmane.linux.kernel/1212299). LKML (Mailing list). Archived fromthe original (http://article.gmane.org/
gmane.linux.kernel/1212299)on 26 January 2016. Retrieved 17 May 2013.
232. Leemhuis, Thorsten (23 March 2011)."Kernel Log: Development of 2.6.39 under way
, series 33 revived" (http://www.
h-online.com/open/features/Kernel-Log-Development-of-2-6-39-under-way-series-33-revived-1212988.html) . The H
Open. Heinz Heise. Retrieved 17 May 2013.
233. Torvalds, Linus (16 May 2010). "Linux 2.6.34" (https://lkml.org/lkml/2010/5/16/89). LKML (Mailing list). Retrieved
17 May 2013.
234. Gortmaker, Paul (11 February 2014)."Linux 2.6.34.15" (https://lkml.org/lkml/2014/2/11/368). LKML (Mailing list).
Retrieved 12 February 2014.
235. Gortmaker, Paul (3 December 2010)."Announcement: Plans for v2.6.34-longterm"(http://lkml.iu.edu/hypermail/linux/
kernel/1012.0/01338.html). LKML (Mailing list). Retrieved 17 May 2013.
236. Torvalds, Linus (1 August 2010). "Linux 2.6.35" (https://lkml.org/lkml/2010/8/1/188). LKML (Mailing list). Retrieved
17 May 2013.
237. Kleen, Andi (1 August 2011)."[ANNOUNCE] The longterm Linux 2.6.35.14 kernel is released"(https://lkml.org/lkml/2
011/8/1/324). LKML (Mailing list). Retrieved 17 May 2013.
238. Kleen, Andi (3 December 2010)."Plans for 2.6.35-longterm was Re: Linux stable kernel release procedure changes"
(https://lwn.net/Articles/418582/). LKML (Mailing list). Retrieved 17 May 2013.
239. Torvalds, Linus (20 October 2010). "Linux 2.6.36" (http://lkml.iu.edu/hypermail/linux/kernel/1010.2/02377.html)
.
LKML (Mailing list). Retrieved 15 February 2015.
240. Kroah-Hartman, Greg (17 February 2011). "Linux 2.6.36.4" (http://lkml.iu.edu/hypermail/linux/kernel/1102.2/01003.ht
ml). LKML (Mailing list). Retrieved 15 February 2015.
241. Torvalds, Linus (4 January 2011). "Linux 2.6.37" (http://lkml.iu.edu/hypermail/linux/kernel/1101.0/01311.html)
. LKML
(Mailing list). Retrieved 15 February 2015.
242. Kroah-Hartman, Greg (27 March 2011). "Linux 2.6.37.6"
(http://lkml.iu.edu/hypermail/linux/kernel/1103.3/01699.html)
. LKML (Mailing list). Retrieved 15 February 2015.
243. Torvalds, Linus (14 March 2011). "Linux 2.6.38" (http://lkml.iu.edu/hypermail/linux/kernel/1103.1/02975.html)
. LKML
(Mailing list). Retrieved 15 February 2015.
244. Kroah-Hartman, Greg (2 June 2011). "Linux 2.6.38.8" (http://lkml.iu.edu/hypermail/linux/kernel/1106.0/01226.html)
.
LKML (Mailing list). Retrieved 15 February 2015.
245. Torvalds, Linus (18 May 2011). "Linux 2.6.39" (http://lkml.iu.edu/hypermail/linux/kernel/1105.2/01786.html)
. LKML
(Mailing list). Retrieved 17 May 2013.
246. Kroah-Hartman, Greg (3 August 2011). "Linux 2.6.39.4" (http://lkml.iu.edu/hypermail/linux/kernel/1108.0/01203.html)
.
LKML (Mailing list). Retrieved 17 May 2013.
247. Kroah-Hartman, Greg (22 October 2013). "Linux 3.0.101" (https://lkml.org/lkml/2013/10/22/125). LKML (Mailing list).
Retrieved 6 November 2013.
248. Leemhuis, Thorsten (12 January 2012)."Kernel Log: 15,000,000 lines, 3.0 promoted to long-term kernel"(http://ww
w.h-online.com/open/features/Kernel-Log-15-000-000-lines-of-code-3-0-promoted-to-long-term-kernel-
1408062.html). The H Open. Heinz Heise. Retrieved 27 March 2012.
249. Torvalds, Linus (24 October 2011). "Linux 3.1" (http://lkml.iu.edu/hypermail/linux/kernel/1110.3/00210.html)
. LKML
(Mailing list). Retrieved 16 May 2013.
250. Kroah-Hartman, Greg (18 January 2012). "Linux 3.1.10"
(http://lkml.iu.edu/hypermail/linux/kernel/1201.2/01340.html)
. LKML (Mailing list). Retrieved 16 May 2013.
251. Torvalds, Linus (4 January 2012). "Linux 3.2" (http://lkml.iu.edu/hypermail/linux/kernel/1201.0/01228.html)
. LKML
(Mailing list). Retrieved 14 May 2013.
252. Hutchings, Ben (1 June 2018)."Linux 3.2.102" (http://lkml.iu.edu/hypermail/linux/kernel/1806.0/00251.html)
. LKML
(Mailing list). Retrieved 6 June 2018.
253. von Eitzen, Chris (23 April 2012)."Long-term maintenance for Linux 3.2"(http://www.h-online.com/open/news/item/L
ong-term-maintenance-for-Linux-3-2-1546065.html) . The H Open. Heinz Heise. Retrieved 14 May 2013.
254. "Active kernel releases"(https://www.kernel.org/releases.html). www.kernel.org. Retrieved 6 April 2018.
255. "LTS Enablement Stacks"(https://wiki.ubuntu.com/Kernel/LTSEnablementStack). Retrieved 10 February 2014.
256. "SecurityTeam/ESM/12.04 - Ubuntu Wiki"(https://wiki.ubuntu.com/SecurityTeam/ESM/12.04). wiki.ubuntu.com.
Retrieved 24 October 2017.
257. Torvalds, Linus (18 March 2012). "Linux 3.3 release" (http://lkml.iu.edu/hypermail/linux/kernel/1203.2/00881.html)
.
LKML (Mailing list). Retrieved 14 May 2013.
258. Kroah-Hartman, Greg (4 June 2012). "Linux 3.3.8" (http://lkml.iu.edu/hypermail/linux/kernel/1206.0/01162.html)
.
LKML (Mailing list). Retrieved 14 May 2013.
259. Torvalds, Linus (20 May 2012). "Linux 3.4 released" (http://lkml.iu.edu/hypermail/linux/kernel/1205.2/02545.html)
.
LKML (Mailing list). Retrieved 14 May 2013.
260. Larabel, Michael (21 May 2012). "Linux 3.4 Kernel Released With Many New Features"(https://www.phoronix.com/s
can.php?page=news_item&px=MTEwNDM). Phoronix. Retrieved 1 July 2013.
261. "Linux kernel 3.4.113 released"(https://www.spinics.net/lists/announce-kernel/msg01708.html). Linux stable (Mailing
list). 26 October 2016. Retrieved 5 December 2016.
262. Kroah-Hartman, Greg (26 August 2014). "Li Zefan is now the 3.4 stable maintainer"(https://lkml.org/lkml/2014/8/26/7
58). LKML (Mailing list). Retrieved 14 October 2014.
263. "[Kernel 3.4.113][CAF][Monthly] Lambda Kernel ~ Infinito [All variants][N/M/L][01/29]"
(https://forum.xda-developers.c
om/lg-g2/development/kernel-lambda-kernel-t3270424) . "The 3.4.113 version of the Linux kernel has been finished
in Oct 26, 2016 and it's currently marked as EOL (End of Life) version.
"
264. Torvalds, Linus (21 July 2012). "Linux 3.5 released" (http://lkml.iu.edu/hypermail/linux/kernel/1207.2/02998.html)
.
LKML (Mailing list). Retrieved 14 May 2013.
265. Kroah-Hartman, Greg (12 October 2013). "Linux 3.5.7" (http://lkml.iu.edu/hypermail/linux/kernel/1210.1/03204.html)
.
LKML (Mailing list). Retrieved 14 May 2013.
266. Krzesinski, Herton Ronaldo (9 November 2012)."Linux 3.6.11" (https://lkml.org/lkml/2012/11/9/184). LKML (Mailing
list). Retrieved 14 May 2013.
267. Torvalds, Linus (30 September 2012)."Linux 3.6" (http://lkml.iu.edu/hypermail/linux/kernel/1209.3/04237.html)
. LKML
(Mailing list). Retrieved 14 May 2013.
268. Kroah-Hartman, Greg (17 December 2012). "Linux 3.6.11" (https://lkml.org/lkml/2012/12/17/353). LKML (Mailing list).
Retrieved 18 December 2012.
269. Torvalds, Linus (10 December 2012). "Linux 3.7" (http://lkml.iu.edu/hypermail/linux/kernel/1212.1/01005.html)
. LKML
(Mailing list). Retrieved 14 May 2013.
270. Kroah-Hartman, Greg (27 February 2013). "Linux 3.7.10" (http://lkml.iu.edu/hypermail/linux/kernel/1302.3/01806.htm
l). LKML (Mailing list). Retrieved 14 May 2013.
271. Stahie, Silviu (1 March 2013)."Linux Kernel 3.7.10 Officially Reaches End of Life, Kernel.org Website Updated" (htt
p://news.softpedia.com/news/Linux-Kernel-3-7-10-Of ficially-Reaches-End-of-Life-Kernel-org-Website-Updated-3336
75.shtml). Softpedia. Retrieved 1 March 2013.
272. Torvalds, Linus (18 February 2013). "Linux 3.8" (http://lkml.iu.edu/hypermail/linux/kernel/1302.2/00936.html)
. LKML
(Mailing list). Retrieved 12 May 2013.
273. Kroah-Hartman, Greg (11 May 2013). "Linux 3.8.13" (http://lkml.iu.edu/hypermail/linux/kernel/1305.1/02171.html)
.
LKML (Mailing list). Retrieved 12 May 2013.
274. Walker-Morgan, DJ (15 May 2013)."Canonical to maintain Linux 3.8 until August 2014"(http://www.h-online.com/op
en/news/item/Canonical-to-maintain-Linux-3-8-until-August-2014-1863580.html)
. The H Open. Heinz Heise.
Retrieved 17 May 2013.
275. Torvalds, Linus (28 April 2013). "Linux 3.9 released" (http://lkml.iu.edu/hypermail/linux/kernel/1304.3/02009.html)
.
LKML (Mailing list). Retrieved 12 May 2013.
276. Kroah-Hartman, Greg (21 July 2013). "Linux 3.9.11" (https://lkml.org/lkml/2013/7/21/178). LKML (Mailing list).
Retrieved 22 July 2013.
277. Torvalds, Linus (30 June 2013). "Linux 3.10" (http://lkml.iu.edu/hypermail/linux/kernel/1306.3/04336.html)
. LKML
(Mailing list). Retrieved 1 July 2013.
278. Tarreau, Willy (5 November 2017)."Linux 3.10.108 (EOL)"(https://lkml.org/lkml/2017/11/4/178). LKML (Mailing list).
Retrieved 5 November 2017.
279. Tarreau, Willy (14 June 2016)."[PATCH kernel.org] change 3.10 EOL and maintainer"(http://www.spinics.net/lists/sta
ble/msg128642.html). LKML (Mailing list). Retrieved 14 June 2016.
280. Kroah-Hartman, Greg (29 November 2013). "Linux 3.11.10" (https://lkml.org/lkml/2013/11/29/327). LKML (Mailing
list). Retrieved 6 December 2013.
281. Torvalds, Linus (3 November 2013). "Linux 3.12 released .. and no merge window yet .. and 4.0 plans?"(http://lkml.i
u.edu/hypermail/linux/kernel/1311.0/00914.html)
. LKML (Mailing list). Retrieved 3 November 2013.
282. Slabý, Jiří (10 May 2017)."Linux 3.12.74" (http://lkml.iu.edu/hypermail/linux/kernel/1705.1/01464.html)
. LKML
(Mailing list). Retrieved 10 May 2017.
283. Kroah-Hartman, Greg (26 February 2014). "3.12-stable kernel tree being taken over by Jiří Slabý"(https://lkml.org/lk
ml/2014/2/26/596). LKML (Mailing list). Retrieved 3 February 2015.
284. Torvalds, Linus (19 January 2014). "Linux 3.13" (http://lkml.iu.edu/hypermail/linux/kernel/1401.2/01593.html)
. LKML
(Mailing list). Retrieved 20 January 2014.
285. Kroah-Hartman, Greg (23 April 2014). "Linux 3.13.11" (https://lkml.org/lkml/2014/4/22/899). LKML (Mailing list).
Retrieved 23 April 2014.
286. Mostafa, Kamal (24 April 2014)."[ANNOUNCE] Linux 3.13.y.z extended stable support" (https://lkml.org/lkml/2014/4/
23/516). LKML (Mailing list). Retrieved 15 February 2015.
287. Torvalds, Linus (30 March 2014). "Linux 3.14" (https://lkml.org/lkml/2014/3/30/336). LKML (Mailing list). Retrieved
30 March 2014.
288. Kroah-Hartman, Greg (11 September 2016)."Linux 3.14.79" (https://lkml.org/lkml/2016/9/11/28). LKML (Mailing list).
Retrieved 12 September 2016.
289. Torvalds, Linus (9 July 2014). "Linux 3.15" (https://lkml.org/lkml/2014/6/8/70). LKML (Mailing list). Retrieved 8 June
2014.
290. Kroah-Hartman, Greg (14 August 2014). "Linux 3.15.10" (https://lkml.org/lkml/2014/8/14/7). LKML (Mailing list).
Retrieved 14 August 2014.
291. Torvalds, Linus (3 August 2014). "Linux 3.16" (https://lkml.org/lkml/2014/8/3/82). Linux kernel mailing list(Mailing
list). Retrieved 5 August 2014.
292. Hutchings, Ben (12 May 2018)."Linux 3.16.67" (http://lkml.iu.edu/hypermail/linux/kernel/1905.1/03435.html)
. LKML
(Mailing list). Retrieved 12 May 2018.
293. Hutchings, Ben (2 May 2016)."Add 3.16 as a longterm release"(http://www.spinics.net/lists/stable/msg131397.html).
LKML (Mailing list). Retrieved 9 May 2016.
294. Kroah-Hartman, Greg (30 October 2014). "Linux 3.16.7" (https://lkml.org/lkml/2014/10/30/583). LKML (Mailing list).
Retrieved 30 October 2014.
295. Guerrero Lopez, Ana. "Jessie will ship Linux 3.16"(https://bits.debian.org/2014/07/kernel-version-for-jessie.html)
.
Bits from Debian. Retrieved 27 May 2016.
296. Henriques, Luis (30 October 2014)."Linux 3.16.y.z extended stable support"(https://lkml.org/lkml/2014/10/30/649).
LKML (Mailing list). Retrieved 3 November 2014.
297. Torvalds, Linus (5 October 2014). "Linux 3.17" (https://lkml.org/lkml/2014/10/5/126). LKML (Mailing list). Retrieved
6 October 2014.
298. Kroah-Hartman, Greg (8 January 2015). "Linux 3.17.8" (https://lkml.org/lkml/2015/1/8/544). LKML (Mailing list).
Retrieved 9 January 2015.
299. Torvalds, Linus (7 December 2014). "Linux 3.18" (https://lkml.org/lkml/2014/12/7/202). LKML (Mailing list). Retrieved
8 December 2014.
300. Kroah-Hartman, Greg (16 May 2019). "Linux 3.18.140" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/00686.html)
.
LKML (Mailing list). Retrieved 20 May 2019.
301. Kroah-Hartman, Greg (8 February 2017). "Linux 3.18.48" (https://lwn.net/Articles/713963/). LKML (Mailing list).
Retrieved 18 April 2017.
302. Kroah-Hartman, Greg (11 March 2015). "3.18 is now maintained by Sasha Levin"(https://lkml.org/lkml/2015/3/11/30
5). LKML (Mailing list). Retrieved 11 March 2015.
303. Kroah-Hartman, Greg (8 February 2017). "Linux 3.18.48" (http://lkml.iu.edu/hypermail/linux/kernel/1702.1/00296.htm
l). LKML (Mailing list). Retrieved 18 April 2017.
304. Kroah-Hartman, Greg (16 April 2017). "[PATCH 3.18 000/145] 3.18.49-stable review"(http://lkml.iu.edu/hypermail/lin
ux/kernel/1704.2/00110.html). LKML (Mailing list). Retrieved 18 April 2017.
305. Torvalds, Linus (8 February 2015). "Linux 3.19 - and merge window now open"(http://lkml.iu.edu/hypermail/linux/ker
nel/1502.1/00199.html). LKML (Mailing list). Retrieved 10 February 2015.
306. Kroah-Hartman, Greg (11 May 2015). "Linux 3.19.8" (https://lkml.org/lkml/2015/5/11/389). LKML (Mailing list).
Retrieved 11 May 2015.
307. Torvalds, Linus (22 February 2015). "Linux 4.0-rc1 out." (http://lkml.iu.edu/hypermail/linux/kernel/1502.2/04059.html)
LKML (Mailing list). Retrieved 26 February 2015.
308. Mostafa, Kamal (13 May 2015)."Linux 3.19.y-ckt extended stable support"(https://lkml.org/lkml/2015/5/13/657).
LKML (Mailing list). Retrieved 20 January 2016.
309. Kroah-Hartman, Greg (21 July 2015). "Linux 4.0.9" (https://lkml.org/lkml/2015/7/21/965). LKML (Mailing list).
Retrieved 22 July 2015.
310. Nestor, Marius (13 July 2015)."Linux Kernel 4.0 to Reach End of Life Soon, Users Urged to Move to Linux Kernel
4.1" (http://news.softpedia.com/news/linux-kernel-4-0-to-reach-end-of-life-soon-users-urged-to-move-to-linux-kernel-
4-1-486698.shtml). Softpedia. SoftNews NET SRL. Retrieved 30 September 2015.
311. Torvalds, Linus (22 June 2015). "Linux 4.1" (https://lkml.org/lkml/2015/6/22/8). LKML (Mailing list). Retrieved 22 June
2015.
312. "Linux kernel 4.1.52 released"(https://www.spinics.net/lists/announce-kernel/msg02259.html). LKML (Mailing list). 29
May 2018. Retrieved 29 May 2018.
313. Kroah-Hartman, Greg (31 January 2016). "4.1 is now maintained by Sasha Levin"(https://lkml.org/lkml/2016/1/31/15
6). LKML (Mailing list). Retrieved 22 February 2016.
314. Kroah-Hartman, Greg (23 September 2015)."4.1 is a longterm kernel"(https://lkml.org/lkml/2015/9/23/686). LKML
(Mailing list). Retrieved 27 September 2015.
315. Torvalds, Linus (30 August 2015). "Linux 4.2 is out" (https://lkml.org/lkml/2015/8/30/96). LKML (Mailing list).
Retrieved 2 November 2015.
316. Kroah-Hartman, Greg (15 December 2015). "Linux 4.2.8" (https://lkml.org/lkml/2015/12/15/51). LKML (Mailing list).
Retrieved 15 December 2015.
317. Mostafa, Kamal (15 December 2015)."Linux 4.2.y.z extended stable support"(https://lkml.org/lkml/2015/12/15/538).
LKML (Mailing list). Retrieved 15 December 2015.
318. Torvalds, Linus (1 November 2015). "Linux 4.3 is out" (https://lkml.org/lkml/2015/11/1/202). LKML (Mailing list).
Retrieved 2 November 2015.
319. Kroah-Hartman, Greg (19 February 2016). "Linux 4.3.6" (https://lkml.org/lkml/2016/2/19/699). LKML (Mailing list).
Retrieved 21 February 2016.
320. Nestor, Marius (20 February 2016)."Linux Kernel 4.3.6 Is the Last in the Series, Users Urged to Move to Linux 4.4"
(http://news.softpedia.com/news/linux-kernel-4-3-6-is-the-last-in-the-series-users-urged-to-move-to-linux-4-4-50067
5.shtml). Softpedia. SoftNews NET SRL. Retrieved 21 February 2016.
321. Torvalds, Linus (10 January 2016). "Linux 4.4" (https://lkml.org/lkml/2016/1/10/305). LKML (Mailing list). Retrieved
10 June 2016.
322. Kroah-Hartman, Greg (17 May 2019). "Linux 4.4.180" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/01246.html)
.
LKML (Mailing list). Retrieved 20 May 2019.
323. Corbet, Jonathan (4 November 2015)."The stable kernel process"(https://lwn.net/Articles/662966/). LWN.net.
Retrieved 17 December 2015.
324. "Ubuntu Kernel Support"(https://wiki.ubuntu.com/Kernel/Support). Ubuntu Wiki.
325. "Kernel Maintenance" (https://wiki.linuxfoundation.org/civilinfrastructureplatform/cipkernelmaintenance)
. Linux
Foundation Wiki.
326. Torvalds, Linus (13 March 2016). "Linux 4.5" (https://lkml.org/lkml/2016/3/14/50). LKML (Mailing list). Retrieved
14 March 2016.
327. Kroah-Hartman, Greg (7 June 2016). "Linux 4.5.7" (http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg11
61793.html). LKML (Mailing list). Retrieved 8 June 2016.
328. Nestor, Marius (9 June 2016)."Linux Kernel 4.5.7 Is The Last In The Series, Users Urged oT Move To Linux 4.6" (htt
p://news.softpedia.com/news/linux-kernel-4-5-7-is-the-last-in-the-series-users-urged-to-move-to-linux-4-6-505037.sht
ml). Softpedia. SoftNews NET SRL. Retrieved 28 June 2016.
329. Torvalds, Linus (15 May 2016). "Linux 4.6 is out" (https://lkml.org/lkml/2016/5/15/83). LKML (Mailing list). Retrieved
17 May 2016.
330. Kroah-Hartman, Greg (16 August 2016). "Linux 4.6.7" (https://lkml.org/lkml/2016/8/16/682). LKML (Mailing list).
Retrieved 22 August 2016.
331. Linus, Torvalds (24 July 2016). "Linux 4.7" (https://lkml.org/lkml/2016/7/24/151). LKML (Mailing list). Retrieved
25 July 2016.
332. Kroah-Hartman, Greg (22 October 2016). "Linux 4.7.10" (https://lkml.org/lkml/2016/10/22/112). LKML (Mailing list).
Retrieved 24 October 2016.
333. Linus, Torvalds (2 October 2016). "Linux 4.9" (https://lkml.org/lkml/2016/10/2/102). LKML (Mailing list). Retrieved
3 October 2016.
334. Kroah-Hartman, Greg (9 January 2017). "Linux 4.8.17" (https://lkml.org/lkml/2017/1/9/99). LKML (Mailing list).
Retrieved 11 January 2017.
335. Linus, Torvalds (11 December 2016). "Linux 4.9" (https://lkml.org/lkml/2016/12/11/102). LKML (Mailing list).
Retrieved 11 December 2016.
336. Kroah-Hartman, Greg (17 May 2019). "Linux 4.9.177" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/01250.html)
.
LKML (Mailing list). Retrieved 20 May 2019.
337. Kroah-Hartman, Greg (19 January 2017). "[PATCH] 4.9 is a longterm kernel"(https://lkml.org/lkml/2017/1/19/339).
LKML (Mailing list). Retrieved 23 January 2017.
338. "Stretch kernel will be Linux 4.9 LTS" (https://wiki.debian.org/DebianStretch). Debian Wiki.
339. Linus, Torvalds (19 February 2017). "Linux 4.10" (https://lkml.org/lkml/2017/2/19/224). LKML (Mailing list). Retrieved
20 February 2017.
340. Kroah-Hartman, Greg (20 May 2017). "Linux 4.10.17" (https://lkml.org/lkml/2017/5/20/64). LKML (Mailing list).
Retrieved 22 May 2017.
341. Linus, Torvalds (30 April 2017). "Linux 4.11" (https://lkml.org/lkml/2017/4/30/167). LKML (Mailing list). Retrieved
2 May 2017.
342. Kroah-Hartman, Greg (21 July 2017). "Linux 4.11.12" (http://lkml.iu.edu/hypermail/linux/kernel/1707.2/05562.html)
.
LKML (Mailing list). Retrieved 21 July 2017.
343. Torvalds, Linus (2 July 2017). "Linux 4.12" (http://lkml.iu.edu/hypermail/linux/kernel/1707.0/00325.html)
. LKML
(Mailing list). Retrieved 3 July 2017.
344. Kroah-Hartman, Greg (20 September 2017)."Linux 4.12.14" (http://lkml.iu.edu/hypermail/linux/kernel/1709.2/02589.
html). LKML (Mailing list). Retrieved 20 September 2017.
345. Torvalds, Linus (3 September 2017). "Linux 4.13" (http://lkml.iu.edu/hypermail/linux/kernel/1709.0/01021.html)
. LKML
(Mailing list). Retrieved 4 September 2017.
346. Kroah-Hartman, Greg (24 November 2017). "Linux 4.13.16" (http://lkml.iu.edu/hypermail/linux/kernel/1711.3/00073.h
tml). LKML (Mailing list). Retrieved 27 November 2017.
347. Torvalds, Linus (12 November 2017). "Linux 4.14" (http://lkml.iu.edu/hypermail/linux/kernel/1711.1/03305.html)
.
LKML (Mailing list). Retrieved 22 November 2017.
348. Kroah-Hartman, Greg (17 May 2019). "Linux 4.14.120" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/01252.html)
.
LKML (Mailing list). Retrieved 20 May 2019.
349. "Linux 4.14 Will Be The Next LTS Kernel Branch (Confirmed)" (https://fossbytes.com/linux-4-14-next-lts-kernel/)
.
Fossbytes.
350. Torvalds, Linus (28 January 2018). "Linux 4.15" (http://lkml.iu.edu/hypermail/linux/kernel/1801.3/02794.html)
. LKML
(Mailing list). Retrieved 29 January 2018.
351. Kroah-Hartman, Greg (19 April 2018). "Linux 4.15.18" (http://lkml.iu.edu/hypermail/linux/kernel/1804.2/03399.html)
.
LKML (Mailing list). Retrieved 24 April 2018.
352. Torvalds, Linus (1 April 2018). "Linux 4.16" (http://lkml.iu.edu/hypermail/linux/kernel/1804.0/00174.html)
. LKML
(Mailing list). Retrieved 3 April 2018.
353. Kroah-Hartman, Greg (25 June 2018). "Linux 4.16.18" (http://lkml.iu.edu/hypermail/linux/kernel/1806.3/01553.html)
.
LKML (Mailing list). Retrieved 27 June 2018.
354. Torvalds, Linus (3 June 2018). "Linux 4.17" (http://lkml.iu.edu/hypermail/linux/kernel/1806.0/01332.html)
. LKML
(Mailing list). Retrieved 6 June 2018.
355. Kroah-Hartman, Greg (24 August 2018). "Linux 4.17.19"
(http://lkml.iu.edu/hypermail/linux/kernel/1808.3/00244.html)
. LKML (Mailing list). Retrieved 27 August 2018.
356. Torvalds, Linus (12 August 2018). "Linux 4.18" (http://lkml.iu.edu/hypermail/linux/kernel/1808.1/02806.html)
. LKML
(Mailing list). Retrieved 13 August 2018.
357. Kroah-Hartman, Greg (21 November 2018). "Linux 4.18.20" (http://lkml.iu.edu/hypermail/linux/kernel/1811.2/04972.h
tml). LKML (Mailing list). Retrieved 21 November 2018.
358. Kroah-Hartman, Greg (22 October 2018). "Linux 4.19" (http://lkml.iu.edu/hypermail/linux/kernel/1810.2/05220.html)
.
LKML (Mailing list). Retrieved 22 October 2018.
359. Kroah-Hartman, Greg (17 May 2019). "Linux 4.19.44" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/01254.html)
.
LKML (Mailing list). Retrieved 20 May 2019.
360. Nestor, Marius (5 September 2018)."It's Official: Linux Kernel 4.19 Will Be the Next LTS (Long-Term Support)
Series" (https://news.softpedia.com/news/it-s-official-linux-kernel-4-19-will-be-the-next-lts-long-term-support-series-5
22452.shtml). Softpedia. Retrieved 6 September 2018.
361. "Buster kernel will be Linux 4.19 LTS" (https://wiki.debian.org/DebianBuster). Debian Wiki.
362. Meanor, Maemalynn (25 February 2019)."Civil Infrastructure Platform Announces New Super Long erm T Support
Kernel that Advances Automation, Machine Learning and Artificial Intelligence"
(https://www.linuxfoundation.org/pres
s-release/2019/02/civil-infrastructure-platform-announces-new-super-long-term-support-kernel-that-advances-autom
ation-machine-learning-and-artificial-intelligence/)
. The Linux Foundation.
363. Torvalds, Linus (23 December 2018). "Linux 4.20 released." (http://lkml.iu.edu/hypermail/linux/kernel/1812.2/06158.h
tml) LKML (Mailing list). Retrieved 24 December 2018.
364. Kroah-Hartman, Greg (19 March 2019). "Linux 4.20.17" (http://lkml.iu.edu/hypermail/linux/kernel/1903.2/02285.html)
.
LKML (Mailing list). Retrieved 19 March 2019.
365. Torvalds, Linus (3 March 2019). "Linux 5.0" (http://lkml.iu.edu/hypermail/linux/kernel/1903.0/01288.html)
. LKML
(Mailing list). Retrieved 4 March 2019.
366. Kroah-Hartman, Greg (17 May 2019). "Linux 5.0.17" (http://lkml.iu.edu/hypermail/linux/kernel/1905.2/01257.html)
.
LKML (Mailing list). Retrieved 20 May 2019.
367. Torvalds, Linus (5 March 2019). "Linux 5.1" (http://lkml.iu.edu/hypermail/linux/kernel/1905.0/03532.html)
. LKML
(Mailing list). Retrieved 6 March 2019.
368. Robert Love (2010). Linux Kernel Development: Linux Kernel Development
. Pearson Education. p. 11.
ISBN 9780768696790.
369. Robert Love (2010). Linux Kernel Development: Linux Kernel Development
. Pearson Education. p. 12.
ISBN 9780768696790.
370. Yamagata, Hiroo (3 August 1997)."The Pragmatist of Free Software"(https://web.archive.org/web/2007021022435
1/http://hotwired.goo.ne.jp/matrix/9709/5_linus.html)
. HotWired. Archived from the original (http://hotwired.goo.ne.jp/
matrix/9709/5_linus.html)on 10 February 2007. Retrieved 21 February 2007.
371. Corbet, Jonathan (31 January 2006)."GPLv3 and the kernel"(https://lwn.net/Articles/169797/). LWN.net. Retrieved
21 February 2007.
372. Torvalds, Linus (8 September 2000). "Linux-2.4.0-test8" (http://lkml.iu.edu/hypermail/linux/kernel/0009.1/0096.html)
.
LKML (Mailing list). Retrieved 21 February 2007.
373. "gnu.org" (https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html#section9). www.gnu.org. Retrieved 18 October
2017.
374. Cox, Alan (20 January 2006). "Re: GPL V3 and Linux"(https://lwn.net/Articles/169831/). LKML (Mailing list).
Retrieved 21 February 2007.
375. Shankland, Stephen (25 September 2006)."Top Linux programmers pan GPL 3"(http://news.com/Top+Linux+progra
mmers+pan+GPL+3/2100-7344_3-6119372.html) . News.com. CNET. Retrieved 21 February 2007.
376. James E.J. Bottomley, Mauro Carvalho Chehab, Thomas Gleixner, Christoph Hellwig, Dave Jones, Greg Kroah-
Hartman, Tony Luck, Andrew Morton, Trond Myklebust, David Woodhouse (15 September 2006)."Kernel
developers' position on GPLv3: The Dangers and Problems with GPLv3" (https://lwn.net/Articles/200422/). LWN.net.
Retrieved 11 March 2015.
377. Petreley, Nicholas (27 September 2006)."A fight against evil or a fight for attention?"(http://www.linuxjournal.com/no
de/1000100). linuxjournal.com. Retrieved 11 March 2015.
378. "Linus Torvalds says GPL v3 violates everything that GPLv2 stood for"(https://www.youtube.com/watch?v=PaKIZ7g
JlRU). Debconf 2014. 2014. Retrieved 21 March 2018.
379. Clark, Rob; Semwal, Sumit (1 November 2012)."DMA Buffer Sharing Framework: An Introduction" (http://elinux.org/i
mages/a/a8/DMA_Buffer_Sharing-_An_Introduction.pdf) (PDF). Embedded Linux Conference. Retrieved 2 August
2014.
380. Cox, Alan (10 October 2012). "[PATCH] dma-buf: Use EXPORT_SYMBOL" (http://lists.freedesktop.org/archives/dri-d
evel/2012-October/028846.html). Direct Rendering Infrastructure(Mailing list). Retrieved 3 September 2013.
381. Torvalds, Linus (10 December 2003). "RE: Linux GPL and binary module exception clause?"(https://lkml.org/lkml/20
03/12/10/123). LKML (Mailing list). Retrieved 31 December 2010.
382. Torvalds, Linus (3 December 2003). "Re: Linux GPL and binary module exception clause?"(http://lkml.iu.edu/hyperm
ail/linux/kernel/0312.0/0670.html). LKML (Mailing list). Retrieved 12 November 2010.
383. "::[FSFLA]:: GNU Linux-libre project"(http://www.fsfla.org/ikiwiki/selibre/linux-libre/). fsfla.org.
384. "Debian 6.0 "Squeeze" to be released with completely free Linux Kernel"
(http://debian.org/News/2010/20101215).
Debian. 15 December 2010. Retrieved 8 January 2011.
385. Hughes, Phil (1 August 1997)."Linux Trademark Dispute" (http://www.linuxjournal.com/article/2425/). Linux Journal.
Belltown Media, Inc. Retrieved 8 December 2010.
386. Hughes, Phil (1 March 1997)."Action Taken on Linux Trademark" (http://www.linuxjournal.com/article/2098). Linux
Journal. Belltown Media, Inc. Retrieved 8 December 2010.
387. Gisselberg, Tonya (2010). "The Trademark History of Linux, the Operating System" (http://www.gisselberglawfirm.co
m/downloads/linux.pdf)(PDF). Gisselberg Law Firm, Inc. Retrieved 8 December 2010.
388. Jones, Pamela (8 March 2007). "Report from the Courthouse March 7 - Part 1 (IBM's Motion for DJ on 10th CC)"
(htt
p://www.groklaw.net/articlebasic.php?story=20070308014847709)
. Groklaw. Retrieved 24 March 2007.
389. Jones, Pamela (10 August 2007). "Court Rules: Novell owns the UNIX and UnixW are copyrights! Novell has right to
waive!" (http://www.groklaw.net/article.php?story=20070810165237718). Groklaw. Retrieved 12 August 2007.
390. Ryan, Justin (26 August 2009)."SCO Will Try Again" (http://www.linuxjournal.com/content/sco-will-try-again). Linux
Journal. Belltown Media, Inc. Retrieved 30 August 2009.
391. Harvey, Tom (30 March 2010). "Jury says Novell owns Unix copyrights"(http://www.sltrib.com/news/ci_14786202).
The Salt Lake Tribune. MediaNews Group. Retrieved 30 March 2010.

Further reading
Torvalds, Linus; Diamond, David (2001).Just for Fun: The Story of an Accidental Revolutionary. HarperBusiness.
ISBN 978-0066620732.
Bezroukov, Nikolai. "Ch 4: A benevolent dictator". Portraits of Open Source Pioneers(e-book). Softpanorama.
"LinkSys and binary modules". LWN.net Weekly Edition. 16 October 2003.
"FreeBSD/Linux kernel source code cross-reference"(Browsable Linux (and other operating system) kernel source
cross-reference).
"LXR: The Linux Cross-Reference project"(Browsable Linux kernel source). Archived fromthe original on 8 October
2001.
"KernelHQ" (a browsable kernel source tree –with all versions present, and with browsablediffs). Archived from the
original on 29 July 2016.
"The LWN 2001 Linux Timeline".
"Everyone's Favorite Linux Mascot".
"Linux Timeline".
"History of Linux". Archived from the original on 10 September 2006.
"Upgrade to 2.6 kernel".
Pranevich, Joseph (December 2003)."The Wonderful World of Linux 2.6". Archived from the original on 16 July
2003.
Aas, Josh (17 February 2005)."Understanding the Linux 2.6.8.1 CPU Scheduler"
. Archived from the original on 29
September 2007.
"LinuxChanges".
"Seminar Paper on Linux Kernel 2.6". Archived from the original on 2 February 2007.
"Linux Device Drivers" (3rd ed.).
"Understanding the Linux Kernel"(Book) (3rd ed.).
"Linux Kernel Networking, by Rami Rosen, 2014"(Book).
"Linux: The GPL And Binary Modules". Archived from the original on 23 July 2005.
"Anatomy of the Linux kernel".

External links
Official website

Linux kernel documentation index


Linux kernel man pages
Kernel bugzilla, and regressions for each recent kernel version
Kernel Newbies, a source of various kernel-related information
LinGrok, a Linux kernel source code cross-reference
Greg Kroah Hartman on the Linux kernelon YouTube

Retrieved from "https://en.wikipedia.org/w/index.php?title=Linux_kernel&oldid=897958401


"

This page was last edited on 20 May 2019, at 13:01(UTC).


Text is available under theCreative Commons Attribution-ShareAlike License ; additional terms may apply. By using this
site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of theWikimedia
Foundation, Inc., a non-profit organization.

Вам также может понравиться