The importance of backwards compatibility
Posted on Mon 15 Jan 2007 at 1:22 AM PST. Filed under Software.
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).
8 Comments »
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.
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
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.
You’re right, Vista’s problem was that there just wasn’t a spec. Right.
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.
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.
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.
>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.