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.
"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.
I've met the enemy and they is us.
[signature]
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. Different people perceive different "bloat" points, so it's often relative. When it comes down to it, bloat is just software. As long as the pieces are loaded and run efficiently enough that the end-user, sysadmin, etc is happy then bloat is often a moot point and each person only needs to understand their own role and related facets of the software. We work as a team.
is finally having the last laugh? /dnrtfa
... if he decided to develop a new completely independent kernel.
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.
However, Minix continues to maintain its girlish figure.
Uh, I'd love to say we have a plan. I mean, sometimes it's a bit sad that we are definitely not the streamlined, small, hyper-efficient kernel that I envisioned 15 years ago...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.
And also:
He maintains, however, that stability is not a problem. "I think we've been pretty stable," he said. "We are finding the bugs as fast as we're adding them -- even though we're adding more code." Bottomley took this to mean that Torvalds views that the current level of integration acceptable under those terms. But Mr. Linux corrected him. "No. I'm not saying that," Torvalds answered. "Acceptable and avoidable are two different things. It's unacceptable but it's also probably unavoidable."
I think that's very important to note. His quote by itself is very self-loathing but to add that tit's unavoidable really says a lot. You want to be popular? You have to satisfy more people and in doing so you become more bloated. He does maintain that Linux remains stable and that's usually the biggest problem I have with bloat. It decreases stability. I don't think there's any reason to get excited about level headed rational and reflection.
My work here is dung.
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.
Windows bloat bad, linux bloat good.
"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.
About two years ago I tested wether my Gentoo kernel was really faster. Disabling 3/4 of the options really just improved boot time and memory footprint, but not overall performance that much, at least far from 12%. Compared to a modularized kernel with just the stuff loaded, that was needed, the difference was negligible. I'm not sure if Torvalds is telling the truth about the reasons. To me it seems that the central, overall kernel architecture has degraded over time with regard to performance.
I guess that we all need to decide. Do we want to run an OS that supports all sorts of peripherals, has libraries for applications developed in many languages and has many additions that are useful for a particular set of users? Or do we want an architecturally neat, clean, and lean OS. If we want the former we go with Linux or Windows. If you want the latter then Minix 3 is pretty neat.
bloat was ever inevitable, if anything it shows linux is fostering a vibrant development community. the thing that separates us from the MS bloat is that we can do something about ours quickly and easily. not all kernel hackers are master coders, so id speculate there is quite a bit of shoddy code (no offense) that can be streamlined by new members, or improved by the originals.
Good people go to bed earlier.
It has been a long time since I needed to compile my own kernel and modules, but I can't imagine things have changed that much over the years. Seems to me that when compiling the kernel, you can select out a LOT of hardware support and other options that aren't necessary for that particular installation. It would surprise me to find that the kernel still fits on a floppy disk though.
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) Large feature set
(2) Compact/optimized
(3) Fast to market
Pick any two...
I come here for the love
more hardware support and more functional tasks with scope creep means larger code base. nothing to see here, move along.
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.
I was under the impression that one can compile the kernel leaving out anything you don't want. Is that not the case?
No, it may not be the default install, but the difference between Linux and Windows is that I have the choice to leave stuff out of Linux.
"As God is my witness, I thought turkeys could fly." A. Carlson
Hurd
Linux should be release under GPL v3 so it can be compatible with Apache license. This would help Linux move forward, invent, and advance the field of computer science instead of just trying to reinvent GCD, ZFS, DTRACE, ect..
Then let's do like most other open source projects when they reach that point : Analyze current version, find good things and bads things, find possible improvement that were impossible because of breakage and legacy. Once the analysis process is complete, start version 3.0 from scratch, implement the new stuffs and improvements, then bring current features in one by one. And don't tell me it cant be done, it has been. And dont tell me it wouldn't be supported : how much time did it take before the 2.6 line has been adopted by industrials and missing critial distro?
Bloated? Of course. Happens in every walk of life. It starts out lean and mean killing machine out of necessity, otherwise there is no success. Life is tough and to be other than at the top of efficiency is a death sentence.
After achieving success then being fat and lazy is a luxury that is no longer fatal.
This happens everywhere the jungle, in the business world, your job and governments. Evolution.
Does anyone remember The Tanenbaum-Torvalds Debate??? I think that Linux is facing the problems that professor Tanenbaum stated more than a decade ago and Linus Torvalds did not take into account. Is something like minix3 (www.minix3.org) the future of operantig systems??
According to some rather-attractive women, Linus is also bloated.
Get some exercise, dude !
at some point, one starts taking more pleasure from hacking stuff off a project rather than from adding it in
Gozer won't like it, but I picked Geico Marshmallow Insurance and Profit. Gozer replied "(5)??" and "is that GNU/Geico?" Behold, the traveler has cum...
Problem solved.
Anonymous comments are as pathetic as the anonymous "sources" that contaminate gutless journalism from the New York Time
The kernel source is one huge imposing giant gnarly tree with branches sprouting everywhere, but judicious use of the make {config|menuconfig|xconfig} command will pull in only those bits you really want. Creating a good working config for a given system does require some knowledge and perseverance but that is more or less a one-time effort.
--frank[at]unternet.org
If we pulled that out into well definied modules, then the evil proprietary driver people will destroy linux! *Covers ears*I'm not listening!*Covers ears*
Seriously, you are correct. I never understood why drivers are so tightly bound to the kernel. Yeah you can load/unload them at runtime but honestly the whole mechanism feels hokey. Plus like 50% of the "drivers" seemed to require the kernel source before you can install them.
... especially when used in embedded systems.
CC.
TaijiQuan (Huang, 5 loosenings)
Bloat isn't bad.
Version 5.0 of Microsoft's flagship spreadsheet program Excel came out in 1993. It was positively huge: it required a whole 15 megabytes of hard drive space. In those days we could still remember our first 20MB PC hard drives (around 1985) and so 15MB sure seemed like a lot... In 1993, given the cost of hard drives in those days, Microsoft Excel 5.0 took up about $36 worth of hard drive space. In 2000, given the cost of hard drives in 2000, Microsoft Excel 2000 takes up about $1.03 in hard drive space...
In fact there are lots of great reasons for bloatware. For one, if programmers don't have to worry about how large their code is, they can ship it sooner. And that means you get more features, and features make your life better (when you use them) and don't usually hurt (when you don't). If your software vendor stops, before shipping, and spends two months squeezing the code down to make it 50% smaller, the net benefit to you is going to be imperceptible. Maybe, just maybe, if you tend to keep your hard drive full, that's one more Duran Duran MP3 you can download. But the loss to you of waiting an extra two months for the new version is perceptible, and the loss to the software company that has to give up two months of sales is even worse.
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
And reading the actual article I can entirely agree with him, but I also think its partly his own fault.
Linus himself (not that long ago) was talking about how they "deliberately" make the kernel code difficult to understand and he had good reasons for that which revolved around not getting people interested unless they're willing to stick with it... i.e. to avoid orphaned code. From my own experience I started writing a kernel module in the scsi stack that i later abandoned because another piece of work expanded to provide the exact same functionality.
The problem though, for me, was that the entire time I was writing my little module it kept occuring to me that there were other parts of the stack I could easily hand off to rather then re-writing it myself. Unfortunately the code is often so hard to read that you spend more time trying to understand if some other segment of kernel code is actually doing what you need to do. Thats painful. Ultimately you end up writing your own little bit of code because you need to be intimately familiar with other branches of code to understand whether you need to implement something or not.
Hence the bloat, im sure there is tonnes of code that could be moved into higher levels of functionality in the kernel that instead get written over and over again even though they may be able to be reused. An example is SCSI and Network, now they are very different branches of code dealing with totally disparate systems but ultimately they do similar things, i.e. take a chunk of data from one interface and dump into another interface. I'd be curious to know how much of what they do gets passed into some higher level kernel code though...?
any data to back this claim up?
"I said EXACTLY this since 1 or 2 years"
Where, what exactly, is there a record on the Internet, of your comment and the comments of the 'fanatics'?
In the beginning, the earth was void of a good free hobbiest UNIX for homes. Having seen Minix and that it wouldn't fit, Linus didst declare "thy kernel shall be monolithic, and monolithic thy kernel shalt be" and his disciples didst rejoice, and sacrificed Microsoft Windows floppies on the altar. ;)
Seriously though, if he is complaining about bloat in the kernel, it's his own fault; he had the opportunity to declare that Linux could be a microkernel and be far more modular but decided sticking with the monolithic design (with drivers optionally being modules) should be the way to go. If he thinks the kernel is bloated, perhaps it is time for him to acquiesce and schedule the Linux kernel to become a microkernel in 3.0.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
Using a microkernel, the same bloat would be in the userspace drivers, so you gain nothing.
I made this same comment on some /. story and instantly got modded -1 Flamebait.
Go figure.
I'll try anything once. Twice if it tastes good
If you counted code that supported specific hardware separately, and you counted code for optional systems separately, your "base" LOC would be much less.
Even if you added back the lines for "your base platform" e.g. the code to boot a trimmed down x86 PC you would still have a smaller set of "base" code.
Ever checked the size of code for device drivers and other modules that most people don't ever use? It's huge.
Sooner or later the Kernel will jettison less-commonly-used modules into their own source packages and leave it up to distributions to handle it from there. There may even come a time when the kernel comes in "pieces" like "base kernel" "x86 common chipsets package" "z-series package" "ham radio package" "scsi package" etc.
This won't happen this decade, but it probably will within 10 years.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Code reuse is a great thing, but it's also easier said then done. You saw that someone wrote X and you thought X ought to be useful, but your problem is slightly different, so you need to generalize X. In order to make X more general, you either have to submit a patch for X or ask the developer to do that. You might run into some issues:
Any software project suffers this problem. It has to do with the fact that it takes effort to work with another person if you want to share reusable code. In the case of one-person project, you may find it difficult that, once you make change to X, you have to change numerous places that use X, so you just fork it to avoid the hard work. You thought you'd go back and clean it up later, but you forget or just don't have the time. Sometimes generalizing is just a very difficult problem, and your language doesn't provide you a good way to do it. The C language certainly doesn't offer much to abstract a problem; C++ at least offers something usable.
I do believe that Linus has the authority and the knowledge to do the editorial work that enforces code reuse. It will just take him a while to trim down all the fats every here and there.
Or he could start Linux 3.0, written in C++. :-p
I once had a signature.
There is nothing sweeter than seeing the fanboys cries of "bloated" shot down inadvertently by their own savior.
Sorry kids, you'll have to find another argument. Or drag out your own personal anecdote, as if that changes everything.
People seem to forget exactly what is "Linux".
"Linux" is nothing but a kernel, and a few core utilities.
Some of it "could" be considered bloated, providing 10-20 different file system possibilities, 2 kernels [SMP, non-SMP], 4 different compression utils [tar, zip, bzip2, etc].
The main fault lies in distros.
I don't need 4 different editors, pico, vi, vim, ed..etc
I don't need 6 different window managers.
Choice is good, let me install what I want.
Ubuntu/Slackware does it right. Install a small core system, and let users add/remove at will.
Other distros just blindly add bloat and crap to the system, until package management becomes pure hell.
...microkernels are better *in the long run*? You only add what you really need and want to, to the basic kernel? Sort of like FF as a browser, which comes stock with just pure browser functionality and no more, then you salt to taste with thousands of add-ons?
I've given up on desktop Linux completely. I use it for servers where it makes sense, and I will continue to but as a Linux user since 1995 I can honestly say that the biggest issue is the lack of oversight and steering. Just as with the Kernel the basic foundation needs to be unified and oversaw. Chaos is great but it is not good for a foundation. Linus needs to step up and accept that the reason the kernel has come along so well is because of the central clearing house and oversight. It's time the base system was the same way. Then let people tweak and change it to make all their various distros to their hearts content. But at least there is a single unified foundation. We've had issues last years that could have been snuffed out in weeks if the base system had some structure across the board. I will never understand why people fight this so hard, look at OSX they have come so far so fast with a tiny fraction of the talent because they are working to one goal. There is a happy medium and we need to find it quick.
http://teasphere.wordpress.com - A little spot of tea
Without drivers a system isn't very useful.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
Comment removed based on user account deletion
Apparently if enough monkeys jab at a typewriter for long enough they can write something great, ref http://en.wikipedia.org/wiki/Infinite_monkey_theorem
However, the monkeys aren't designers the theory is based on random input, the probability of a monkey designing/planning the great work of literature and then writing it is more remote (its an extra condition).
The strength of open source is that the distributed nature of project organization leads to very scalable implementations of ideas/designs.
A design is something that has to exist as a single cohesive vision. It can be broken down but there has to be a top level design before it can be split. (if you have multiple pieces at the top you really have multiple designs)
As a design has to exist completely before it can be broken up it will never scale as well as the implementation of a design.
Design will always be a larger problem than the implementation, its more visible in large projects as their design becomes more complex, it manifests itself as bloat an increased errors as people losing sight of the bigger picture.
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"
Support my political activism on Patreon.
've met the enemy and they is us.
That is should be
enemy ARE us
You are so grammerlitically stupid it pales me too carry this on ward. Stupid hillybillys.
This should be interesting.
Please define exactly what you mean by stable KBI and exactly what you want to hook into to prove that you are not just a parrot of an idiot without a clue.
Nvidia and others seem to manage without any trouble. Everyone else with binary kernel modules says "use kernel version X" or use "RHEL5". In userspace it rarely matters and I can't think of a single example. I thought I had an example but that was a libc problem with old versions of the utter piece of crap "flexlm" from the evil bastards at Macrovision.
Be damned if you do, and be damned if you don't.
I suggest the suggestions that Linux isnt "bloated" because you can trim it are off point. Linux is "bloated" because of the amount of total code, whether you choose to link it in or not. It doesnt matter of JoesTinyDistro ripped out 99% so it could run on a pencil, that doesnt change The Linux Kernel as a whole. That said, so what. Noone's stopping anyone from pulling that 1999 CD off the shelf and using that if they want a less bloated kernel.
The goal of this competition would be to obtain the optimal factoring of the kernel architecture.
Seastead this.
I always knew there was something scary about Apple's instruction caches.
Yes - but moving them out of the kernel will not reduce the instruction cache space required, which was one of the things Linus noted. Actually, it might even increase it.
I think this applies to some distros. For example, Ubuntu comes with Pulseaudio. It is of little or no use to the average person. The average Joe isn't going to stream audio over his LAN or combine two stereo sound cards to make one surround sound card. Pulseaudio creates sound lag, which is why I always remove it when I do an install.
I like a system with the minimal amount of daemons running that are required for operation.
Because, according to Linux... Linus is bloated too.
He should start a separate distro and call it leanux....not like we can't make do without another distro out there.
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.
"Go to any open source software conference and all you see is a sea of MacBook Pro's running Darwin... based on the open source BSD and Mach kernels."
Download the source here.
Let's take a look at the patch history of QNX. QNX is a message passing microkernel mostly used for embedded systems. But it can be run with a full GUI, runs on multiprocessors, and can be run as a server. Millions of "headless" embedded systems have QNX inside. I used it in a DARPA Grand Challenge vehicle. BigDog, the legged robot, runs QNX.
Drivers are outside the kernel. All drivers. File systems are outside the kernel. Networking is outside the kernel. And they're all application programs, not some special kind of loadable kernel module.
There have been 14 patches to QNX in the last two years. Only one is an actual kernel patch: "This patch contains updates to the PPCBE version of the SMP kernel. You need this patch only for Freescale MPC8641D boards." Only one is security-related: "This patch updates npm-tcpip-v6.so to fix a Denial of Service vulnerability where receipt of a specially crafted network packet forces the io-net network manager to fault (terminate)." Neither Linux nor Windows comes close to that record.
There's little "churn" in a good microkernel. Since little code is going in, new bugs aren't going in. Good microkernels tend to slowly converge toward a zero-bugs state.
QNX generally has a "there's only one way to do it" approach, like Python. Linux supports three completely different driver placement - compiled into the kernel, loadable as a kernel module at boot time, and run as a user process. QNX only supports one - run as a user process "resource manager". That simplifies things. A "one way to do it" approach means that the one best way is thoroughly exercised and tested. There are few seldom-used dark corners in critical code.
When QNX boots, it brings in an image with the kernel, a built-in process called "proc", any programs built into the boot image, and any shared objects ".so" wanted at boot. These last two run entirely in user space; they're just put in the boot image so they're there at startup. That's how drivers needed at startup get loaded. They don't have to be in the kernel. (In fact, you can put the whole boot image in ROM, and many embedded systems do this.)
A QNX "resource manager" is a program which has registered to receive messages for a certain portion of pathname space. The QNX kernel has no file systems; part of the initial "proc" process is a little program which keeps an in-memory table of "resource managers" and what part of pathname space they manage. This is similar to "mounting" a driver under Linux, but it doesn't require a file system up during boot. File systems are user programs which start up and ask for some pathname space, after which "open" messages are directed to that file system.
Another QNX simplification is that the kernel doesn't load programs. "exec" is implemented by a shared library. That library is loaded with the boot image, to allow things to start up. "exec" runs entirely in user space, with no special privileges, so if there's a bug in "exec" vulnerable to a mis-constructed executable, that program load fails and everything else goes on normally.
The price paid for this is some extra copying, since all I/O is done by message passing. This isn't much of a cost any more, because you're almost always copying from cache to cache. That's an important point. Message passing kernels used to be seen as expensive due to copying cost. But today, copying recently used material is cheap. On the other hand, some early microkernels (Mach comes to mind) worked very hard to mess with the MMU to avoid big copies, moving blocks from one address space to another by changing the MMU. This seems to be a lose on modern CPUs; the cache flushing required when you mess with the address space on recently used data hurts performance.
I used to pump uncompressed video through QNX message passing using 2% of a Pentium III class CPU. Message passing, done right, is not a major performance problem.
I am with Linus on this one.
The difference is with Linux, you can compile your own distro, removing all the parts that you consider "bloat". One man's bloat is another man's essential feature. Most software gives you a "one size fits all" product, meaning they have to provide the union of every customer's list of desired features in a single product.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
...microkernels are better *in the long run*? You only add what you really need and want to, to the basic kernel? Sort of like FF as a browser, which comes stock with just pure browser functionality and no more, then you salt to taste with thousands of add-ons?
That was my thought as well - Linus has always been against microkernels, they have a performance penalty, but surely he's not arguing against features? Microkernels are the obvious way out of this box.
But then there's the performance problem. This makes me wonder - could hardware support for whatever it is that is the latency killer be developed that would support efficient microkernels? Virtualization was solved this way. I wonder if even those instructions would help. Just thinking out loud, I am not a kernel designer.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
"The microkernel approach sounds wiser until you discover that the kernel might be small, but the drivers and other glue start taking up enormous amounts of space as well." - by postbigbang (761081) on Tuesday September 22, @09:22AM (#29502939)
Adding onto that from you: As do the messagepassing overheads for microkernel based OS' also - they have a "slower than monolithic kernels" downside because of this.
(AND, that's because microkernel OS core architectures have parts "external to them", such as drivers for various hardwares (some built into the core itself as in the case of Linux))
This is why you'll hear things like "microkernels are slow" vs. monolithic kernels.
E.G. #1 on why this happens & how -> Keep stuff in the same CPU privilege level (called Rings or RPL's, kernelmode on x86 based stuff being @ Ring 0/RPL 0, & that's where external drivers run alongside the OS core) you get speed, but more "kernel size".
E.G. #2 -> Start to use usermode (pnp drivers), which IS what "microkernel architected OS'" use?
That's where & WHY You get more messagepassing overheads!
It's due to userland/usermode being in Ring 3/RPL 3 of the x86 processor protection model, because their messages, like usermode apps, have to be translated via the HAL (for OS that use hardware abstraction layers), to get back to Ring 0/RPL 0 where the OS core is, so it can use those to talk to hardwares.
SO, BOTTOM-LINE, IS THIS:
It's ALL "push-pull" in this science. You give extra to one area (keeping kernel small so it doesn't take up much space in memory, and it MUST remain in memory for performance purposes @ least, which also allows smaller kernels like these to be great for devices that lack "tons of RAM" etc. et al). This is where the "science of balance" (optimizations) occur, for various situations & builds (this is where "MODULAR DESIGN" makes a TON of sense).
APK
P.S.=> This is/has been my understanding of the differences between various Operating System core architectures, in general... there are also "hybrid kernels" that sort of "cross the lines between both worlds" AND an example thereof?? Windows NT-based OS are such a design - going for "the best of both worlds" in an attempt @ that "science of optimization" I noted above... apk
... you can still do make menuconfig on the source. The bloat is mostly optional. What do you want to use Linux for? You have the choice, figure it out and make it work for you - or deal with 'bloat.' Granted, many people throw in their favorite distro (including myself), which also comes with access to every creative piece of open source software (which is not Linux, some people still don't get it), and just use it if it works for them. I personally am very thankful to all those in the open source community who have contributed their to causes that result in a very useful set of tools. I don't necessarily avoid MS, but using Linux and all the other great open source software usually makes my day a little more productive.
Existence is futile
According to Linus, Linus Is "Bloated"
Well gosh... why doesn't he get his fat ass on a treadmill and start working off some of those extra pounds then? Nerds are so lazy.
Especially that Linus Torvalds. Honestly, has he done *anything* useful at all over the past 15 years??
My bicyles
Linux in end user terms is bloated, because the end user demands it.
My window manager of choice is Ratpoison, and I already anticipate the degree of abuse that I will probably receive in response to saying that, from former Windows users. These are people who apparently believe that a computer cannot be usable unless its' interface requires at least 2 Gb of RAM in order to function.
The Western world has been described as having history's fattest humans, and there is a relationship between physical bloat, and operating system bloat, although again, people will accuse me of being mentally ill for mentioning it.
The people who demand and consume McDonalds, however, and who grow obese and diabetic from that, are the same people who demand "junk food" interfaces such as Windows or KDE. There [b]is[/b] a correlation. Both are caused by an incessant craving for speed, convenience, superficial appeal, and above all, a need to avoid either active intelligence or personal responsibility, no matter the cost.
If he doesn't like it, he can make his own kernel.
Why do you think it's taken the GNU crew so long to build their own kernel? If you think you can do better, go ahead.
Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
Hmmm. Let me take a stab at it:
1: Microkernels have fewer bugs. (This relates back to the big Tanenbaum-Linux argument.)
2: Microkernels are efficient. (Some people say they're slow.)
Most of the rest is a technical explanation of why the above are true. You'd need to be a geek to find it interesting though.
His piece is worthy of a 3, maybe 4, informative.
GNU/Linux is still significantly less bloated than ms windows. his statement was relative to earlier versions of the kernel and not ms windows.
I took GPs point to be:
1) Microkernels, by limiting the role of the kernel, are easier to get to the state of being error-free to any given degree.
2) Microkernels, while perhaps having serious performance problems in the fast, can be very efficient on modern hardware which provides means of dealing with the things which used to make them slow.
And, implicitly, as a consequence, that it might be reasonable to take a new look at microkernels now.
From TFA:
I suspect that successful open-source projects, generally, will increasingly look more like Microsoft as they grow. Simultaneously, Microsoft is slowly learning from open source, and I think it will capitulate, too.
I don't think we should be selling ourselves short by making statements like this. Sure KDE and GNOME and to a wider extent Linux in general looks a bit more like Windows these days, and some of the administrative tasks have been polished or changed to be familiar to the huge pool of Windows users. I think however on the whole saying 'It looks like Windows' is a terrible thing and to imagine FOSS becoming more like Microsoft is even worse.
Can't we say something like, 'Linux now has a much more user friendly GUI' or 'Now with 100% more ponies'. Why should we call ourselves copy cats when we came up with it first or improved it significantly.
Please note I use the term we interchangeably with linux's developers and its community, not myself and Frank the hamster I keep in my shirt pocket.
Don't you hate it when someone who is not actively participating in a project feels like they have the right to criticize it?
Huge and bloated, eh? Perhaps that darn microkernel approach is looking a lot better to you now. :-D
I just migrated over from Windows XP Pro to Ubuntu Linux and as a normal user I found it's bloat to be comforting and welcomed. I tried Ubuntu a few years back and it JUST had th live add/remove programs going but didn't have very many listed there. It's AWESOME now. Got snes going in no time w/o screwing around in code land.
/w 1 click install, burned w/o needing to reboot after install, like I've died and gone to the computer after life.
.exe files not "just work" in Linux? I'd love to run .iso games like starcraft on this w/o much hassles/lines of code to deal with. Are there easy ways to get this done?
...and for bonus points I'd LOVE to hear anything you guys got on "Open Source Government". If that would fly or not or any thoughts bout that. The idea that many hands can make policy SHOULD work well for government. Worked so well for the computer world defeating "evil Windows" I figured it'd work for defeating "evil America" and all it's profiting over people problems.
Bloat to some is "everything just works" to others. Lean mean DOS style machine? That makes my brain hurt! I just wanna click and open programs.
Couldn't believe how easy and awesome burning cd's was. applications, add/remove, search cd burning, installed "cd/dvd creator"
I Can't really think of anything other then Starcraft and Diablo 2 I'd want to get on this. When I figure that out I'll be set.
Also, you guys are all smart, why does gaming and running
Other then gaming and lack of Direct X (can't the Linux community just "emulate direct x"???? Often wondered that also.
I found the virtual box program for running an iso cd image into an operating system INSIDE a Linux window. That's cool shit. No way to just skip NEEDING Windows and just run the exe in Linux is there?
Sorry for the multiple questions, you guys will prob fight (to the death) to jump on answering it.
Don't wanna get TOO democratic on them tho. They've got enough problems trying to get Canada style health care while fighting lobbysts and profit over people bastards.
http://www.opensourceg.com - A Man Can Dream
Most of the time I prefer windows due to it actually working on my system without tampering ( I would actually consider linux for my main os if the sound/ video worked properly). Does speed really matter when it runs like a cheetah on steroids compared to other operating systems on the same hardware? I don't know about other users but this is from the perspective of someone with an average computer and basic-to-intermediate linux knowledge.
...it tries to imitate Windows. And badly too.
*ducks*
*runs away*
*hides*
*buys nuclear defense system*
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Vaguely racist namecalling? Check! Content-free accusations? Check! Reference to some conservative bête noir from two generations back? Check! Impugnment of an opponent's masculinity? Check!
Now, if only you'd claimed he was an illegal immigrant, I'd have Bingo here.
Stop flogging that dead horse, will you. You can experience what you call "stability" with L4Linux already. In a pinch, that's a linux kernel running as service on top of a L4 microkernel. It's about like MacOS X running of top of XNU.
In microkernel fantasy world, to put it simply, when anything goes wrong in the useful (to users) parts of the services (say, net stack, fs drivers etc.), the servers on top of a microkernel are "rebooted", just like a so-called monolithic kernel reboots. It serves nothing to prevent loss of data, it does nothing against drivers bloat.
It's no silver bullet to anything. It just helps to vitualize (partition) a cpu between many clients systems, and that's about it in real world. Not that it doesn't count, but by themselves, microkernels don't bring any improvements to current concerns. Specifically, in linux realm, on-demand loadable modules already provide much of the microkernels advantages. What Linux doesn't do is insulation between privileged code and driver code, memory space being the same. A true microkernel would do that, but with such a penalty none has succeeded in the real world. Even the Hurd, which begun on top of Mach to follow that road is turning away, and considered L4+an enormous bunch of cruft as primary server+ dedicated servers before drowning into yet-another-delusional approach.
Linus is saying that Linux is bloated. He did not say that GNU/Linux is bloated. Linus may be disagreeable. He has a knack for clearly identifying and describing the merits of a dispute. He has his differences with Tannenbaum and Stallman. He usually keeps a good humor about it He even seems to disagree with himself. I admire his technical, communications and management capabilities and his commitment to honesty, function, performance, stability, security, maintainability and diplomacy.
I don't think I know how to do it. We could use a kernel configurator that just compiles an optimal kernel for the hardware it is on.
Easy, e.g. embedded in device.
bugs: ...
- doesn't fit (bloated)
- doesn't meet performance reqs (too slow)
fix them
That's odd- I'va always considered you to be the weakest link in theH. sapiens family tree...
Because every time they get one close to being ready for general use, they decide to throw it away and start from scratch on a new one?
Wow, what a *great* troll. He even made an account to do it from. Good for you! So few go the extra mile these days, and it lends a certain degree of verisimilitude to the first post - quite a nice touch.
well theres gotta be a FEW under the bridge! ;)
i was looking for a new acct anyways. doesn't mean it was for THIS post, just needed one.
http://www.opensourceg.com - A Man Can Dream
Someone wake me when Torvalds says something interesting. Oh wait, I won't live that long.
Bad analogies are like waxing a monkey with a rainbow.
Linux (and Linus!) seem to have skipped the "lean and mean killing machine" step and the "achieving success" step and skipped straight to the bloated/uninteresting fat bastard step.
Bad analogies are like waxing a monkey with a rainbow.
Fuck you, nigger! Bingo!
OK, you want to install some useful software...
- software 1 requires perl
- software 2 requires python
- software 3 requires PHP
- software 4 requires GTK
- software 5 requires DBUS (which earlier versions didn't require)
- software 6 requires SQLite (which earlier versions didn't require)
- and don't get me started about Java
- etc, etc, etc
Soon your hard drive is filled with tons of different libraries which all do very similar stuff.
And special mention goes to Mozilla. I hereby propose the "Mozilla Law"... Every browser with Mozilla source code will attempt to become an operating system. First, AOL attempted to turn Netscape into a "virtual OS". That just about destroyed it, and ceded the browser field to MS for several years. The first cut of the Mozilla browser inspired jokes like "about:kitchen sink". In response to all the yelling and screaming, Mozilla forked Phoenix, aka Firebird, aka Firefox. It was a snappy little browser at the start. It too has become big and bloated. And instead of a simple text or XML file for bookmarks, they've gone to an SQL database which requires SQLite. And the "Abortion Bar" is still crap.
I'm not repeating myself
I'm an X window user; I'm an ex-Windows user
I have a radical idea: maybe you should actually *use* Vista or Windows 7 before slamming it. Just a thought.
Vista, like previous versions of Windows, requires driver installs for any piece of hardware that I plug in. They seem to have short-circuited the dialog box so that for some hardware that I plug in, it looks for the driver itself somewhere and installs it. However, the process still causes things to pause for a significant period and is far from "just works".
For a lot of other hardware, it really requires driver CDs, and a lot of devices come with little stickers over their USB ports that say "STOP! Install driver CD first." Apparently, if you don't, bad things happen.
So, I'm sorry to say, it's you who is "completely wrong".
The big great thing about open source is that anyone can add anything. The big grate problem with open sores is the fact that anyone can add anything. I se e more and more projects started by people who arent capable of finishing it, and leave it to others to finish, causing crap to pile up and unfinished softare to float around. I have always been upset with how much crap linux has. 4500 calculators, none that I really liked all that much, etc. It does a lot of things okay, but nothing exceptional, so we have fill ins and duplicates. I'd love a lean build where they focus on making things GREAT and toss the cookies. No more should I need a DVD to install crap that is useless no matter how you look at it. Open Office, Firefox, Linux Kernal, FIX KDE!, and some basic tools that dont overlap. Should squeak in just under 500mb, right? and run like a banshee on any platform
That's all software
In my view, it's a tendency of all bottom-up systems.
Top-down systems require a central leader and plan; bottom-up systems involve many small entities that do what is convenient for them as a means of producing a workable result.
The problem with top-down systems is that if your leader screws up, freezes or dies, you're screwed.
The problem with bottom-up systems is that they have no stopping point, so halfway through their growth curve go from "constructive" to "cancer" status.
This is why natural selection is brilliant: it's a bottom-up system with a decentralized top-down regulator.
Futurist Traditionalism
All you have to do to see that Linus is right is intall the standard Fedora 11 Desktop environment and do a quick top. At desktop, with nothing open except a terminal running top one of my desktops was using roughly 500MB of RAM. Coincidently Windows 7 on a clean install on my laptop takes around 550MB. Infact to be totally honest Fedora can ramble about functionality being built in, not bloat, but I can still do more with the standard Windows GUI than I can with any Linux distro's.