The importance of backwards compatibility

From the mouth of Ian Murdock, the creator of Debian. I wish more developers in the OSS community understood the importance of keeping the users (and the IT dept) happy. And Apple should as well (OSX is not more than 60-70% compatible between major releases).


JBQ wrote on January 15th, 2007 at 2:20 AM PST:

Yup, issues of backward compatibility can have a reasonably small impact if you have a solid development process:

-an up-to-date and constantly updated functional specification. this is by far the most important aspect, especially in an open-source environment.

-having multiple implementations of some low-level components of that spec doesn’t hurt, e.g. a production version, a reference version and a non-functional compile-only link-only version.

-a solid QA-development department that can write automated tests against all aspects of that functional specification.

-a solid team of engineers capable of investigating complex bugs, including cases where a piece of 3rd-party software doesn’t work.

-resources to acquire and maintain the automated test equipment.

Of course, if everyone is shooting from the hip, backward compatibility becomes a non-trivial issue.

TheMole wrote on January 15th, 2007 at 4:27 AM PST:

Wait, SimCity being special-cased in the windows source tree doesn’t bother you? I’m sure you can make lots and lots of cases for backwards compatibility, but at what cost?

BTW, of the closed-source applications that you use on your open source system (whichever it might be), which ones don’t run on the newest version of said OS anymore? My ‘99 UT copy still runs flawlessly on my Ubuntu system. Dunno if there are any closed-source apps that actually aren’t runnable on new systems anymore…

And of course, open source apps aren’t an issue, since they can be adapted to the new API’s

Richard wrote on January 15th, 2007 at 7:50 AM PST:

There is only one thing that is worse than braking compatibility, that is breaking compatibility often, and not providing a free upgrade.

This is actually why i scrapped OSX, I can’t be bothered to pay more than 100€ for a new OS just to run a certain application.

Jay wrote on January 15th, 2007 at 9:12 AM PST:

You’re right, Vista’s problem was that there just wasn’t a spec. Right.

Jay wrote on January 15th, 2007 at 9:28 AM PST:

You can have 2 out of the 3, but never all 3:

1. Backwards compatibility
2. Features
3. Short development time

Microsoft chose #1 and #2 for Vista. Ubuntu follows #2 and #3. Apple follows #2 and #3, but to a lesser extent than Ubuntu.

Backwards compatibility is only better if either #2 or #3 isn’t important to you.

This is the admin speaking...
Eugenia wrote on January 15th, 2007 at 9:30 AM PST:

Vista is an immensely complex system that it’s been developed for 20 years now. No matter how good your spec is, some small incompatibilities will exist, and besides, MS has already talked about the driver incompatibility which was done on purpose.

Jay, if you don’t like my response, read JBQ’s.

This is the admin speaking...
Eugenia wrote on January 15th, 2007 at 9:39 AM PST:

No, it is better if you want more market share and you want to keep your users happy. And with the right tools, you can keep short dev time too. Features are not tremendously impacted by backwards compatibility if there is a spec.

Oliver Herold wrote on January 16th, 2007 at 5:59 AM PST:

>MS has already talked about the driver incompatibility which was done on purpose.

Yeah, the first time – but you had the problem with every Windows.

Comments are closed as this blog post is now archived.

Lines, paragraphs break automatically. HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

The URI to TrackBack this blog entry is this. And here is the RSS 2.0 for comments on this post.