Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
Lf Who Writes Linux 2012

Lf Who Writes Linux 2012

Ratings: (0)|Views: 75|Likes:
Published by foskarulla

More info:

Published by: foskarulla on Sep 30, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





 A White Paper By The Linux Foundationhttp://www.linuxfoundation.org/ 
Linux Kernel Development
How Fast it is Going, Who is Doing It,What They are Doing, and Who is Sponsoring It
Jonathan Corbet, LWN.netGreg Kroah-Hartman, The Linux Foundation Amanda McPherson, The Linux FoundationMarch 2012
Linux Kernel Development:
How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It
The kernel which orms the core o the Linux system is the result o one o the largest cooperative sotwareprojects ever attempted. Regular 2-3 month releases deliver stable updates to Linux users, each with signicantnew eatures, added device support, and improved perormance. The rate o change in the kernel is high andincreasing, with between 8,000 and 12,000 patches going into each recent kernel release. These releases eachcontain the work o over 1,000 developers representing nearly 200 corporations.Since 2005, over 7,800 individual developers rom almost 800 dierent companies have contributed to the kernel.The Linux kernel, thus, has become a common resource developed on a massive scale by companies which areerce competitors in other areas.This is the ourth update o this document, which has been published roughly annually since 2008. It coversdevelopment through the 3.2 release, with an emphasis on the releases (2.6.36 to 3.2) made since the last update.It has been a busy period, with seven kernel releases created, many signicant changes made, and continualgrowth o the kernel developer and user community.
The Linux kernel is the lowest level o sotware running on a Linux system. It is charged with managing thehardware, running user programs, and maintaining the overall security and integrity o the whole system. It is thiskernel which, ater its initial release by Linus Torvalds in 1991, jump-started the development o Linux as a whole.The kernel is a relatively small part o the sotware on a ull Linux system (many other large components comerom the GNU project, the GNOME and KDE desktop projects, the X.org project, and many other sources), but it isthe core which determines how well the system will work and is the piece which is truly unique to Linux.The Linux kernel is an interesting project to study or a number o reasons. It is one o the largest individualcomponents on almost any Linux system. It also eatures one o the astest-moving development processes andinvolves more developers than any other open source project. Since 2005, kernel development history is also quitewell documented, thanks to the use o the Git source code management system.
Some 2011 Kernel Development Highlights
It was another busy year in the kernel development community, as will be seen in the statistics shown below.Beyond the sheer volume o changes made, though, there are a ew other noteworthy things that happened duringthis time. They include:
The Linux kernel celebrated its twentieth anniversary; the initial announcement rom Linus Torvalds wasposted on August 25, 1991. It was quickly ollowed by the rst release (version 0.01) in September.
The 2.6.x numbering scheme, which had been used since 2004, was nally put to rest with the release o the3.0 kernel. There was nothing special about the 3.0 release; it was simply decided (ater years o occasionaldiscussion) that the 2.6 version numbers were getting unwieldy.
For the rst time ever, Microsot appeared in the list o the top-20 contributors or a kernel release.
The central repository and distribution site or kernel development - kernel.org - suered a severe securitybreach and was ofine or several weeks. As a result, the 3.1 kernel release was delayed. Extensiveinvestigations have concluded that no attempt was made to compromise the integrity o the kernel source(such attempts would almost certainly have been discovered at the time anyway). Even so, as a result o thisincident, the security o the development process has been strengthened in a number o ways.
There was a well-publicized blow-up over the state o the ARM architecture subtree in the kernel. It is truethat ARM has gotten a bit messy as the result o increased contributions rom the embedded community.In a sense, the kernel is a victim o its own success. By the end o the year, the eort to clean up this codewas already well advanced.
The 2.0 release, in June, 1996, added symmetric multiprocessing support and, with it, the dreaded bigkernel lock. In 2011, almost exactly teen years later, the process o removing that lock was completedwith the release o the 2.6.39 kernel.
The “Long-Term Support Initiative” was announced at the end o 2011. This eort, described in more detailbelow, will provide predictable support or some kernel releases with an emphasis on providing a stablebase or embedded products.
Linux Kernel Development:
How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It
 Above and beyond all o that, though, the process o developing the kernel and making it better continued at a astpace. The remainder o this document will concern itsel with the health o the development process and where allthat code came rom.
Development Model
Linux kernel development proceeds under a loose, time-based release model, with a new major kernel releaseoccuring every 2-3 months. This model, which was rst ormalized in 2005, gets new eatures into the mainlinekernel and out to users with a minimum o delay. That, in turn, speeds up the pace o development and minimizesthe number o external changes that distributors need to apply. As a result, distributor kernels contain relativelyew distribution-specic changes; this leads to higher quality and ewer dierences between distributions. Ater each major kernel release by Linus Torvalds, the kernel’s “stable team” (currently Greg Kroah-Hartman) takesup short-term maintenance, applying important xes as they are developed. The stable process ensures thatimportant xes are made available to distributors and users and that they are incorporated into uture mainlinereleases as well. The stable maintenance period lasts a minimum o two development cycles and, or specickernel releases, can go signicantly longer. In recent years we have seen an increasing number o cooperativeindustry eorts to maintain specic kernels or periods o one year or more.
Release Frequency 
The desired release period or a major kernel release is, by common consensus, 8-12 weeks. A much shorterperiod would not give testers enough times to nd problems with new kernels, while a longer period wouldallow too much work to pile up between releases. The actual time between kernel releases tends to vary a bit,depending on the size o the release and the diculty encountered in tracking down the last regressions. Since2.6.11, the actual kernel release history looks like:
Kernel VersionRelease DateDays of Development
2.6.11 2005-03-02 692.6.12 2005-05-17 1082.6.13 2005-08-28 732.6.14 2005-10-27 612.6.15 2006-01-02 682.6.16 2006-03-19 772.6.17 2006-06-17 912.6.18 2006-09-19 952.6.19 2006-11-29 722.6.20 2007-02-04 682.6.21 2007-04-25 812.6.22 2007-07-08 752.6.23 2007-10-09 942.6.24 2008-01-24 1082.6.25 2008-04-16 832.6.26 2008-07-13 882.6.27 2008-10-09 882.6.28 2008-12-24 762.6.29 2009-03-23 892.6.30 2009-06-09 782.6.31 2009-09-09 922.6.32 2009-12-02 842.6.33 2010-02-24 842.6.34 2010-05-15 812.6.35 2010-08-01 772.6.36 2010-10-20 802.6.37 2011-01-04 762.6.38 2011-03-14 692.6.39 2011-05-18 653.0 2011-07-21 643.1 2011-10-24 953.2 2012-01-04 72

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->