As of this writing, the 2.6.24 kernel is getting close to a release -
though there is likely to be one more -rc version to look at first. The
rate of change has slowed significantly, though, and the final regressions
are being chased down. So it seems like a suitable time to look at the
patches which went into this kernel and where they came from.
This is, in many ways, a record-breaking development cycle. Over 10,000
individual changesets have been merged this time around, with a net growth
of almost 300,000 lines of code. 950 developers contributed this code; of
those, 358 contributed just one patch. By comparison, the previous cycle
(2.6.23) merged some 6200 patches from about 860 developers. Given that,
it's not surprising that the 2.6.24 cycle has been a little longer than
some of its predecessors.
Without further ado, here is the list of top contributors to this kernel:
|Most active 2.6.24 developers|
|David S. Miller||102||1.0%|
|By changed lines|
|Ivo van Doorn||22178||2.8%|
|David S. Miller||14315||1.8%|
By either method of counting, Thomas Gleixner comes out at the top of the
list by virtue of his work on the i386/x86_64 architecture merger.
Bringing those architectures together and making the result work well was a
huge job; this effort will continue into future development cycles. (For
the curious, simply renamed files were not counted as "changed lines" in
the generation of these numbers). Note that many of these patches also
carry a signoff by Ingo Molnar, but git only stores the name of a single
"author" for a changeset.
Other contributors of large numbers of changesets in 2.6.24 include
Bartlomiej Zolnierkiewicz (lots of IDE driver patches), Adrian Bunk
(cleanups all over the kernel tree), Ralf Baechle (MIPS architecture work),
Pavel Emelyanov (mostly network and PID namespaces), Tejun Heo (serial ATA
and a number of sysfs cleanups), Johannes Berg (wireless networking), and
Al Viro (mostly annotation patches and related fixes). If one looks at the
number of changed lines, the list of developers changes almost completely:
Zhu Yi (iwlwifi driver), Auke Kok (e1000 driver), Michael Buesch (wireless
networking and the b43 driver), Ivo van Doorn (rt2x00 wireless driver),
Matthew Wilcox (SCSI, especially advansys and sym53c8xx drivers), Adrian
Bunk (cleanups and code deletions), Larry Finger (mainly addition of the
b43 legacy driver), and David Miller (networking and SPARC64).
If one assigns developers' contributions to employers and totals the
results, the following numbers emerge (note that these tables have been
updated since initial publication to fix an error):
|Most active 2.6.24 employers|
|By lines changed|
In many ways, these lists look similar to those posted for past kernels.
But there are a few things which jump out this time around:
- Intel has made it to the top of the "by lines changed" list - and
not just by a little bit. This happened by virtue of the work done by
four of the top-20 developers, but also by dozens of others who
contributed to the 2.6.24 kernel. Intel has a lot of people
working on the kernel, many of whom spend little time in the
- Movial found its way onto the list
for the first time as a result of having hired a very active
- The amount of work done by people known to be hacking on their own
time has grown a bit. This change is mostly a result of more complete
information on our side - many developers have moved out of the
"unknown" category. Quite a bit of the no-employer work this time
around was done on the wireless networking tree; since much of the
interesting work in this area currently involves reverse engineering,
perhaps it is not surprising that relatively few companies are willing
to sponsor it.
All told, some 130 distinct employers were identified for the contributors
to 2.6.24. That is a lot of companies to be working on one body of code.
Looking at the Signed-off-by headers of patches is always interesting; if
one removes the signoffs added by the authors themselves, what is left is a
list of the gatekeepers - those who channel the code into the mainline.
The people who signed off on the most patches which they did not write are:
|Sign-offs in the 2.6.24 kernel|
|David S. Miller||894||9.4%|
|John W. Linville||413||4.3%|
|Mauro Carvalho Chehab||367||3.9%|
There are not a lot of changes here from previous development cycles.
While quite a few developers add signoffs to code and pass it on, they work
for a relatively small number of companies - 7 employers account for
70% of the non-author signoffs.
Finally, given that we are starting a new year, it is worth taking a quick
look back at the entirety of 2007. In 2007, Linus merged just over 30,000
changesets (more than 80 per day, every day) from 1900 developers working
for (at least) 200 companies. All
told, they changed over 2 million lines of code, growing the kernel by
more than 750,000 lines. The kernel developers are, in other words,
touching over 5,000 lines of code every day - that is a high rate of
The top contributors over the course of the year
(by changesets) were:
|Top contributors in 2007|
|David S. Miller||468||1.6%|
It should be noted that the employer numbers are more approximate than
usual. Some developers changed employers in 2007, but LWN, as a matter of
policy, does not maintain a database of developers and their employers over
time. Still, the picture is relatively constant - the same companies
continue to contribute approximately the same percentage of the patches
going into the kernel over relatively long periods of time.
Overall, the picture that results from all these numbers is one of a
widespread and healthy development community. There appears to be no
shortage of jobs for kernel developers, but also room for those who work
outside of the office. The kernel truly is a common resource, with
literally thousands of people working to improve it. And it shows no signs
of slowing down anytime soon.
Your editor would like to profusely thank Greg Kroah-Hartman for his help
in improving these statistics.
to post comments)