I'm not really all that mysterious

backward compatibility

I don’t know if it’s because I have just a touch of risk-seeking behavior, but the concept of backward compatibility was never a compelling reason for me to expect that people would deliberately sabotage innovation. And yet, witness the gutted shell that is Vista, which is lacking interesting features like WinFS and Monad/Powershell (although this is eventually going to be released), features that would actually make me want to explore this brave new OS. (And these are only the most infamous of the scrapped features, to boot.)

A glance back at personal computing history shows that backward compatibility was never an excuse to forego new features. I can even remember the 8-bit days of yore when I was a Commodore fan boy. While there was theoretically a compatibility continuum between the PET, the VIC-20, and the C64, each iteration of personal computer had more and more features, generally at the expense of other features. (I mean, it must’ve been tough, working with only like, what, 32k of RAM? A thousand times less RAM than my cell phone?) Their floppy drives, which were in fact independent computers, had even more iterations of CBM-DOS, each barely compatible with the one before. The most popular version, CBM-DOS 2.6, had completely abandoned the notion of dual drives (which sadly ended up causing bizarre bugs)

While the Plus 4 and the C16 may seem like a testament to the dangers of completely abandoning backward compatibility, the C128 offers the opposite lesson entirely. The Commodore 128 was built with backward compatibility in mind, in order to leverage the huge amount of software available to the Commodore 64. Unfortunately, this discouraged developers from exploiting the C128’s unique features, and it never came close to reaching the popularity of the C64. Even more distressing, though, is that the C128 was the last in the line of PET-like machines. From then on out, Commodore went with the Amiga, which was actually quite a successful product, many of which are still in use to this day, but which never caught on, eclipsed by the Macintosh. Finally, Commodore started making x86 clones, which eventually led to the complete demise of the company.

The other reason why I think backward compatibility is bunk is because no one buys a gaming system for backward compatibility. The first one to offer such a feature was Sony’s Playstation 2, and probably the only reason that it didn’t suffer a C128-like fate was because the Playstation 1 architecture was incredibly ancient by then. (Still good for a few games, though.)

Think back to the jump from MS-DOS 6.22 to Windows 3.11. Clearly you couldn’t continue to write console-based, multitasking-unfriendly applications if you wanted to be taken seriously. (Oh, I know, there are plenty of console-based applications still around, but most of them were first built for UNIX, meaning that you can’t monopolize the CPU anyway, like badly written Win16 and Mac Classic apps can.) Sure, the transition took a while, but I don’t see anyone crying about not being able to run their MS-DOS-based apps from 1992. You either get with modern times, or you don’t upgrade, simple as that. (I mean, there are still people running version 2.2 of the Linux kernel, after all. If it ain’t broke, don’t fix it!)

With CPUs as powerful as they are now, and with RAM and hard drive space being cheaper than dirt, I don’t see any reason to hobble your OS with backward-compatible handicaps. You just virtualize. Run your old apps in a sandbox that can’t take the rest of the OS down with it. That’s how the transition from MS-DOS to Windows 95 worked (in theory.) This is how Apple managed the transition from their Classic OS to OS X.

Maybe I’m just thinking too much about the standard development cycle of popular Open Source projects. When GNOME retooled their architecture during the transition from version 1 to version 2, with little-to-no heed given to backward compatibility, the developers took it in stride. In a matter of months, there were GTK2/GNOME2 versions of various apps like Evolution, Galeon, Nautilus, and the GIMP, and while you could still run GTK1/GNOME1 versions with the proper libraries installed, it was kind of ugly, and there really wasn’t that big of a reason to. Even the monolith that was Mozilla was up and ready in a timely fashion.

But maybe that’s just the open source community.

When you’re doing this for money, the timeframes apparently change quite drastically.

From a software consumer’s standpoint, it seems like backward-compatibility is just an excuse for developers to be lazy and not work to implement new features. It gives them an alibi for why their app doesn’t play nice with the latest-and-greatest OS. But software is not supposed to be stagnant. You don’t just write a program and expect to collect money from it for the rest of your life. Even the RIAA is learning that sad lesson.

initially published online on:
page regenerated on: