Well, my first blog post on this subject generated some broad agreement (and a few flames), but I think it’s necessary to be a little more specific about the three main things I want from from computers, from Linux, from whatever, as opposed to just from Fedora or any one Linux distribution. Here we go, and remember, this applies always to a “stable” release, not to the latest half baked bits that are under work, and it’s equally applicable to any Operating System you care to mention…
1). When I turn the computer on, it works. I don’t give a flying fsck what awesome cool kernel feature, bootloader change, init process, or other “it’ll be great and amazing ten years from now” feature you’ve developed if the computer doesn’t boot properly and I can’t totally ignore what you did underneath. Ten years ago, I used to buy into the notion that it was all great breaking stuff because it was saving humanity, but now I am older and wiser, I realize it is just plain shoddy to release something that causes obvious regressions and stops a system from booting. I am not targeting anyone in particular here, or any particular incident, just saying there is never an excuse not to boot. Windows can boot, Mac OS X can boot, other Operating Systems can boot. So if any Linux distribution or other Operating System cannot boot as a general matter of course, there is absolutely not an excuse. Users don’t care if it’s better but doesn’t boot cleanly, they would rather you left it alone. Yes, that’s an impossibly high standard, and a reason often to choose not to re-work stuff without assuming that level of paranoid commitment to quality.
2). When there are updates, I’m told about them and given a chance to reboot or delay the upgrade. And the upgrade always works smoothly with absolutely no loss in functionality. In fact, I can feel quite confident doing an update as a matter of best practice, even ten minutes before a big presentation, or even during the presentation if I want to. Windows, and Mac OS X generally do not blow up your computer when you do an upgrade (I can’t remember the last time I saw an OSX kernel panic, or a less than perfectly pristine update experience). You say “sure, ok” or you delay it, or you do whatever, but the computer works fine ten minutes hence either way. Anything less than a perfect update experience is unacceptable and must not be tolerated. This means that often the answer is “no” to taking things into an update, and the update is small and manageable, especially when you have very limited QE resources to ensure everything is working after the update is completed. This works well in the “Enterprise” space, but it should work well in every “space” you are in, it’s just common sense.
3). When there is some new feature, there is one new feature that works well. Not ten doing the same thing that don’t. This is much harder to do in a general Open Source sense, but it’s easy from a distribution point of view. Pick a small subset of things you are willing to do well and do them, or don’t do them at all. Both Microsoft and Mac OS X have confined what they will offer as part of the basic Operating System platform, and then undertaken to ensure that is the best possible experience they can offer. It isn’t always the best possible experience, and there are problems, but it is actually a good philosophy.