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.
RE: TaterSalad
by Anonymous on Thu 19th Aug 2004 15:19 UTC

"Did you complain when linux moved from 1.x to 2.x breaking all compatibility?"

No, I didn't complain when I moved from 1.x to 2.x. Nothing broke.

When I switched from a.out to elf, a.out still worked. When I switched to libc6, I still had the previous libraries installed. Executables linked against the old libraries continued to work. Closed binaries that depended on bugs in libraries, such as Netscape, worked by using a wrapper that used the LD_LIBRARY feature to link to superceded versions of the libraries.

The distributions didn't always get it right. Package managers don't always deal with multiple versions of libraries well. Manually solving backwards compatibility problems can be a pain. But it is possible to solve compatibility problems with open systems without depending on vendors. Closed systems can prevent solving those problems.

Closed systems do a good job of making the easy stuff easy. So do open systems. Open systems weren't always easy to use, but routine operations are now easy to do with both open and closed systems.

Open systems make solving hard problems possible. It might take a lot of work, but hard problems with open systems can be solved. But no amount of effort can solve problems with closed systems when the vendor decides not to solve the problem. Vendors make decisions based on their interests, not my interests. Microsoft has discontinued support for Windows 98, so there will be no more security fixes. Red Hat has discontinued support for Red Hat 7.3, so there will be no more fixes from Red Hat. But because Red Hat is open, there are fixes available from others. That's the difference. Both vendors dropped support for old products, for perfectly valid reasons. In one case, that means no fixes from anyone. In the other, fixes are available from others. I'll take "possible, but hard" over "impossible" any day.