What's the top the reason you're unable - or unwilling - to upgrade to the latest available operating system verions?
Upgrading the OS on a server that is hosting lots of websites means many many hours reinstalling the sites on the new server, not to mention the downtime and the ever-present risk of missing some undocumented third-party component or service installed on the old server.
Same is true on a personal computer (though more of the work goes into reinstalling applications, and reconfiguring the environment).
If it ain't broke, don't fix it.
For me, it has to be downtime & loss of productivity.
On the desktop front, even though I try and keep my system relatively "clean" in terms of what is installed, it is still set up exactly how I need it. In the past, I've found it takes 2 or 3 days per year's worth of data / applications / settings to migrate to a clean OS install: with data being the most time consuming - checking out scores of projects from a half dozen different SVN repositories just isn't a quick process.
On the server front, "upgrade" is a bit of a misnomer: I would never ever upgrade the entire OS of a server whilst it was "live": critical patches would be as far as I went (if it ain't broke, don't fix it). When choosing a new server, it really depends on the requirements, but others have said, it's not really worth the hassle of being on the crest of the wave with a new OS - let others who can afford to throw money at problems trial and error it.
One Lession that I learned the hard way many times, I treat it as a law: You can NOT upgrade Windows. Formatting/Reinstalling is faster than "upgrading" and dealing with the issues. I've got bitten by this so often, even with seemingly straight-forward upgrades like Win2000 => WinXP.
The other reason is the "Never touch a running system" rule. If it runs and there are no security vulnerabilities impacting it, don't touch it.
I used to be the kind of guy who would jump to the latest OS as soon as it was out of beta. But with the shift from XP to Vista, I have become more cautious and conservative. You've all heard the horror stories about simple things that broke. For me it was the ability to connect to my company's VPN and use remote desktop to get to my work machine, which incidentally, I still can't get going.
That experience, coupled with the advances we've seen in virtualization recently (which makes trying an OS before you commit much more practical), means I'll be much slower on the uptake of Windows 7.
Short answer: I got burnt. Pain is an excellent teacher.
I subscribe to the "If it ain't broke" policy, especially on server versions. Having to go through the pain of working out how to get everything up and working in the new version tends to keep me with the version I currently have.
Only when the new features become essential and required do I feel the need to go through the process again. And then only when the new essential features outweigh the process of working out how to get everything working again.
Stability. We know the applications work on the OS they're running on, and any change to the environment can introduce unintended consequences. Usually the OS is updated at the same time we're planning to deploy new hardware. We can purchase the hardware, configure the OS, install the software and test, test, then test some more before deploying to the production environment.
Having a large estate of computers which all need to be upgraded together. Having multiple Operating Systems or versions of operating systems complicates support.
Having to migrate lots of machines at once is also more complicated and requires more app compatibility checking beforehand and user support after.
Time involvement and stability, whether talking about Linux or Windows. With Windows, I haven't tried an upgrade in a long time, but experience has taught me to avoid the first release of any Windows OS. I always wait until SP1 comes out, unless I hear otherwise from friends who are early adopters.
With Linux, I've always used Red Hat. With Fedora, Red Hat releases have become more bleeding edge than they used to be. Due to this, I don't rush to upgrade my Fedora machines. I wait until a release has been out at least a few weeks and I read reviews from early adopters.
I have no experience with Mac (regarding installation and upgrades), but with Windows and with Linux, I find new releases are often not quite ready for prime time. I know if I used a less bleeding edge Linux distribution (such as Debian) then it would probably be more safe to upgrade as soon as a release comes out, but I'm a hacker from way back, and I like solving problems. (That's one reason I'm on SO and SF!)
Above I talked about the stability aspect. For any OS, it's often easier to reinstall rather than upgrade. For Linux, I'll often upgrade once or twice (a year apart) and then do a complete reinstall in place of the next upgrade. For Windows, I normally just replace the hardware and install a new OS on the new hardware. Why ever reinstall Linux? Well, as open source advances, some packages are replaced or discarded. When you upgrade, bits of flotsam are left behind, some in
/etc and some in
/var and some in other places. On a re-install, all of that cruft is cleaned away.
That's the time involvement. Doing an upgrade takes time to clean up cruft (in Linux, *.rpmnew and *.rpmsave, for example). A full reinstall takes time, of course, to ensure that nothing is lost, everything is reconfigured and reinstalled, and so on.
- Current one is still supported by the vendor
- New one does not work with current software (and I can't get a replacement for the current software)
- New one does not work with current hardware (and I have no budget to upgrade/replace hardware)
- The company I work for has not yet tested the OS from a functional and security perspective
There are usually enough things I hate about the current version that are fixed in the next one that I end up upgrading sooner rather than later. I was on Vista x64 a year after it was out, and everything worked absolutely fine - which was quite unexpected given all the bad reputation it had.
(Sorry for the rant, ignore it if you wish, I just had to write this somewhere.)
Windows 8 is just plain ugly and unusable on a desktop system.
Windows Server 2012 is even worse.
Yes, I know, lots of technical improvements and so on.
But the UI totally sucks, and that's a death blow for Microsoft.