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.