Is the Linux Kernel In Trouble?
Does Linux kernel development face a crisis in the coming years? That was one of the topics of discussion at LinuxCon this week, and the concern has been raised before. The kernel, of course, is the product of one of the longest collaborative software projects ever, and continues to get substantial parts of it forward progress from contributions from commercial companies. There is concern, though, that the kernel is too complicated for the existing development model now, and concern that commercially driven development interests will skew away from what might produce the healthiest possible kernel.
"Attracting talent to work on the kernel will be more challenging in the future, according to James Bottomley, a Linux kernel maintainer and 20-year distinguished engineer (SUSE) at Novell. Now that the kernel and Linux industry is mature, commercial opportunities have become far more appealing to new developers than kernel development, he maintains."
She also notes that Red Hat’s Fedora kernel maintainer Dave Jones says the kernel is "daunting" in its complexity, which is significant because Red Hat is among the largest contributors to the kernel.
However, the argument that any of this represents peril for Linux kernel development has a lot of holes. Development tools get better every year, for one thing, at reducing complexity in creating code, reusing code, and more. That's been one of the biggest revolutions in software development for years now. Furthermore, consider this snapshot from the Linux Foundation of how significant the contributions from commercial companies really are:
It's inevitable that the Linux kernel will gain in complexity over time, but there are mitigating factors that have to do with whether that will negatively affect the kernel. Some of the best developers from commercial software companies will tend, over time, to contribute more than just self-interested components. The tools that they use will aid in complexity reduction. It's far from time to sound the warning bells for the Linux kernel, which just appeared in a robust new version. It's safer to bet on the ongoing ingenuity of developers, who have always found ways to make the kernel better.