Linux: More contributors, more code
A lot more than just Linus Torvalds
The Linux Foundation, which is something akin to the marketing arm of the open source operating system kernel and its related systems software, has today released its second report detailing how the Linux 2.6 kernel is evolving.
The report reveals how it is coding the changes in the kernel and what companies are sponsoring the programmers who are making the changes - if any. And what is immediately clear is that Linux is much bigger than its namesake and creator, Linus Torvalds.
You can get a copy of the current Linux Kernel Development report here. This is the second edition of the report, following a thorough analysis of the Linux kernel development effort that Greg Kroah-Hartman of Novell, Jonathan Corbet of LWN.net and Amanda McPherson of the Linux Foundation put together in April 2008. (You can get a copy of that initial report, which covered Linux 2.6.11 through 2.6.24, spanning from early 2005 through early 2008, here.)
The kernel development effort is massive, and it is no doubt the crowning achievement of open source development. Since 2005, over 5,000 different programmers - working independently or for nearly 500 different companies that sponsor kernel developers - have kicked in time and code to the Linux effort. The Linux kernel is also a testament to enlightened self-interest.
"The Linux kernel," say the report writers, "has become a common resource developed on a massive scale by companies which are fierce competitors in other areas." You don't see that very often in the IT racket, that's for sure.
Since the April 2008 report came out, the number of developers contributing to the Linux kernel has increased by approximately 10 per cent, and the rate of change in kernel development has picked up. The number of lines of code added to the kernel has tripled, with the latest release, Linux 2.6.30, having over 10,000 patches.
Through it all, the development time for each Linux 2.6 release has stayed fairly constant, with a few wiggles here and there. The goal that the Linux community has set for itself is to get a release out the door every 8 to 12 weeks, and it has taken, on average, just under 12 weeks. Considering that the number of patches has exploded from 3,616 with Linux 2.6.11 to a high of 12,243 with Linux 2.6.25 and has averaged 10,656 in the five releases since then, it is clear that the Linux developers are getting better at what they do.
As the Linux kernel has absorbed so many new technologies in the past two years, particularly relating to virtualization and security, the Linux kernel itself has expanded steadily. Linux 2.6.11 had 17,090 files and just over 6.6 million lines of code, but Linux 2.6.30 weighs in at 27,911 files and just under 11.6 million lines of code.
And that is after lots and lots of code gets chopped out of successive releases and lots of other lines merely get modified, rather than added. With Linux 2.6.11, the kernel had 3,224 lines added per day, on average, with 1,360 lines deleted and 1,290 lines modified. Since Linux 2.6.24, a stunning 10,923 lines of code are added every day, with 5,547 lines removed and 2,243 lines changed.
"That rate of change is larger than any other public software project of any size," says the Linux Foundation's report.
The number of programmers who are stepping up to do the work is on the rise, and so is company sponsorship. Four and a half years ago, the Linux 2.6.11 kernel had 389 developers banging away at it, with 68 known company sponsors (plenty of contributors do the work on their own time or without official sponsorship). Those numbers have grown steadily, and with Linux 2.6.30, there are 1,150 kernel developers contributing, with 240 corporate sponsors covering the paychecks for many of them.
Averaged over the past four and a half years, the top ten individuals have contributed 12 per cent of the Linux kernel code, and the top 30 developers accounted for 25 per cent of the code. And guess who has fallen off the top 30 Linux kernel development list? None other than Linus Torvalds, who has a total of 729 changes from Linux 2.6.11 through 2.6.30, with 254 of them spanning from Linux 2.6.24 through 2.6.30.
"Linus remains an active and crucial part of the development process," the report quickly says, and "his contribution cannot be measured just by the number of changes made. (Obscure technical detail: these numbers do not count “merge commits,” where one set of changes is merged into another. Linus Torvalds generates large numbers of merge commits; had these been counted he would have shown up on this list.) Linus of course does a great deal of reviewing and signoffs of code."
If you look at the Git repository for Linux 2.6.12 through Linux 2.6.30, Bartlomiej Zolnierkiewicz, who is a student at Warsaw University of Technology, tops the list, with 1,169 changes (1.8 per cent of the total), just edging out Ingo Molnar of Red Hat, who has racked up 1,164 changes to the kernel in the past few years. Number three on the list is David Miller, who is one of the maintainers of the TCP/IP networking stack and the key developer who ports Linux to the Sparc architecture. Chris Mason, who works at Oracle, is number four, with 851 changes, followed by Takashi Iwai, of Novell, with 711 changes.
As you might expect from an open source effort such as Linux kernel development, those claiming no affiliation or corporate sponsorship account for most of the changes in the Linux 2.6 kernel since Linux 2.6.24, with a total of 13,850 changes to the kernel and representing 21.1 per cent of all changes; those with an unknown affiliation accounted for 2,765 changes, or 4.2 per cent.
Of the corporate sponsors, Red Hat accounts for the most changes in the latest releases of the Linux kernel, with 7,897 (12 per cent), followed by IBM with 4,150 changes (6.3 per cent), Novell with 4,021 changes (6.1 per cent), Intel with 3,923 changes (6 per cent), and Oracle with 2,003 changes (3.1 per cent).
While these programmers make the changes to Linux, the developers who sign off on the changes also carry a heavy burden, with Andrew Morton accounting for 6,515 approvals, or about 10.5 per cent of the total since Linux 2.6.24, followed by Ingo Molnar with 6,174 signoffs and David Miller with 5,954. Linus Torvalds shows up as number nine on this list, with 1,664 signoffs since Linux 2.6.24, or about 2.7 per cent of the burden.
By employer, Red Hat does the most signing off by far, with 22,652 or 36.4 per cent of the total, followed by Google with 6,530 (10.5 per cent), and Novell with 5,076 (8.2 per cent). The Linux Foundation gets credit for Torvalds' signoffs, since it writes his paycheck. ®