Last month I wrote a column suggesting that, down the road, faced with legal troubles and infinite customer-support headaches, Microsoft might borrow a page from the "free software" movement and release the source code to its Windows operating system. The piece evoked an impressive outpouring of thoughtful comments from readers, applauding or deriding the idea's merits and debating the unlikelihood of such a radical move on Microsoft's part.
Arguing that the suggestion made sense, David Wollman offered an analogy from the natural world:
Windows has become much too large and complex to survive as a closed system. I am not a biologist, but if I remember correctly, there is a biological term that describes the natural limit on the size of biological organisms. This limit is determined by the ability of an organism to acquire, distribute and utilize sufficient nourishment, rid itself of the byproducts of metabolic activity and, in warm-blooded organisms, cool itself. This limit exists because of a similar limit to the size of the constituent cells and because of environmental factors. An organism that grows beyond this limit cannot survive.
I think there is an analogous limit in software, and that Windows has exceeded it. In software, the limit on size is partly determined by the ability of maintainers to overcome flaws in design and add new functionality at the same time. It seems obvious that Redmond is no longer able to service this "organism" effectively.
Chris Warth offered some additional reasons for Microsoft to give serious consideration to releasing its source code to the world:
Not only are "most commercial software products today ... too monstrously huge to test properly," they are also too monstrously huge to document properly. Microsoft produces volumes and volumes of documentation on the internal interfaces in Windows 95, Windows NT, Windows CE and Windows 98 ... The UNIX mantra, "Use The Source, Luke" -- or, in UNIX tradition, "UTSL" -- is not a backhanded way of saying "you're on your own." It is a recognition that the source is often the best and most incontrovertible documentation. Even in cases where the documentation is well written, precise and complete, I still prefer to consult the ultimate authority, the source code.
Another reason that open source is a good policy is for peer review of security policies. This is more than just finding bugs -- it is a matter of vetting an implementation against the design to make sure that there are no gaping holes. The Java virtual machine source code was initially released under a very liberal policy, in part, to build trust among the users. There were a number of embarrassing security holes uncovered through detailed analysis of the Java source code, but over time those were fixed and the frequency of such breaches has dropped off dramatically.
Craig Zerouni went even further than I did, proposing that the government should force Microsoft to release its source code, since "the OS constitutes a true natural resource, like air or water ... A world OS is a natural monopoly which people need to exist in order to promote computing." He hastened to add: "By the way, I am a running-dog capitalist. This is not ideological, it's technical."
A few readers pointed out that, since Microsoft has already announced that Windows 98 will be the last release in that line of technological descent (afterward, we'll all be shunted onto Windows NT), the company should consider freeing the Win98 source code once it's become superannuated.
Bear Giles suggested that if Microsoft released the Windows source code, the company would put an immediate stop to years of complaints from developers that the company is withholding information on key, "undocumented" features of the operating system to give its own programmers an unfair advantage:
Critics such as myself, who are concerned that the Microsoft applications group enjoy an unfair advantage over their competitors because they can peek "over the wall" into the kernel, would be silenced. If the source code is published, no hidden calls could long exist. Microsoft would still sell plenty of operating-system disks, though, for the myriad other programs present in a complete OS package. I'm thinking of the basic editors, games, etc.
But Andrew Bertola maintained that Microsoft would "cower at the idea" of releasing the Windows code precisely because doing so would reveal the presence of long-rumored and long-denied "hidden calls":
If Microsoft releases source for its OS, either they will be in a heap with the Justice Dept. over all the "undocumented" OS calls only they are privy to, or they will have to sanitize the code before its release. Not only would this be a tremendous task, but all Microsoft apps would fail to work. (Am I speculating? Perhaps.)
Readers offered many other arguments why a Windows source-code release is a horrible idea. "While open source software seems appealing to those that are not intimidated by looking at code, it scares the hell out of those that are -- and there's a hell of a lot more of them than there are hackers in the world," wrote Frank Miller. Mark Dykun, an independent software developer, expressed horror at the problems Windows developers would face at supporting multiple versions of the operating system and offered this rallying cry: "No to free source code -- one owner, one code stream and one company to blame when all is said and done."
Other readers more friendly to the free-software concept offered a different reason that an open-source Windows would never work: Good programmers, they said, will shun it. Ken Erfourth wrote:
Almost every software engineer I know freely acknowledges that Microsoft is the meanest, most dishonest and greediest software company on the planet (and these are Wintel programmers) ...This antagonism is not just jealousy. A lot of the same software engineers who revile Microsoft have warm feelings about IBM that go way back to the days when Big Blue was easily as dominant as Microsoft is now. The difference is that IBM generated its dominance by producing the best products, while Microsoft relies on back-stabbing, back-room deals and its unfair control of 90 percent of the playing field. Distributing the operating code won't help that problem.
Similarly, from Aaron Campos:
You see, for the developers of the world to spend their free time working at their computers, they have to believe in the project. Simple as that. There's no boss there to make them do it, they do it because they love it and believe in the project they're working on.
Nobody believes in Windows. It is a horribly hacked together system that is far inferior to our baby, Linux. Perhaps you'd get a few people chipping in some Windows source, but the development energy would still be spent on Linux, making it more powerful, easier to use, etc. It is simply a superior OS and I don't think anyone in the community would shed a tear to see Windows go the way of the Dodo.
Strangely, though, the very next e-mail I received, from Greg Miller, informed me of the existence of a Linux-style project to build an independent, open-source version of Windows called Freedows. Jason Filby wrote to tell me about ReactOS, a similar project. Others pointed out the numerous efforts in the Linux world (the Gnome Project, the K Desktop Environment) to build desktop interfaces for that operating system that are similar in feel and function to Windows.
I still think it's highly unlikely that Microsoft will ever go down the "free software" road unless its business takes a big turn for the worse. But it's always fun to speculate. Thanks to all the readers who joined in. Just as the Net allows software developers to collaborate across time and space, it allows us to speculate collectively, too.