Fat or Fit? The Penguin's Bulging Waistline
Sep 28, 2009 4:00 AM PT
LinuxCon may have come and gone in the physical world, but on the streets of the blogosphere, the excitement just doesn't stop.
'The Face of Linux Is Still a Bearded One'
Yet not everyone left LinuxCon with a warm and fuzzy feeling.
Linux Today's Carla Schroder, for one, wrote in a blog post that "The Linux Foundation's 'Community' Doesn't Look Very Community."
Specifically, judging by attendance at LinuxCon, "it sure looks like the face of Linux is still a bearded one, despite the Linux Foundation's grand claims of Community," she wrote.
"Linux is hampered by its lack of real diversity and growth in numbers of new contributors: hardly any women, 1.5% according to the FLOSSPOLs study, and any man or woman who doesn't have rhino hide and near-sociopathic stubbornness is not going to stick around," she charged.
'Huge and Bloated'
Perhaps an even bigger discussion, however, arose over Linus' comments during a panel at LinuxCon that "the kernel is huge and bloated."
Every time a new feature gets added, the problem gets worse, he reportedly said.
'That's a Good Thing'
Then, just to stir things up a little more, Red Hat CEO Jim Whitehurst chimed in with his own opinion. Specifically, "I do think Linux is growing," Whitehurst told Benchmark analyst Brent Williams during Red Hat's Q2 earnings conference call, but "I actually look at the growth as much more of a reflection that it continues to add features that people do want, and that's a good thing."
More than 130 comments greeted that news on ZDNet, which is even running a reader poll on the topic.
That's when Linux Girl decided to jump in.
'Talking in Different Languages'
"I get the distinct sense that Linus and Whitehurst are talking in different languages," Chris Travers, a Slashdot blogger who works on the LedgerSMB project, told LinuxInsider. "Linus says he wishes Linux was a hyper-efficient kernel, and I get the sense that he means this in an abstract, almost mathematical sense. In this, complexity is bad, and so forth."
On the other hand, "Whitehurst is talking about practical utility," Travers explained. "To him, 'bloated' is not a term which is an abstract one but is measured by practical effects."
Does that mean Linus is an idealist? "I suppose," Travers added. "Engineers tend to be idealists about form -- I know I am. However, when it comes to practical views such as defining 'bloat,' I think Whitehurst's comments are closer to the truth. One cannot evaluate whether Linux is bloated unless evaluating its utility for a specific task."
'Bigger, Scarier and Harder to Maintain'
The kernel is bloated, "but I don't like it being a monolithic kernel, anyway," said Slashdot blogger David Masover. "For performance reasons, the Linux kernel is monolithic, meaning it's one gigantic program, which means that any bug anywhere in the kernel is a serious bug."
That means that "a bug in your sound driver can crash your entire system," for example, "or open it up to attack," Masover told LinuxInsider. "This doesn't happen in userland -- in fact, there's a trend in the opposite direction, where if one tab of Google Chrome crashes, it won't affect any other part of the browser, let alone another application."
So, in Linux's case, "bigger does mean more features, and those are probably features we need, but it also has to be making it bigger, scarier and harder to maintain," Masover said.
'I Say Mu'
"When you're talking about a compiled and built kernel, it can be one of many forms: a tiny, streamlined kernel that contains ONLY the modules/drivers needed for functionality, or you could have a fat kernel capable of handling any device that might POSSIBLY be thrown at it," Dean explained. "This is something that the user -- or, more aptly, distributor -- has control over, and I'd not call it bloat."
Linus, however, "doesn't deal with compiled kernels," Dean noted. "To Linus, Linux is a massive collection of code, all POSSIBLE drivers and modules."
Whether the user needs them or not or whether the distributor will ship them or not "is irrelevant from Linus' perspective because he's in charge of maintaining it," Dean added. "A user will only ever use ONE scheduler at a time, but the Linux maintainers have to manage several constantly, even though they pick defaults."
'There's a Disconnect There'
The question of bloat, and the diversity of answers, "speaks to perspective more than code or technology," he said. "Linux isn't bloated, but I think the sheer amount of redundancy and variety within the Linux codebase MAY be a hindrance to development of quality code overall."
The goal for most kernel hackers is to "get it into mainline" to ensure that it's made available to all the vendors and distros, but "the idea that Linus's crew SHOULD be responsible for all kernel-related code I think is somewhat silly," Dean asserted. "Everywhere else, people point to the modularity of open source userspace and champion it as a good thing," yet they "aspire to get their code managed and maintained by the 'mainline' developers. There's a disconnect there, surely."
Another type of bloat, however, refers not to how many features Linux has, but to how much code is used to make those features work, Dean pointed out.
"I'm sure Linus and others see aspects within the kernel that could yield the same results but be done with less code," he said. "When this is the case, it's bloat. When Linus says there's THIS kind of bloat, I'll 'side' with him fully."
'Second Worst Beer in the World'
The question of bloat in Linux "reminds me of a classic Canadian vs. American rivalry," Montreal consultant and Slashdot blogger told LinuxInsider.
"In Canada, I often see people declare something 'good enough' as soon as it's better than the American attempt at the same thing," Mack explained. "So we do healthcare better than the Americans -- great, but 36 other countries do a better job than we do."
Similarly, "we have better beer than the Americans; that's brilliant, but we have the second worst beer in the world," he added.
"To truly be good at something, you need to compare yourself to the best -- not just your largest competitor," Mack asserted. "This is why I like it when Linus says he doesn't care about MS Windows."
Linux is "a lot less bloated than Windows, but that is really not a good standard," he added. "Linus gets this, and that's why he's a great technical lead for kernel development. I look forward to seeing what will be done in the future to trim the fat."
'Is That Bloated? I Think Not'
On the other hand, "you can still make a build of Linux that will fit on a floppy," blogger Robert Pogson told LinuxInsider. "The kernel running on my machine is:
du --si /boot/vmlinuz-2.6.26-2-686
"Is that bloated? I think not," Pogson asserted. "With that kernel, I also have 59 MB of drivers. I only load what I need."
It is "frightening that thousands of lines of kernel code are changing daily, but thousands of dedicated programmers are making those contributions, and hundreds of thousands of bleeding-edge computer geeks are testing them, and millions of ordinary users are using them daily," Pogson added. "It works. I don't worry about it."