Slashdot Mirror


According to Linus, Linux Is "Bloated"

mjasay writes "Linus Torvalds, founder of the Linux kernel, made a somewhat surprising 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." TuxRadar provides a small capsule of his remarks as well, as does The Register.

43 of 639 comments (clear)

  1. Problem by sopssa · · Score: 5, Insightful

    "Okay, so the summary of this is that you expect that 12 per cent to be back to where it should be next year, and you expect someone else to come up with a plan to do it," joked Bottomley. "That's open source."

    That is also the problem. Everyone adds pieces and eventually it starts to become a mess. Then someone else should fix it.

    1. Re:Problem by Anonymous Coward · · Score: 5, Insightful

      That's all software.

    2. Re:Problem by sopssa · · Score: 3, Insightful

      But when its open source, it's easier to think that maybe I cant be bothered to look at this now, someone else can do it. When its proprietary software and you get the assignment to look at it, you pretty much have to do it.

    3. Re:Problem by Galactic+Dominator · · Score: 5, Insightful

      Properly managed opensource projects deal with this appropriately, some do not.

      Properly managed proprietary projects deal with this appropriately, some do not.

      --
      brandelf -t FreeBSD /brain
    4. Re:Problem by bostei2008 · · Score: 5, Insightful

      I agree.

      The people hating messes are the developers which have to look at this day by day. Cleaning up code is never something managers care about - its always driven by developers with a sense for order and simplicity.

      That means that Open Source software has a higher chance of getting cleaned up than propietary software, because there you have a higher percentage of truly motivated developers and no managers to bug them. Sigh...

    5. Re:Problem by Hal_Porter · · Score: 3, Insightful

      How does that work? In a proprietary project if your boss says "do this" you either do it or find another job. In an open source project you could just flame the hell out of the guy that told you on the public mailing list and carry on working on something else.

      And in a proprietary project if customers want something fixed they can threaten to not pay which in even the most incompetent company will tend to make your boss tell you to fix it. In open source that mechanism does not exist.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    6. Re:Problem by Jurily · · Score: 2, Insightful

      While I am a linux/gpl fanboi, i think the bsd distros don't have this problem because they have much stricter people at the top of their kernels, and i think this is yet another sign that Linus should not be the only one running the show.

      Heh. BSD doesn't have this problem because nobody cares enough about them to contribute enough code. You don't really have to think about feature creep at 3 patches per week.

    7. Re:Problem by renoX · · Score: 4, Insightful

      That's false of course:
      1) the deciding factor for project management is the non-commercial/commercial status of a project, not the closed/open state of the source.

      2) for non-commercial projects, both developers 'goodwill' and proper management are needed to avoid bloat; whereas for a commercial project only proper management is needed (as the management decides where the money will go).

      Note that the Linux kernel is a blend of non-commercial and commercial projects as many developers are paid to work on the Linux kernel and many aren't.

    8. Re:Problem by Lumpy · · Score: 5, Insightful

      Cleaning up code is never something managers care about

      Most managers care a LOT about cleaning up code. It's a waste of time in their eyes and most will write you up for wasting time if they discover that you are doing it.

      They wanted it done last week, cleaning up code misses deadlines and is a waste of time as far as management is concerned.

      --
      Do not look at laser with remaining good eye.
    9. Re:Problem by LordNimon · · Score: 2, Insightful

      You forgot the fourth group: embedded system developers.

      --
      And the men who hold high places must be the ones who start
      To mold a new reality... closer to the heart
    10. Re:Problem by DrgnDancer · · Score: 5, Insightful

      The same way people in raid guild do what they're supposed to in raids even though it's only a game and raid officers can't do anything to you really; or members of Civil Air Patrol follow military customs and courtesies toward their officers despite those officers having no actual UCMJ authority; or people in SCA listen to the nobles of their "Baronies" despite those people not having any real world authority. When you join a group or a project, you agree to abide by the rules of the group or project. If you eventually find that you can't, you generally either leave or are forced out. if the project lead on a properly managed project asks you to do some boring grunt work, you either do it or find a new project and someone else will be asked to do the work.

      If the project is generally fun or personally beneficial for you to work on, you'll do the grunt tasks you're asked to do, because otherwise you'll eventually be off the project. If the project wants to keep it's user base (and most do) it'll fix as many problems as it can to keep the users happy.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    11. Re:Problem by sylvandb · · Score: 2, Insightful

      And in a proprietary project if customers want something fixed they can threaten to not pay which in even the most incompetent company will tend to make your boss tell you to fix it. In open source that mechanism does not exist.

      In open source you can fix it yourself or pay to have it fixed. With proprietary software that mechanism does not exist.

      When a customer says "fix it" re. proprietary software, it only means that the result passes some test. Very seldom does the customer see the code and understand the cruft involved. So that seldom if ever gets fixed, and nearly always gets much worse over time. In proprietary software the black box is truly black.

      sdb

    12. Re:Problem by sylvandb · · Score: 3, Insightful

      Why should Linus focus for Desktop Linux. It is a dead horse... Deal with it. Its a Dyeing market. Let Microsoft go down with that ship. Linux should be designed better for cloud/distributive processing, and server stuff. We are getting to a point we don't need desktops we need a thin client that can connect to the network. And let someone else do the work.

      LOL

      People have been denying the need for and predicting the death of desktop computing since before desktop computing existed (for at least 50 years, http://en.wikipedia.org/wiki/Thomas_J._Watson#Famous_misquote).

      The only thing that has happened is that computing has become more and more pervasive as people hold more computing power in their hand than existed in the computer room 50 years ago.

      If desktop computing ever goes away, it will be because the desk is gone. People will still have their own computer(s), and every computer will need an operating system. That OS might as well be Linux as anything else.

    13. Re:Problem by RiotingPacifist · · Score: 2, Insightful

      Why should Linus focus for Desktop Linux.

      I'm not saying he should, but desktop distro's certainly need to!

      --
      IranAir Flight 655 never forget!
    14. Re:Problem by ThePhilips · · Score: 3, Insightful

      Why should Linus focus for Desktop Linux. It is a dead horse...

      And in some part is a dead horse thank to Linus himself.

      Point is that "perfect kernel" from system developer POV, is "piece of useless junk" from POV of application developers.

      Sound interface is at best dysfunctional. Video acceleration is constantly "under construction" (redone 5th time now or so). Real-time timers required for smooth multimedia and games are still at large.

      Just look at Apple's Mac OS X on how problems have to be handled. Instead of debating about what should/shouldn't be in "perfect kernel," people concentrate their work on areas which actually relevant to application developers and of benefit to end users. Apple took the line "if we don't do it who else" while Linus' official line is something like "do it in userspace" or "do not care. don't have to. I'm system programmer."

      --
      All hope abandon ye who enter here.
    15. Re:Problem by Ephemeriis · · Score: 2, Insightful

      How does that work? In a proprietary project if your boss says "do this" you either do it or find another job.

      Sure... You're given an assignment and you basically have to do it. But somewhere along the line somebody has to decide what is a priority and what isn't. Somebody decides what actually gets done. And it doesn't really matter if it's a proprietary project or not - stuff slips through the cracks.

      You think a company is going to drop everything to refactor some code just because it's getting a little long in the tooth? Even though everything works? You think a company is going to put a whole lot of time and effort into optimizing their code to get the installation down under ## GB, even though HDDs are dirt cheap and the code actually works?

      It all comes down to priorities. And important stuff can get a low priority with proprietary code just as easily as open source.

      In an open source project you could just flame the hell out of the guy that told you on the public mailing list and carry on working on something else.

      You can... And nobody is going to force you to write any code in particular... But the situation is a little unique in open source software... If you are unwilling to update your code, for whatever reason, someone else can. Some other random guy on the mailing list can make the changes. And if you're seen as enough of an obstruction, they'll just fork your code and carry on without you.

      And in a proprietary project if customers want something fixed they can threaten to not pay which in even the most incompetent company will tend to make your boss tell you to fix it.

      Maybe... It depends on just how badly you need a particular piece of software. I've got clients paying for upgrades and support to buggy software because they can't run their business without it. Year after year, thousands of dollars, and the software still sucks. And they complain about it constantly. But they can't do business without it. So they learn where the bugs are and work around them.

      In open source that mechanism does not exist.

      No... But in open source you're never tied to a specific vendor. Absolute worst-case scenario you can pay someone to fix those bugs for you.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
  2. I've met the enemy by Zarf · · Score: 2, Insightful

    I've met the enemy and they is us.

    --
    [signature]
    1. Re:I've met the enemy by sumdumass · · Score: 4, Insightful

      Bloat isn't a problem

      Until it causes system instability, slow performance, or increases the size of the code without adding any new features or fixing a problem. Bloat can become a problem, but it doesn't have to be. I thought I would just point that difference out because "isn't" seems to be an absolute which it shouldn't be.

  3. Obvious weird Windows comparison by dingen · · Score: 3, Insightful

    Of course nobody refers to Windows' kernel when people call it bloatware. Linus however is not talking about Linux as a distro or an operating system, it's just the kernel that's too bloated in his view. And with over 11 million lines of code, it's hardly even a flame.

    Now if only he had developed a microkernel instead...

    --
    Pretty good is actually pretty bad.
    1. Re:Obvious weird Windows comparison by dingen · · Score: 3, Insightful

      Well, if you just take a look at this monster I think you'll quickly will come to the conclusion that even providing the most basic functionality can lead to something quite complicated. And of course, "basic functionality" in 2009 means something else entirely when compared to 1991 when Linux started out.

      It should be noted that of course the module-system works pretty good to keep things organised, so no developer needs to dig through millions of lines of code to make a few tweaks. But it's a monster nonetheless.

      --
      Pretty good is actually pretty bad.
  4. Specialist's bloat is not user's bloat by Dystopian+Rebel · · Score: 5, Insightful

    What "bloat" in software means to LT as the high priest of the kernel and what bloat means to me as a user are two different things.

    To a user, bloat means awkward, slow, inefficient, and needlessly large (if my storage space or bandwidth is limited). But these are all *perceived*. I don't perceive Linux to be bloated.

    In fact, I find *NIX with almost any window manager to be the most efficient computer OS I have ever used. Linux is the best of them, despite being a clone of the UNIX userland.

    If an OS can boot from a floppy or small USB key and be totally usable, it is certainly not bloatware. Rewrite the Linux userland in MONO or Java and then we'll talk about bloat.

    --
    Rich And Stupid is not so bad as Working For Rich And Stupid.
    1. Re:Specialist's bloat is not user's bloat by Anonymous Coward · · Score: 3, Insightful

      Funny, I find Open Office to be bloated compared to MS Office.
      KDE/Gnome to be bloated to XP.

      That's why I use the best tools for me: MS Office and XP (in that order)

      It's not perfect, far from it, but works the best for me.
      KDE, Gnome, OO just feels like molasses everytime I try, and don't misunderstand:
      I've spent years under KDE, but given up on it every time after spending ungodly hours fixing what should work out of the box.
      OO has awful UI. I can't use it. Feels like a program from the early 90's which you can't figure out..

      Fixing the bloat in KDE/Gnome and OO UI, would work wonders for many people..

  5. Microkernels. Hmm... by Viol8 · · Score: 3, Insightful

    "Now if only he had developed a microkernel instead..."

    It would be bloated AND slow.

    But hey, it would look pretty in a high level UML diagram.

  6. Re:Are too many added drivers really the cause? by OzPeter · · Score: 3, Insightful

    I always thought that building drivers into the kernel was going to be Linux's downfall. There is an un-ending supply of equipment that requires drivers and they can't all go into the kernel without some repercussions. Let alone being a black hole that continually sucks up stuff and never deletes it. This design may work well for a small system with limited hardware but is doomed to fail at some point when trying to scale it up for the real world.

    --
    I am Slashdot. Are you Slashdot as well?
  7. Re:Bloat is often moot by natehoy · · Score: 4, Insightful

    Torvalds' use of the term "Bloated" in this case refers specifically to a loss of performance and an increase in size and memory usage, not of confusion.

    I think there are two (competing) goals for the Linux kernel as a whole (well, there are as many goals as there are developers, of course, so the two competing goals are more of a continuum).

    On one side, there is a desire for the Linux kernel to support more features so distros can be built to be more like popular mainstream operating systems like Windows and Mac. Ease-of-use, a pleasant user experience, separation/insulation from the dreaded Command Line, pretty graphics, massive hardware support, and support for more "oddball" configurations like multiple screens, etc. So it's desirable to have lots of driver support and lots of hooks into the operating system to support fancy stuff.

    On the other, there is a desire for Linux to be small, sleek, and fast, particularly for embedded projects.

    The former has been running the show for a while, and I think that's healthy and positive, but the kernel has gotten larger and slower at its basic job. For desktop users, this is good news since a lot of things that had to be done at "higher" levels can now be accomplished directly in the kernel, so they might actually have a faster user experience, and they've got resources to burn since most PCs are specced out for Windows, so Linux has a lot of spare growing room in that hardware.

    But for embedded/minimalist supporters, it means they need to add more hardware to their machines to support the now-larger kernel, chock full of features they'll never need or want.

    --
    "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
  8. Simple solution by BhaKi · · Score: 1, Insightful

    That is also the problem. Everyone adds pieces and eventually it starts to become a mess. Then someone else should fix it.

    Or we can just use an old version. Unlike to the case of proprietary software, we are not being forced to upgrade to "bloated mess".

    --
    The largest prime factor of my UID is 263267.
    1. Re:Simple solution by coryking · · Score: 3, Insightful

      Clearly whoever modded you up has never tried what you are suggesting. I can only name a handfull of open source projects that backport security fixes to old versions and of those, they only backport to versions a few years old.

      In fact, I'd say the longest lived "old version" is probably Apache 1.3. The 2.x series has been out for, what, forever and yet they continue to push out fixes for 1.3 (last was Jan. 2008).

      I'd wager the biggest complaint I have with most open source is the a) dont understand what true stability means and as a result they b) rarely support old versions. It was one of the prime reasons I switched to FreeBSD. If I install FreeBSD 6.2 today, I know I'll get security fixes for at least a good half decade and probably a bit more if I track the 6.x series.

      Yeah yeah yeah, debian, yeah yeah... but dont get me started on the other reasons I switched (cough crappy docs, cough, crappy unstable kernel, cough

  9. Pick two by justthinkit · · Score: 4, Insightful

    (1) Large feature set
    (2) Compact/optimized
    (3) Fast to market

    Pick any two...

    --
    I come here for the love
    1. Re:Pick two by adrianwn · · Score: 2, Insightful

      (1) Large feature set (2) Compact/optimized (3) Fast to market Pick any two...

      ...and you'll get one. If you're lucky. And it won't be (3). And sometimes it won't be one of the two that you picked.

  10. obvious by walshy007 · · Score: 4, Insightful

    more hardware support and more functional tasks with scope creep means larger code base. nothing to see here, move along.

  11. Re:Translation: by jedidiah · · Score: 2, Insightful

    What do you think is extra? What would you remove? Are you able to remove it?

    For Ubuntu, I can easily answer these questions because the system is transparent
    and I can act on my preferences without even being a developer because the system
    is flexible, modular and open.

    I can even get rid of a lot of Linuses kernel code because there's been a nice shiny
    happy build GUI included with the kernel since the 1.x days.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  12. Ah, the ever quotable Linus. by hey! · · Score: 5, Insightful

    This is like the salesman's nightmare, where you take the guy from engineering to visit the customer. Things are going great, the engineer can answer all the customer's questions.

    Then you realize, *the stupid bastard is answering the questions honestly*.

    Honesty is a basic requirement to be a halfway decent engineer. Persistent and incurable dissatisfaction with how you did the last job is another. Even if you *know* you did a great job, deep inside part of you knows you could have done it *better*.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  13. Re:So, Andrew Tannenbaum by Anonymous Coward · · Score: 1, Insightful

    Pretty much. He argued that monolithic kernels were obsolete in the 70s, and he was right. The kind of people that argue for monolithic kernels are the same people that argue C over C++ because it's "faster" and "more portable." Possibly true in slight corner cases but completely outweighed by other use cases.

    Meanwhile, everyone else important (Windows, OS X) have been using hybrid designs forever.

  14. Re:Bloat is often moot by nomadic · · Score: 2, Insightful

    Often the term bloated is misused meaning the speaker is at a point where he/she personally starts to find a technology confusing to wade through.

    Linux today does not boot significantly faster than it did 15 years ago. That's bloat.

  15. Re:Are too many added drivers really the cause? by QuantumRiff · · Score: 3, Insightful

    the kernel modules are not its downfall, they are its biggest asset.

    I have a laptop HD with my copy of Ubuntu running on it. I popped it into another model of laptop yesterday, (from a Dell D630 to a Lenovo T400) everything worked fine.

    I plugged a printer in a week ago, worked fine. Connected my Cannon camera, it popped up and asked if I wanted to import the photos. I plugged in my wife's ipod, and it asked if I wanted to open Rythmbox.

    On windows, I would have had to go to countless websites, download drivers (or itunes) install, and troubleshoot. With linux, all of that just worked. On XP it was a pain in the ass to switch between AHCI and compatibility mode on my laptop. With linux, I can switch whenever I want.. it just works..

    --

    What are we going to do tonight Brain?
  16. Microkernel by bluefoxlucid · · Score: 4, Insightful

    Next year he's going to claim that Minix was doing it right all along. We've seen a lot of Linusisms to that effect... $X needs to be outside the kernel... $Y shouldn't happen the way I've been screaming for years... I told $Z to fuck off because he's stupid but he was right and we need to go do that yesterday ... it's just how Linus is. He's an opinionated fat bastard, and then one day he realizes he's fucking wrong and just goes, "SHIT! Well let's do that then >:O"

  17. Re:Bloat is often moot by Antique+Geekmeister · · Score: 2, Insightful

    What? No, that's not the kernel. That is:

    > The BIOS - take a look at the LinuxBIOS or OpenBIOS work to see where that can be improved. But oh, my dear goodness, it can be improved.
    > Incredible masses of new hardware that do need detection and configuration at boot time. That's been a sore point: it takes time to scan for all that hardware, and you can optimize it by leaving out tools, but people do like having their network cards and USB drives and graphics tablets work automatically at boot time. That's not the fault of the kernel: that's the fault of the time taken to detect and configure low-level hardware components, such as RAID controllers, which may be necessary to begin to load _any_ kernel with the actual drivers to run the operating system.
    > Masses of init scripts starting up many, many, many services in a very lengthy sort of way. Those can be optimized far more than they are, and parallelized: but it takes a rewrite of the 'init' procedures to do so, and that's not the kernel's fault.

    I'd like to see all of these improved: all of them are, in fact, plagued by bloat. But they're not hte kernel.

  18. Funny! by hesaigo999ca · · Score: 2, Insightful

    He should start a separate distro and call it leanux....not like we can't make do without another distro out there.

  19. Poor Journalism by DaMattster · · Score: 2, Insightful

    I did RTFA and I must say the article was poorly written - so much so that the author felt he needed to publish a correction that summarily states (what open source power users already know) that the Linux kernel can be "trimmed or fattened up." It is immaterial that Linux has gotten more bloated as the fundamental difference between it and Windows is that you as the consumer have the choice to "trim the fat." While I am an open source users, I am pragmatic and I believe it cannot be all things to all people and Windows has some advantages over Linux. For example, the choices of Linux can be downright bewildering and each distribution behaves differently with its own quirks. Windows is Windows. Even though distributions share a common kernel, they are really distinct OSes in their own right - applications run differently and have different behaviors. As Samba will tell you, sometimes compiling succeeds on three out four large distros. In theory, they should be all compatible.

  20. Re:So, Andrew Tannenbaum by Anonymous Coward · · Score: 1, Insightful

    I agree halfway with you there, but grasping object based design of the better reasons to stay the hell out of C++. That goddamn clusterfuck for a language manages to screw up somehow pretty much every OO concept in existence.

    Want to use dynamic polymorphism? Can't do. The base class author didn't bother to make functions virtual (and you aren't the maintainer of that code).
    Want to write generic routines using OO rather than templates? Good luck. There's no default class, for starters. (naturally, certain concepts that'd make the problem a non-problem don't exist in C++)
    Want to alter implementation details without touching public headers? Sorry, C++ isn't like that.

    Want to battle endlessly with templates, initialization order and type system oddities, learn design patterns that are completely useless anywhere else or spend a lot of time glueing incompatible code together? Hey, it must be your lucky day.

  21. Re:Are too many added drivers really the cause? by Anonymous Coward · · Score: 2, Insightful

    On windows, I would have had to go to countless websites, download drivers (or itunes) install, and troubleshoot. With linux, all of that just worked. On XP it was a pain in the ass to switch between AHCI and compatibility mode on my laptop. With linux, I can switch whenever I want.. it just works..

    Worst of all, you would need to reactivate XP/Vista popping HD from laptop A into laptop B. This assumes they let you or you press the right monkey buttons when calling in. Switch the HD back, and reactivate again (and again).

  22. Re:Bloat is often moot by mcgrew · · Score: 2, Insightful

    On one side, there is a desire for the Linux kernel to support more features so distros can be built to be more like popular mainstream operating systems like Windows and Mac. Ease-of-use, a pleasant user experience, separation/insulation from the dreaded Command Line, pretty graphics, massive hardware support, and support for more "oddball" configurations like multiple screens, etc

    I risk sounding like Stallman here, but in this case the distinction actually matters. We're discussing the kernel, not the OS. The OS is GNU, the kernel is Linux. There are various desktops for GNU, most people use KDE or Gnome (I like KDE). It's easy to use, like Windows there is a command line but you won't need it (at least with Mandriva) but you can write shell scripts just like with Windows you can write batch files (and GNU is far and away superior here), it has pretty graphics, far more massive hardware support (Linux will run on anything from a wristwatch to a supercomputer while Windows only runs on PCs and servers), and it is easily configurable for oddball stuff.

    But the stuff I mentioned in the previous paragraph is, like your post, completely offtopic as none of them has anything to do with the kernel. You're talking about the shell/desktop when the discussion as about the kernel.

  23. Re:So, Andrew Tannenbaum by samwichse · · Score: 2, Insightful

    Um... what are you doing with that N800? Probably surfing FAT websites like Slashdot).

    Now what are you doing with MINIX in 16MB of RAM? Probably not much.

    How about DD-WRT micro on a WRT54G > version 6? 2MB flash, 8 MB RAM and it runs a nice router and serves up config pages, QoS, etc.