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.

People seem to forgot that Linux was not designed to run proprietary/closed software. It is the responsibility of proprietary vendors developing software for free software projects, such as Linux, to keep up with the changes that might affect their products.

If proprietary software X doesn't run on a new version of Linux, how is that the Linux developers fault? It's not as if they signed a contract with the Linux developers to provide backwards compatibility with their products.

Microsoft explicitly promises their developers that they will provide backward binary compatibility for their products. So Microsoft is bound to its words. Please show me where any free software or open source software developer explicitly promises any developer backward compatibility for their products.

The point is free/open software evolves at such a pace that many proprietary and commercial vendors can't catch up! So we see a bunch of whiners resurrecting. Rather than whine, why don't they solve the problem? Why don't they streamline their development process so that is accounts for contingencies that occur all too often in this ever-changing, volatile and dynamic ecosystem.

Now I do agree that breaking any sort of compatibility frequently is unhealthy. However, once in a long while it inevitably occurs in the interest of advancement. Note, it is usually very fragile software that breaks. Well designed, well crafted and robust software stand unaffected irrespective of core changes upstream.