The risk of upgrades

Sometimes it seems like we’re living in a world of two kinds of Open Source. On the one hand, we have those who like to run unstable/rawhide type of systems, with the latest kernels, and who feel that anything older than ten minutes is still in the stone age. These people are usually paid to work on such things, have a lot of free time not spent doing other stuff, etc. The very notion that you might not upgrade every system the moment – nay the femtosecond – that the new version is out obviously means you’re not cool enough for school, even if what you have is working well enough for you right now. That means that the desktop on which you only surf the web – not the system you actually do kernel compiles on – must be running the latest possible stuff released 2 hours ago, “just because” (insert no useful reason here).

On the other hand, we have “Enterprise” types who install something to solve a problem, and then have to pay real, tangible, money to upgrade/change. Testing costs money and takes time (and I mean of the non-throw it over the wall and hope – but hey, it’s new so it must be better and worth breakage, right?), and if it aint broke, why fix it? Seriously. If an older version of a Linux distribution with an older kernel works for you, and you can still get essential security fixes, then great. More power to you. This is where Open Source should be offering a compelling choice not to upgrade, if you don’t want to. Incidentally, that’s the reason you don’t see updates for lots of older embedded gadgets – as I pointed out at Linux Symposium when explaining how the average (non-geek) consumer doesn’t necessarily “need” Android 2.2 the moment it is first built in beta. Doing an OTA upgrade for something that already works introduces the risk of bricking many units and incurring cost. It doesn’t mean it’s not fun to upgrade your phone to the latest Android test build, or that some manufacturers won’t choose to do it as a value-add, but it does means it’s something you can do on your own dime. If it breaks because they upgraded it for you, they pay. If it breaks because you couldn’t leave it alone, it’s your fault. Keep both pieces.

I used to fall more into the camp of wanting the latest and greatest on every machine. Back when I enjoyed spending a weekend configuring APS to make my printer work with just the most ultra-pointlessly geeky layout for text files sent to lpr, I enjoyed re-installing, upgrading, and generally playing around. After all, this was before I really finally realized there is more to life than computers all the time. Over time, like many others, I grew up and realized that some things which work can appropriately be left alone without the universe exploding. Sure, we don’t want 40-year-old unmaintainable software disasters driving our government infrastructure of tomorrow, but there’s a medium somewhere in there too. I hope that, as the Open Source community matures, more people will come to appreciate this fact. By all means develop using the latest and greatest, but spare a thought for accepting that not everyone out there in the user community is as excited about wasting a day/weekend doing an upgrade unless or until they have to.


5 Responses to “The risk of upgrades”

  1. Chris S says:

    Have you looked at Solaris? It might be just what you’re after :)

  2. jcm says:

    I’m not a Solaris hater (sure, business wise it’s death all the way :P ), and one thing I like about Windows, Mac, Solaris, insert-os-here is that they are platforms on which you build stuff. Linux is generally all about getting all the bits in your distro, complete with interdependencies, and updating everything together. It sounds good, but only if you’re a sweaty nerd in a basement who gets off on that. What we need are more Linux platforms – complete solutions that persist, are treated as fundamental building blocks, etc. Part of me would like to throw away conventional Linux wisdom and divide the system up into the vendor bits and then enforce something far better than /opt (a mere afterthought) for anything but the bare essentials. One day, I’ll get annoyed enough to fix it how it should be done.

  3. jorge says:

    Hi Jon,

    Thanks for your post, I’m glad that someone else has lived my experience. I used to be one of those “WANT IT NOW OMG NOW NOW NOW” people when I was younger, and then after I got a real job and helped deploy Linux as a sysadmin rather than a hobbyist when I totally flipped into the “Just works, even if there’s a few bad bits at least they’re well known workarounds; less changes FTW” camp.

    Thanks to people like you I now work at a Linux company as my job and I’m expected to dogfood almost-sort-of-working-development-releases so I can never enjoy the happiness of a release that’s been vetted for years. Thanks for that! :)

  4. Michael says:

    Well, there is a missing point. The software used by the second class work because someone tested them, and fixed bug. And people who test are those in the first group.

    So, I think whatever the reason, be it to test or just to be “geeky”, people who test and upgrade are required so people who do not want to test don’t need to. And so, tested latest and shiny software is a contribution to free software.

  5. Mike A. Harris says:

    Wow, I thought I was the only engineer type who felt this way. I run CentOS 5.x on all of my machines for the last 2 years now because I got sick and tired of being forced to upgrade individual packages and the whole system on n machines every time I turned my head. Like you said, there is more to life to computers. Solving daily computer hardware and software issues was all the rage prior to Y2K, but as time has passed on I’ve found it to be rather annoying. I just want hardware that will work well for 5-10 years and run whatever OS I put on it for as many years unless I voluntarily decide that I want to upgrade for some reason. At the same time, I want to be able to run the software that came with the system, or the latest stable version of things like firefox/thunderbird/openoffice etc. without losing stability/security support for the app or the OS, and without having to rummage through various repositories or roll my own.

    Every time I turn around, someone is laughing at me and telling me how I should upgrade my OS or hardware to something from this century. Its just not necessary.

    I’d rather upgrade my guitar rig or bedroom furniture or something else than be a slave to technology. ;o)

Leave a Reply