If a machine is running, say, windows xp, and it does in a manner that satisfies the owner's need, then it should be able to keep running forever in the same manner, provided that hardware lasts and/or is replaced with adequate spares, not necessarily anything newer.
It's ok if that computer becomes incompatible with newer software because of that.
It's ok if that computer becomes incompatible with newer outside/network services because of that.
It's not ok if that computer stops being able to execute exactly the same process that it could do 10 years ago.
A company I used to work for in 2012 had a Windows 3.11 workstation running some ancient software to support an auxiliary system. Many banks run COBOL on mainframes and haven't changed anything since the 70s.
I'm really confused as to the argument here. If you never update your software and don't expect to browse the Internet, old software works exactly like it did in the past. How do you expect it would change?
This is not acceptable behavior - I can understand automatic upgrades that are fully backwards compatible, e.g. a security patch; but upgrade to windows 10 isn't like that.
Because foo pro-audio, or bar cnc-board didn't want to update their drivers, or for that matter, more often than not, had a weird installer that simply didn't follow proper practices, doesn't work in the new version of Windows isn't MS' fault.
Also, users will not understand this, and will, rightly, blame Microsoft.
If the UI significantly changes, for instance, there will be a time investment needed to re-learn what you need to get work done. (This was a particularly nasty issue for Windows 8, not quite as bad for 10 but there are a few changes for sure.)
If the upgrade fails in any way, there may be significant time spent getting the computer back on-line. Sometimes this takes a very long time.
Software upgrades may actually introduce bugs. In the worst case scenario, some OS software upgrades have actually "bricked" devices (see: Apple iOS 9.3.2). These further impact productivity / take time to work around.
Some very old legacy programs may not work at all. It takes time to implement a new solution for the problem in a new tool. (This isn't a big issue for 7 to 10 from what I've heard, but you do hear this about other upgrades in the past.)
This cost in time is not nothing. If there is no real net benefit, it could end up being a big waste.
Even if people want to upgrade, IMHO the way Microsoft is pushing out the upgrade is quite bad. Usually in the enterprise world, IT departments tend to test new OS releases (and even patch updates) to make sure everything works, before rolling out the updates in the wild. They don't want a patch to break some mission critical software. The cost of that could be huge in some cases.
Even for Windows 7 retail to Windows 10 retail, I could see many people preferring to be cautious. Perhaps they are wanting to wait for a slightly more stable OS (usually the first release of a Windows version is a bit buggy). Some people also might want to test things out first, to make sure there are no problems. Of course there's those that don't want to update because change bad, but I don't think that's all cases.
Furthermore, a fair bit of Windows retail I'm sure is businesses - these tend to be even more cautious than overall consumers. A software update going wrong could cost them money, after all, and "if it ain't broke, don't fix it". I honestly don't think the "rolling updates" model being pushed works for enterprise... even small ones.
There is no such thing as planned obsolescence when it comes to software. "Throwing away" software creates no pollution and Windows 10 runs on basically anything Windows 7 ran on.
>There is no valid excuse for Microsoft here.
There is no valid blame for Microsoft here. Windows 10 will run just fine on 10 year old hardware, as long as the device drivers are compatible.