We all know that :
- bloat is common
- bloat is annoying
- bloat is wastefull
So we use arch to try to reduce the amount of bloat we encounter everyday.
I tried to learn more about the process that lead to software bloat, what/who allow it to happen, what was thought about bloat at various points in time.
Here are some of my first findings that I'm happy to share on the forum,
Niklaus Wirth - A Plea for Lean Software (1995)
Software Bloat Killed Moore's Law (2011)
http://www.oursisthefury.com/2011/softw … oores-law/
Xu & Al - Software Bloat Analysis (2010)
http://www.cse.ohio-state.edu/~rountev/ … oser10.pdf
I would be glad to receive other recommandations and links to educate myself on the topic.
I'm not a computer scientist nor a programmer myself (in fact my interest is political science) but I try to be a smarter user and i guess we should all think about other consequences of bloat.
That may include : energy efficiency, reliability, empowering users, and last but not least elegance and feeling, satisfaction to use great tools.
I quickly gave a look to the book "Project Oberon" that Wirth was talking about on his paper about lean software, the effort they made to produce a small yet complete operating system is pretty impressive
I've also looked at project closer to arch like sta.li , musl and sabotage linux
I think the idea of using another, leaner, libc make sense (after all debian had a similar move)
I'm also pretty convincent by the benefits of static linking but i try to learn more about the issue.
I've learned a great deal here : http://eli.thegreenplace.net/2012/08/13 … -on-linux/
and on http://sta.li/ (about the reduced size of binaries with small libc)
Last edited by Janarto (2012-10-27 10:03:14)
I guess performance is like money, once we earn more we need to find ways to spend it. And spending it is more important than finding effective ways to use it. So we often bloat everything with unnecessary stuff.
For instance Unity desktop looks nice and has some amazing features, but I guess not many Linux users make good use of it, because they don't really need them. It would be interesting to make a simple poll of everything a user doesn't use on his computer on a daily basis, I think we would come up with amazing results.
Another paper on KISS principles in Linux and Mac os
The paper compares an old version of Mac OS X with an old version of Ubuntu Linux and it seems focus on context switching as a measure for KISS-ness.
Not sure if that is the best metric of software bloat or simplicity, as it also evaluates different schedulers. Mac has less context switch because it may be skipping many processes and threads, which it thinks aren't important when doing intensives tasks. Linux with CFS tries to give to every process a fair amount of time, which may justify their claim that the Linux is more "regular" in its behavior than Mac OS X, and it could also justify the higher number of context switches. Also claiming that Mac OS X's kernel Darwin is a Micro-kernel seems to me a bit far fetched, Darwin is based on a Micro-kernel but is a Hybrid kernel.