Toward a More Perfectly Modular Windows

Gartner made news April 9 by contending that Windows is in danger of collapsing under its own weight. According to Gartner analysts Michael Silver and Neil MacDonald, radical changes to Windows are required. Their prescription: a more modular Windows.

Windows is a massive piece of software, and even though it’s not presented as such externally, the operating system is made up of many separate parts. Making the seams between those parts more obvious and providing a way for components to be swapped in or out with ease would make for a more flexible and manageable Windows.

Microsoft agrees with this assessment–and, in fact, Microsoft has been agreeing for the last 10 years or so.

Not long after I started at PC Week (which soon became eWEEK), I took a briefing with members of Microsoft’s Windows team about the future client operating system that would eventually be called Windows XP. The biggest take-away of the conversation was that Windows was going modular.

During the lead-up to Windows Vista, one of the key differences between Vista and the Windows releases that came before was that Vista was to be modular.

Now, Windows 7 is on the horizon, and the word on everyone’s lips is MODULAR.

Yet, even though Microsoft has been talking about modularity in Windows for the past 10 years, Windows remains more monolithic than modular, and that applies to Windows in both its client and its server incarnations.

Windows Server 2008 demonstrates some progress toward modularity, with a Server Core configuration that strips away much of what makes up a full Windows installation, but a stripped-down operating system isn’t necessarily a modular one. It’s not what you take away, it’s how you take it away and how you’re able to add it back.

For instance, Windows Server 2008 cannot host .Net applications, because even though Microsoft has been talking about modularity in Windows, and about managed code through .Net for years now, Microsoft has not bothered to package .Net modularly–the framework has so many dependencies throughout Windows that only the full Windows Server installation will do.

Meanwhile, the open-source implementation of Microsoft’s .Net, Novell’s Mono, is packaged very modularly, and can operate happily on a stripped-down instance of Linux, with the lower overhead and reduced attack surface that Microsoft touts for its Windows Server 2008 Server Core.

If Microsoft is serious about making Windows more flexible, the company needs to follow the lead of Linux–Windows needs a software packaging framework that breaks every component in the Windows code base into manageable chunks that customers, ISVs and Microsoft’s own development teams can manipulate and extend to serve their needs.