Sunday, June 29, 2008

The Rewrite Game

While drinking my morning cappuccino, I ran across this opinion piece on page 4 of the business section in the Sunday edition of the New York Times. Basically, the author is asking Microsoft to rewrite their operating system completely from scratch instead of continuing to enhance it as they have done for decades. He uses Apple as an example of this. They did a complete rewrite of their operating system when they moved from version 9.8 to 10. This is not the first time that an Apple advocate has publicly called on Microsoft to rewrite their operating system.

Why is this noteworthy? Anyone who has written software for public consumption will eventually be faced with the very hard question of whether or not it is time to rewrite. As you enhance or fix software, every change makes the software a little bit more brittle. Over time, this raises the cost of maintaining software. This is really not that much different from the car buying decision. You buy a new car and for years it just runs and all you have to do is normal maintenance stuff like oil and tire changes. As the car gets older, it starts to break down more and more. Eventually, you realize that you are paying more in repair bills than what a car note would be.

Why hasn't Microsoft rewritten their operating system? Because it is too expensive. It has been theorized that Vista has over fifty million lines of code. Think about that number for a minute. You would have to have already celebrated your 95th birthday in order to have lived that many minutes. It takes a lot more than a minute to write a line of code, especially when you are talking about operating system code. Time, mind, and money spent to rewrite what they already have is time, mind, and money not spent on entering all these markets that Microsoft so ambitiously wants to enter in. Google would like nothing more than for Microsoft to rewrite their operating system.

How did Apple do it? They didn't worry about backwards compatibility. If you bought a software product for Macintosh version 9.8, then it would not work on OS X. You would have to make another software purchase just to get the same functionality on the new operating system. Apparently, IPod hugging kids with strange facial hair are more willing to part with their hard earned cash than those pudgy business suit types who just might take their unhappiness to a more litigious level.

Why does backwards compatibility make the rewrite so much more expensive? Well, for one thing, Apple didn't really rewrite OS X from scratch. They took their work on Next Gen and BSD and started from that. Microsoft doesn't have that luxury.

Will Microsoft ever rewrite their operating system? Who can ever say? They do rewrite parts of it from time to time. Also, they really have two operating systems now, one for servers and the other for workstations. Nobody, that I know of, ever really complains about the server OS which I believe to be more strategic for the company over the long haul. It's probably easier and more in line with their long term objectives to relinquish the workstation market to the Apples and the Linuxes of the world than to rewrite Vista.

No comments: