Smarthouse, an Aussie online technology news source, recently reported 60% Of Windows Vista Code To Be Rewritten. Reactions have ranged from literal disbelief through shock with either disappointment or glee to a complete lack of surprise from a jaded few. I, for one, found the idea a mite surprising, and immediately thought that the details of the report were probably exaggerated, possibly by way of a misunderstanding.
I wasn’t actually terribly motivated to comment about the situation until I saw a post in Chip’s Quips about the matter. He asks the question Will Perestroika within the Evil Empire open some Windows? The post as a whole raises some points of interest in my mind that seem to beg for attention and my usual free-wheeling style of commentary.
Yes, I said “free-wheeling”. Take it however you like.
I agree with the estimation of both Robert Scoble and Chip that a 60% rewrite of Vista by January is highly improbable. I’d bet money that’s not happening. I do think there’s some rewriting going on, though, and that the 60% number might not be entirely irrelevant.
First of all, Chip asks whether 60% of Windows Vista needs rewriting, and points out that “need” is really a relative term — relative to one’s goals, actually. What do you want to accomplish? Once you answer that, you can determine what “needs” to be done to reach that goal.
To place Windows Vista, in my mind, on a level of technical quality comparable to operating systems I actually use would require rather more than a 60% rewrite. The problem isn’t so much that a bunch of the code needs to be rewritten as that the core OS architecture needs to be reconceived. You might be able to salvage code from Vista in the process of that, but what you’d basically be doing is ripping some classes out of it and sticking them into the new architecture because you don’t want to reinvent wheels for the object foundation of your code base. Considering that in my estimation a proper rewrite of Vista from the ground up should literally decimate (cut down by 90%) the sheer weight of code in the OS (more than 50M lines of code is simply unacceptable for the functionality it provides), there’s not going to be a whole lot of reused OS architecture possible.
Of course, that doesn’t mean that Microsoft doesn’t think 60% of the OS needs to be rewritten. Maybe someone there arrived at that number. What would that mean, then?
It might mean that some things are going to be ripped out of the OS for now, to be re-added later in service packs, and a bit of what isn’t removed would then have to be rewritten to cover the gaping wounds before the planned 2007 release date. That strikes me as a particularly unlikely state of affairs as well, though. Vista is going to be released in a form significantly similar to that currently displayed in the public beta release when it finally goes to market. With less than a year to the new release date, there just isn’t time to do anything else. There must be something else going on.
To get to the base of this mystery, we must make an effort to figure out what exactly needs to be fixed. The “media center functionality” excuse doesn’t float for me: there’s no real reason they couldn’t simply produce their multimedia-specialized software later, and release what’s needed early. There’s no way Microsoft wired the multimedia capabilities of Vista into the OS in such a tightly integrated manner that they’d have to do any significant work on it to separate that functionality. APIs are a lot easier to fix than that, even if they have to be fixed by way of wrappers and glue code rather than solving the underlying problem (and Microsoft has proven time and again that cruft is preferred to fundamental fixes in the world of Windows). I’m making some pretty superficial comments here, of course, and from certain perspectives they’re sure to be recognizable as such and appear inaccurate, but you’ll just have to squint and go with it for now: I’m not going to research the OS architecture enough to provide better right now. Just take it as a given that I don’t believe this Smarthouse article’s inspiration was a case of some kind of media center blues.
Have you been reading the news lately? Microsoft lost a patent infringement case brought by Eolas, licensee of a University of California held patent that ActiveX apparently infringes. That’s what the court ruled, at any rate. Patches are being released for IE 6, changes are being made to the plans for IE 7’s final form, and hundreds (if not thousands) of webpages and applications are being rewritten. My question is this: How much does this affect the structure of Vista?
Considering the merging of web and OS technologies that has been going on in Windows for the last decade, I wouldn’t be surprised if that 60% in the Smarthouse article actually refers to a need for the Windows developers to go over 60% of Vista’s code base to see what infringes and determine how best to address it. ActiveX touches on at least that much of Windows’ functionality, at least indirectly, and I suspect the pervasiveness of its influence in the OS is far greater in Vista. Even the security model for Vista now integrates ActiveX management tightly with a number of other ubiquitous features. Maybe that’s the media center connection: perhaps media center functionality was pointed to as the culprit for the need of an overhaul because some of its basic functionality depends on how ActiveX capabilities are handled by Windows.
Then again, maybe not. Maybe I’m imagining these connections. Maybe I should get more sleep before speculating on the state of Microsoft’s platforms and services division.
Maybe I’m happy to be using an open source OS that doesn’t have these problems.