Update: I got my facts wrong, to an extent that makes my thesis wrong too. See the comment that begins “Well Vista dropped dos and win16”.
In software, an internally disruptive change is one where backwards compatibility is a major concern for the developing organization at the architectural level (and not just a matter of larger matrices in QA). It’s disruptive because it takes a drastic change to the architecture to cause this degree of disruption; it’s internally disruptive because, when compatibility is a requirement, the effects of the disruption are moved inside the development organization.
In the past twenty-five years, Microsoft has taken Windows through internally disruptive transitions about four times; Apple has done so about thrice.

Now, this is a ten thousand foot view, and an approximation, and it’s not based on hard data. You could quibble: Maybe Windows NT should count. (I’ve counted its kernel changes against Windows XP, when they hit the consumer version of Windows.) Maybe MacOS HFS should.
But I’m interested in the shape of these transitions, not in their exact number. And the shape reveals the same thing over and over again: When Apple makes a disruptive change, it maintains compatibility back one version. When Microsoft makes a disruptive change, it preserves compatibility back to the beginning of (MS-DOS) time.

This is a difference in policy, and its effect is cumulative over time. You can’t tell the difference from looking at the first internally disruptive change, but over time, the cumulative difference in policies (indicated by the height of the bars) mounts up.
For a while, Apple was handicapping itself. It diverted its resources into OpenDoc, and into a series of next-generation operating systems (Taligent/Pink, Jaguar, Copland) that never saw the light of day. These diversions more than neutralized the cost of infinite compatibility, and Microsoft pulled ahead.
Now that Apple has been putting its development efforts back into one desktop operating system for a few years it has a widely acknowledged superior development velocity, and in many ways (in the consumer market) a superior position as well.
One look at the picture, and it’s easy to see why.
Comments
what is it that you are trying to say?
Microsoft’s commitment to backward compatibility was a strong market requirement, especially with large enterprises. Enterprises, and most individuals, won’t upgrade if they have to buy new copies of all their programs,
which can be very expensive.
Note that apple wasn’t successful in the enterprise, while microsoft was. Note also that apple abandoned their legacy OS, switching to an existing, proven code-base that itself was based on an existing successful code-base: unix.
Bill Gates said-back in the day- that when you sell hundreds of millions of copies of the software, the cost of the programming approaches zero.
Apple never had the sales for that, so they had to adopt a more conservative approach to their OS.
Apple’s current success is more the result from Job’s “exile” from apple. It was during this time that he developed the connections and credibility to build iTunes on.
Imagine how successful apple would be if each new iPod was incomputable with the users purchased music.
Programmers always like to justify dumping legacy code and doing a clean rewrite. That doesn’t work in reality, ask netscape about that!
Being backward compatible has earned microsoft billions and billions and billions and billions of dollars of profit.
I liked the pre-edit better, too...
...especially the apple stair-steps, to contrast with the microsoft ziggurat.
Truth in pictures (at least).
I think OS X PowerPC can run 68K apps, so Apple preserved backwards compatibility for two versions for a while.
Well Vista dropped dos and win16 compat. win3.0 + 95 didnt have "dos compatability" they ran/required dos. XP did have a compat layer. two very different things.
I think your kinda looking at things wrong.
There is win16 (windows 3.x), win32 and win64. Vista doesnt have win xp + win95 compatability. It has win32 compatability (if its a win64 os) or it _is_ win32 (nt4/2k/xp/vista 32bit editions).
the 10,000 foot view would be "win16/win32/win64"
saying powerpc compat is not like saying "can run system6 executable" which is what you are saying with "dos compat".
you also missed a box underneath doscompat "cpm/86 compatability"
Thanks for the corrections. You kindly titled your comment “I think your 10,000 foot view is off by a few miles..” [Title comments don’t seem to show up in this blog theme :-( ]. It looks like I was off by about 5,000 miles — I like my thesis, but it looks like it isn’t true.
I haven't been that impressed with backwards compatiblity in Windows: I remember seeing lots of remainder rack games from the Windows 95/98 era that wouldn't work on Win 2K or XP. Personally I really like Vista -- however, it's broken a lot of old software.
It seems that backward compatibility is a problematic around Windows. Windows users expect backwards compatiblity, but they never really get it. The promise of backwards compatibility is, I think, one of the reasons that Windows has a dominant market position. Business customers like the idea that OS upgrade aren't going to bust all their software, and so consumers.