Bear with me here because it might sound rather outrageous, and I might be a bit ignorant in these matters so please forgive me if this sounds stupid.

Windows has a system called "Windows Side by Side" (or winsxs) that basically tries to avoid dependency hell by storing multiple versions of the same DLL into a folder, and programs can load their version of a DLL on demand. This was introduced in Windows XP and I've noticed that it tended to avoid a lot of the "DLL hell" that was there in previous versions of windows back in the day. The disadvantage to this is that it can end up taking a LOT of space.. for example in my Windows 7 install I've noticed that the winsxs folder can take up around 20GB (!!)

I've noticed that a lot of Linux distributions tend to store only one version of a certain library at a time and as a result there can be certain amounts of dependency hell. Additionally, different versions of the same Linux library from what I understand tend to be very incompatible between each other, and this can break things very easily when upgrading. I regularly encounter a lot of packages getting broken between upgrades.. so I was wondering how practical it would be for a distribution to implement something like this. It would probably require a lot of drastic changes in the operating system.. I don't know, but I think it'll make desktop linux much more usable despite the amount of complexity it might add as well as the space it might use up.