Linked by Stefan Michalowski, M. Sc. on Thu 19th Aug 2004 08:27 UTC
Editorial Lately posted on Slashdot, an article written by Joel Spolsky mentioned the trouble through which Microsoft went to make each version of Windows backwards compatible. In one case, for the game Simcity, they even changed the way memory handling was done when running that application. You can find additional stories of software tricks that recent versions of Windows have to perform in order to run these bug-dependant applications on the web. After reading the story, I discussed with a couple of friends how weird this was and how Free Software completely avoids this problem.
Permalink for comment
To read all comments associated with this story, please click here.
LSB idea.
by OoSync on Thu 19th Aug 2004 16:28 UTC

A neat thought just struck me: wouldn't making LSB required libraries inhabit their own directory solve most future binary-only problems? In other words, all LSB-compliant binary software should only link the libraries supplied in a standardized directory like "/opt/lsb-1.foo/lib" and use only other programs in "/opt/lsb-1.foo/bin".

Now, if a distro contains lsb-1.foo compliant libraries, the directories or libraries in them could be symlinks. Any binary dependencies not required by LSB-1.foo would need to be installed by the application and they should be built agains the lsb libraries. A simple shell script to set library and binary paths may need to be called when the program starts, unless the program uses hard-coded library paths.

So, when a binary file is distributed, it uses the lsb-1.foo libraries and binaries. Multiple versions of the LSB standard can be present in "/opt/lsb-1.foo", "/opt/lsb-2.bar". Distros can choose to include and support the packages as they see fit. If you elect not to bother with symlinks, a simple binary package (even a tarball) would supply the libraries for almost all distros.