And the need some people have to "upgrade". If you've got a working system that does everything you want, why would you want to upgrade and potentially break things.
Because then somebody else will break the machine for you. Seriously, if you connect a system to the internet today, and you do not keep the system up to date, then you're soon running into trouble.
Just to whinge about how bad open-source is?
It's not about "good or bad", it's about "what is the goal of the development". Open source makes the developer happy. If you are the developer, then that's good for you. If you just need a system to be productive in some other way, it's not good for you.
This is universal, it applies to open-source and closed-source environments.
Actually, the way how the problem is handled is different. M$ spends great effort to write software wrappers around software wrappers to keep legacy software working. This is, from an engineering perspective, not very satisfactory, it makes the system slower than necessary, and more bulky than necessary. For MS, it is important that the system is sold. This type of motivation does not exist in the open source world. The motivation is the "satisfying arcihtecture". Which means that drivers and programs have to be ported and ported over again, from version after version, to adapt to a changing infrastructure. Which is, from an engineering perspective, probably satisfactory, but it leaves users alone with anoying compatibility problems.
With such simple problems I just observed (probably expectedly) with the SCSI2SD installation software. You cannot take a piece of binary executable and expect it to run on your average Linux box. There will always be some form of compatibility issue between some library somewhere. Linux means: The only way how you get software working on Linux is either take it from your Linux distribution, or port it and compile it yourself. With windows, I install the binary and it works.
That's again the experience over and over again - which of the two models is more satisfactory *for you* is then of course another question. If I just want to solve a single problem ("get my SCSISD working"), the windows solution is quicker.