The great thing about Linux is that you didn't need fifty copies of every DLL
The importance of this is underestimated even by it's proponents. There might be two copies of one set of DLLs, because you are a developer and need to work work on a special version in order to build some specific application but once you have three or more then you are guaranteeing that there will be security problems in future.
The sad reality is that you actually do need fifty copies of every lib.so. Distros make their own unique changes to the binaries, and then give the modified versions the same names as the originals. Even worse, most of the dynamic loaders the major distros don't support looking up a hash of the needed lib.so instead of a hardcoded file name. (Despite the ELF format supporting it.)
If you did that, then you would allow software to block security upgrades of particular libraries. It's a disaster waiting to happen since every piece of software will start demanding their own version, just as Windows did at one point (still does??). distro, not the software author is the software maintainer and the correct place for security decisions to be made.
Use a unique hash to id the needed lib.so based on it's content instead of a filename, then it doesn't matter where on the filesystem it's kept or what it is called. That change alone would have fixed the need for AppImages, Flatpaks, Snaps, etc. But they refuse to make the needed changes.
That way lies.... NixOS and probably even Flakes. It's not quite madness, but it's definitely different. Anything else, especially providing dynamically linked binaries but locking down the libraries they link to
The LSB was even worse, to the point that most people today only use it as a generic command to find out what distro is running. (I.e. `lsb_release -sd`.) It did result in the alien command, which converts packages from one format to another (ie. deb->rpm, rpm->deb, etc.) and is great when it works, but many packages won't work properly even if they convert successfully. Due to broken lib.so dependencies, (See above.) or distro specific paths. (I.e. deviations from the FHS.)
Again, NixOS has almost completely abandoned LHS, although it does have special methods to provide some form of backwards compatibility. However, it's pretty clear that the FHS has advanced something. This way had to be attempted to prove that partial forms and compromises don't work. That's valuable, but now we need to accept it.
As for backend standardization, I do agree with you. Developers need a consistent platform to target. Which is why until Valve promoted ubuntu with Steam for Linux and Arch with SteamOS, most game developers steered clear of Linux entirely. Ironically, Linux may get standardization around ubuntu's or Arch's way of doing things because of Steam. (Ubuntu is probably more likely due to the Steam on Linux client releasing before SteamOS and The Steam Deck.) Developers will want to target the largest install base, with the most potential users. In the server world that won't mean much initially, but as the years go on and more game devs target Linux through Steam, it will start impacting the servers too. (They won't want to develop for multiple distros on the client side. Let alone the multiplayer server side.) Not to mention those who grew up with SteamOS or ubuntu will expect things on the server side to work the same way when they get hired by someone to develop for or manage servers.
As long as Ubuntu means Snap and Snap means proprietary control of the software distribution this way will lead only to ossification and will never get acceptance from the people that actually have the real commitment to FOSS development. We have seen repeatedly, with Mysql turning into MariaDB, with OpenOffice turning into LibreOffice. The base has to be a fully open solid system with the full maximum performance available to all of the tinkereres. Just as RedHat is dead, the proprietary server behind snap means that Ubuntu is also dead.
Red Hat is a dead duck as far as I'm concerned. [...]
Preach brother.
Any big-name software projects needs to just say no to the bandaid "solutions" like snap flatpak, and appimage that apply just enough bandage to the situation to keep the incentive away from fixing the problem properly.
I don't think this is 100% right. As a fully open source solution. Flatpak both solves a real problem and is fully open source so might be possible to fix. However, what's clear is that it should be a one or two special packages system rather than a whole array of software.
The way this needs to be solved is to have a real rethink of the whole way that software is packaged. NixOS isn't beginner suitable, possibly in the same way that Debian used to be. Maybe someone could build an easy distro on top of it as Ubuntu was build on top of Debian?
If they do anything with those they should standardize on AppImages. At least those have the same behavior as Windows portable apps. Which people have been using for decades, and therefore know what to expect. The others however, I agree with you on. Those can go away. They only make the problem worse, and provide too little benefit.
AppImanges don't solve the key problems - software updating / possibility of isolation or sandboxing / updating of libraries separate from applications. They cannot fix this area.