The Linux Foundation provides a vendor neutral home for long-term collaboration on the Linux kernel. They provide Linux creator Linus Torvalds and his right-hand man, Greg Kroah-Hartman, the opportunity to work full-time on Linux. And they prepare a semi-annual report on the state of the Linux kernel, which is a fascinating examination of the most successful collaborative software development project in history. The full report is quite interesting, and has a number of observations about Linux development. A couple of highlights are worth closer examination.
Almost 8,000 individual developers have contributed to the Linux kernel, and 1,000 of those have been new contributors within the last year. Interestingly, the report states that “In any given development cycle, approximately 1/3 of the developers involved contribute exactly one patch.” The top ten contributors for the last five years account for 9% of the total work on the kernel; and 20% of the work is directly attributable to the top 20 kernel developers. Ironically, Linus Torvalds doesn’t appear as a top contributor in the current report. “Linus remains an active and crucial part of the development process; his contribution cannot be measured just by the number of changes made,” the report states. Because Linus, Greg KH and other kernel maintainers “put more time into the review and management of patches from others, they write fewer patches of their own.”
The number of companies paying developers to contribute to the kernel has more than tripled since 2005. Surprisingly, Microsoft is the 17th most active corporate contributor to the Linux kernel, with 688 changes in roughly the last year. Yes, the company that felt threatened by Linux, and whose CEO famously decreed that Linux is a cancer is an active contributor to the Linux kernel. If you can’t beat ‘em, join ‘em, eh?
The average development cycle for new kernel releases is 80 days. That number has been shrinking lately, with recent releases taking less than 70 days. The rate of change for a kernel with 15 million lines of code and thousands of active developers producing stable releases in under 12 weeks works out to, on average, 4.3 patches per hour since 2005. For the 3.2 kernel, released January 4, 2012, it was 6.88 patches per hour.
As the report observes:
It is worth noting that the above figures understate the total level of activity; most patches go through a number of revisions before being accepted into the mainline kernel, and many are never accepted at all. The ability to sustain this rate of change for years is unprecedented in any previous public software project.
For those interested in a layman’s perspective on kernel development, the Linux Foundation has put together a little video that highlights the process in a nice way.
The Linux kernel has come awfully far in the last 20 years. It’s a huge collaborative project from which a growing number of companies are deriving real benefit. As such, more and more companies are spending time and money to contribute to it. It’s fun to look back at where the kernel has been, and get some perspective on where it — and the larger open source ecosystem — is heading.