Commentary

Serdar Yegulalp
 

Linux And The 'B' Word: Bloat

If Linus Torvalds himself is saying that the Linux kernel is bloated, something's wrong. Or is it just a matter of expectations and perspective?

If Linus Torvalds himself is saying that the Linux kernel is bloated, something's wrong. Or is it just a matter of expectations and perspective?


More Software Insights

White Papers

More >>

Reports

More >>

Webcasts

More >>

The ZDNet / Adrian Kingsley-Hughes blog post that relates Linus's remarks also contains this observation:

... 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.

Open source development's been touted as a panacea for many things, but bloat is something that can plague any project, no matter how it's developed. Bloat's a problem of vision and management, not architecture and development.

The Linux kernel bloat problem as it's been described, as I see it, stems from a couple of things: 1) trying to be all things to all people at the same time, and 2) having the ecosystem be a large collection of disparate pieces that are not overseen in any one specific way. This is all by design.

The first is one of Linux's strengths and weaknesses, both. Linux can be bent and shaped as needed, and I've written before that Linux's big strength is in being raw material -- a starting point rather than an endpoint. But that typically requires a fair amount of work out of the gate both to pare down what isn't needed and add what is.

The second's a by-product of the way Linux evolved: over time, the kernel was paired up with many other pieces (Apache, GNOME, X.org, etc.), with each one -- kernel included -- continuing to be its own project. The distributions don't oversee how each of those projects could be organized into a coherent single vision; none of them seem to want that, anyway. The end result is a lot of accumulated pieces that were broadly useful, but also not part of any top-down vision except as implemented by the individual distributions.

To that end, maybe "bloat" is the wrong word. I see Linux as being more sprawling than bloated: it can be shaped into so many different things that by default it has trouble being any one thing. The different distributions do go a long way towards taming that sprawl, but not effortlessly.

Kingsley-Hughes didn't seem to think bloat was as much of an issue. If Linux performs well enough, then criticisms of "bloat" are more subjective than anything else. E.g.: bloated compared to what, exactly? To Windows, to BSD, to embedded systems, to other versions of Linux?

I see it a little differently. "Bloated" is one of those labels that once applied, is very hard to get rid of. If Linux is gaining a reputation amongst one of its own creators for becoming bloated, that's a sign some serious rethinking of its vision is in order -- that it should be, by definition, a little less amorphous and a little more refined.

InformationWeek has published an in-depth report on Sun's future under Oracle. Download the report here (registration required).

Follow me and the rest of InformationWeek on Twitter.


Related Reading




Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

InformationWeek encourages readers to engage in spirited, healthy debate, including taking us to task. However, InformationWeek moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. InformationWeek further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
T-Shirt Giveaway T-Shirt Giveaway: Each week we're selecting one great comment from our readers. The author of the comment will receive an InformaitonWeek Community t-shirt. So get posting!
Subscribe to RSS

Resource Links