Yesterday at LinuxCon, Linus Torvalds founder of the Linux kernel, made a few comments about Linux usually reserved for Windows:
"Linux is bloated!"
It gets worse ...
"We are definitely not the streamlined, hyper-efficient kernel I envisioned when I started writing Linux."
"The kernel is huge and bloated, and our icache footprint is scary. I mean, there is no question about that. And whenever we add a new feature, it only gets worse."
OK, harsh words, but does it matter? Well, from the point of view of the user I don't think it makes any real difference. In fact, the bloated nature of the kernel might actually help Linux compatibility. Given the wide variety of platforms that Linux can run on, it's hardly surprising that the kernel isn't "streamlined" or "hyper-efficient".
According to Torvalds, the it's not causing much problems with regards to stability:
"I think we've been pretty stable. We are finding the bugs as fast as we're adding them, even though we're adding more code."
From a developer perspective a messy kernel will make things more difficult to update the kernel. But then again, in a situation where a project is constantly on the grow, adding new features is sexier and take priority over tidying up existing code. In fact, getting developers to go back to basics can be an uphill struggle.
But it is interesting to see how open source is vulnerable to the same problems associated with bloat in the same way that commercial projects are. What I think is interesting is how as Linux has become bloated, both Microsoft and Apple have been working hard at optimizing code and tidying up their code.
Bottom line though, unless code bloat is at the point where end users are affected by it, then it's not really a big deal. Bloat from the perspective on the user, and bloat from a developer's point of view are two very different things.