Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's the problem though isn't it, you start off light weight and you continue working, adding more and more new and useful features until you have it all but now have a giant slow bloated system.


This makes me think of Apple's Snow Leopard. It was remarkable that they took an entire release just to shape up the code. Is something like that feasible for Linux with the open source model? Do you just have Linus tell everyone "I will only accept commits that improve performance and reduce memory footprint in this release?"


The difference is that Apple has a very specific idea what their kernel is for, where as Linux is pushed and pulled in different directions by people who want something very large scale or secure or embedded or lots of archetictures and so on.

Also you should put it in perspective, the Linux kernel itself is really not so bloated, that any normal user would notice, like they do with Gnome/KDE/Firefox's bloat. Even with that type of bloat, Linux distros still run well on a 1GB (probably less) and an old P4 CPU which people don't say about recent releases of OSX or Windows.


That's classic creeping featurism, and there doesn't appear to be an easy way out. Either your project is rich and full-featured or it's lean and lightweight. I don't see how it can be both.


The approach that is inevitably taken by extremely large systems is to try to make all features optional except a sleek core. This is what OSGi is trying to do for Java. Unfortunately for the current debate, this is often called a "microkernel" approach. I'm not going to touch that one with a ten foot pole, but let's just say that hopefully Linux can be incrementally rearchitected to make more and more features optional without losing the benefits of its very successful "macrokernel" approach.

After all, Linux is already designed to make most of its code optional via the module systems. The only problem is that its core is becoming not-so-sleek, and they're probably already getting as much mileage out of the module system as they can hope for. One interesting possibility is that Linux could avoid the performance hit of run-time dynamism by introducing a new kind of compile-time feature selection. It's obvious to me that C isn't up to the task, but it might not be obvious to someone much smarter than me. Or maybe they could extend C. These days we think of the Linux kernel community as old, conservative, and unlikely to surprise, but who knows? I'll keep my fingers crossed.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: