People bemoan the quality of software (and certainly all the complaints are true, we have a long way to go as an industry quality wise), but 10-15 years ago I remember it wasn't uncommon to buy a piece of shrink wrapped software that should be compatible with your machine and it would just not work.
Failure to install, or crashing on startup, sometimes even requiring a reinstall of the entire OS.
This would happen in the open source community too, but that was to be expected.
I haven't experienced this in many years though, so I suspect we are doing something better.
Also package management has come a long, long way. Everything has a package manager now, that creates a new kind of problem but it's better than before.
That's because the distribution is being controlled by central entities, e.g. distros, app stores, etc. People mostly gave up trying to distribute release binaries on their own. Independent distribution now happens primarily by sharing the source. So the whole not working aspect is still very much alive for source builds, which rarely work; at least, not unless you run them inside a Docker container that's exactly the same as whatever the developer uses. Particularly if the software was written recently, and isn't a decades old C program or simple Python script without dependencies.
That's very true, and those central distribution channels are a mixed blessing.
The Docker containers are beneficial though! At least now I have an example of a system where the software works to dissect and if my use case is a one-off I can run it in the Docker container then move on with my life.
It is beneficial, but you have to trade away a lot of control of your system and distribution in order to get those benefits. I personally have more hope for alternatives like Actually Portable Executable, since it hybridizes the zip format with conventional static executables that run on multiple platforms, so you get the best of the both worlds: a fast conventional executable that functions as a container.
Failure to install, or crashing on startup, sometimes even requiring a reinstall of the entire OS.
This would happen in the open source community too, but that was to be expected.
I haven't experienced this in many years though, so I suspect we are doing something better.
Also package management has come a long, long way. Everything has a package manager now, that creates a new kind of problem but it's better than before.