Bloated

I know … it’s an article versus Linux. But it’s a comment from Linus himself, that led to this article. A long time ago, i wrote in this blog that one of Linux problems is the point, that people use it from tiny microcontrollers up to huge multiprocessor systems. To say it with Kurt Tucholsky: “Who is open to all sides, can’t have an airtight skull” (the last stands for something like “off one’s rocker”, the original citation is “Wer nach allen Seiten offen ist, kann nicht ganz dicht sein”). Now Linus Torvalds said at an event, that nice little penguin is a bloated and scary beast today. Matt Asay writes:

Linus Torvalds, founder of the Linux kernel, made a startling comment at LinuxCon in Portland, Ore., on Monday: "Linux is bloated." While the open-source community has long pointed the finger at Microsoft's Windows as bloated, it appears that with success has come added heft, heft that makes Linux "huge and scary now," according to Torvalds.

Of course it’s a nice sign of success, when people port more and more stuff to an operating environment and into the kernel. Perhaps this is the price of success. But at foremost it’s a problem. Bloat isn’t just about using more memory, it’s about speed as well. The Register delivers another interesting piece of information:

Citing an internal Intel study that tracked kernel releases, Bottomley said Linux performance had dropped about two per centage points at every release, for a cumulative drop of about 12 per cent over the last ten releases.

Okay, Solaris gets faster and faster, and Linux gets slower and slower … ;) Interesting development. But that’s not the point of this blog entry. I just cited this article to show that bloat is a problem. Matt didn’t ask the more obvious questions: Is this way of development sustainable? Is the “grand unifying kernel” a good idea? Should Linux concentrate to one market? Microcontrollers are a pretty much different market to desktops. Desktops are different to Servers. Servers are different to HPC. Or should they fork Linux to address different markets? But other parts of the development process should mature to enable such an development. Like having stable set of binary and source APIs to enable an easy exchange of kernel components between those developments, an API standard that all forks commit to. Should they rearchitect Linux for the future (the SunOS/Solaris moment for the Linux community). And as refactoring, optimization and rearchitecting are tedious and boring tasks: Who will do it? I think, the next few years will be interesting ones for Linux.