How Linux is Built [and How Drupal Compares]
Ever wondered exactly how much of the Linux kernel was developed by corporate-backed developers vs. individual volunteers? The answer is 70%. So says this new report from the Linux Foundation.

The report is packed with all kinds of interesting information like the following:
- The Linux kernel is growing about 10% per year. Glyn Moody is not so happy.
- 26 developers contribute more code to the kernel than Linus
- The Linux kernel averages 2.7 months between releases.
- On average, there are 2.83 Linux kernel patches accepted each hour
- Canonical doesn’t appear on the list of around 30 companies sponsoring Linux kernel development in a substantial way. I don’t know why that is.
- The number of kernel contributors per release has grown to over 1000 very recently, but was under 700 just two and half years ago.
This last point is interesting, because Drupal 6 core had over 700 individual contributors. Of course Linux kernel is just one part of the total Linux system, and Linux is much more broadly adopted than Drupal, yadda yadda yadda. But 700 contributors is a lot, any way you slice it.






Canonical does it like “We take the latest stuff, add our spice to that, and release the combination”. Red Hat does it like “We add our spice to the latest stuff, and release it that way”. Novell does it like “We come up with spicy stuff, release the combination, and then contribute it to upstream”.
Something like that. Red Hat and Novell are laying the groundwork (NetworkManager, PolicyKit, Compiz, and a lot more sponsored Kernel/GNOME/KDE developers), while Ubuntu focuses on integration of that groundwork with their desktop, preferably using Python applications which won’t be used by many other distros.
One could claim that Ubuntu is the best desktop because it makes use of code that the other distros can’t or don’t want to use, but Ubuntu can include most of the nice stuff that Red Hat and Novell are throwing out. They focus little on research and development but more on building a product from what’s there already. And that strategy seems to work - I use Kubuntu instead of Fedora or OpenSuse, and although I like Red Hat’s contribution philosophy a lot more, Ubuntu’s Debian roots and the just-works spirit make it just so comfortable to run.
On the problem of code bloat…
Perhaps readers to this post might be interested in how one kernel company successfully solved the code bloat problem. One shining example is Wind River’s VxWorks. This kernel has been around as long or longer than Linux. Sure there are many problems to the availability and application life cycle management for the VxWorks kernel: not being a free and open source product, for example. Linux developers could solve their code bloat problem with a small architecture lesson from the designers of the VxWorks kernel.
I detailed the reusable aspect of VxWorks for Linux kernel developers in this post:
http://www.embeddedcomponents.com/blogs/2007/11/how-to-leverage-the-valule-of-a-board-support-package/
LynxOS, a Linux-like operating system with a small microkernel, board support package, and a Linux binary compatibility application layer is another example of this same sort of “thinking small” architecture redesign that the Linux community might consider.
As for Drupal, I think the modular design may already be on the right track to mitagate code bloat…
Best regards,
Ron