Raymond Chen's story of the Windows “Shell Folders” key is an interesting one because it can be told equally persuasively from two perspectives.
There's the perspective Raymond tells it from: backwards compatibility is so overridingly important that Microsoft deprecated a registry key instead of removing it, so as not to break a few applications that were written for the Windows 95 Beta. Unfortunately, people started to use the deprecated registry key without realising there was a better, more reliable way.
Then there's the alternate perspective: Microsoft left a crufty, broken feature in Windows 95 that would cause programs written against it to break in unexpected and hard-to-diagnose ways, so as not to break four applications that had only been around since the beta anyway.
I think one thing we forget is how much easier software distribution has become in the last few years. Apple can get away with breaking a bunch of applications between Jaguar and Panther. The apps are being maintained on the Internet, so the fix is just a website away. Even as little as five years ago, this wasn't the case for most users.
Tangentially related, Brent Simmons recently wrote about how he does not identify with the word “Shareware”;, despite being a distributor of software that would have fit the Shareware definition five years ago. Brent links to some nice related articles:
- Slava from Unsanity: Shareware Is Dead (Unsanity write "Haxies" for OS X: programs that hook into private APIs to do things the OS doesn't approve of. As such, they're the most likely to have their code broken by OS upgrades. Which takes this post full-circle, I guess.)
- Buzz Anderson's response, on how we now just have “independent software” in the same way we have independent music.