Forking Windows

In my previous post, I began making a case for an open-source Windows, and several commenters have weighed in on why such a Windows licensing shift would/could/should never happen. One of the more common points of contention involves a fear of forking–the idea that an open-source Windows would be too fragmented.

One of the most beloved aspects of Windows is the unifying force it has applied to the personal computing world. Out of a sea of competing standards and code mired in the bickering and short-sightedness of competing hardware vendors came Microsoft, and its clone-embracing business model.

DOS/Windows wasn’t tied to any particular brand of hardware, the way that Apple’s OS X is and the way that Sun’s Solaris and assorted other proprietary Unixes were, and that hardware promiscuity is just what the budding PC world needed to thrive.

So, if Microsoft open-sourced its operating system, wouldn’t we lose that unifying goodness? Wouldn’t the Windows world lose its center of gravity and go flying apart in all directions, tearing apart the PC ecosystem on which so many of us depend?

No. If Windows were open-source software, the center of gravity of the Windows world would still reside at 1 Microsoft Way because, in any open-source project, the mantle of leadership rests with those who write the code or with those who pay for the code to be written. Open source or no, Microsoft’s position at the center of Windows development is secure. If you want Windows, now or in some Bizarro Superman alternate open-source reality, you’ll know where to get it.

That’s not to say an open-source Windows would be fragmentation-free. Some level of forking and fragmentation is essential for the open-source model to work its magic. For Linux, there are 1,001 different kernel-modifying projects out there, with individual efforts emerging, dying and merging back into the canonical kernel tree all the time.

This is how Linux came to acquire the SELinux security framework and Xen hypervisor technologies, and how the upstart OS will continue to pick up innovations until some other platform manages to seize the open innovation crown.

Now, just because there are a ton of separate, conflicting Linux projects at various states of maturity out there doesn’t mean that Linux-consuming organizations and individuals ever have to embrace or even think about these projects. If you’re wary of fragmentation and you want to use Linux, you go to a Linux distributor and pick up an operating system that meets your needs. The distributor gets to worry about the fragmentation, and you worry about your workloads.

Linux began life with a kernel developed by a group of volunteers in one place, a toolchain developed in another place, a graphical layer developed somewhere else, and a few desktop environments created still elsewhere, but even with these fragmented origins, a small number of distributions claim the bulk of popularity.

If Windows went open source, what could possibly spring up to unseat Microsoft as the operating system’s chief distributor?

Rather than cracking its core, fragmentation in an open-source Windows ecosystem would occur at the edges, as projects would emerge to enhance or otherwise modify parts of the OS. Among users for whom those modifications scratched their Windows itch, these projects would develop a following. For most Windows users, however, the integration and management costs of running nonstandard builds of Windows would keep these users attached to the mainline distribution, as defined by Microsoft.

When any of these Windows fork projects developed enough of a following, both in the wild and within the walls of Microsoft’s campuses, Microsoft would integrate the projects back into mainline Windows, where typical users would consume the enhancements in an orderly and fragmentation-free manner.

As I wrote in a previous column in which I called on Sun to open-source Java–an event that has come and gone without any massive Java implosion–Microsoft need not fear the fork, and neither should you.