To maintain its developer ecosystem and protect its apps business, Microsoft has no choice but to loosen its grip on the Windows source code and drive down costs.
Cloud Computing Looms
Linux, open source apps, and virtualization threaten to loosen Windows' grip in another place: the cloud.
Cloud computing's hourly fees seem unreal compared with the daily costs of running an enterprise data center. With services such as Terremark or Amazon EC2 available at the swipe of a credit card, they'll be tapped and tested in a down economy.
"The cloud today is almost entirely run by Linux and other open source," notes Andi Gutmans, CTO of Zend Technologies, supplier of the PHP dynamic language and the Zend Framework. Microsoft's cloud OS, Windows Azure, is still in development.
Clouds scale up by generating more Linux virtual machines. The Linux open source license allows any number of servers to be activated with no increase in cost. Microsoft hasn't been able to rationalize its pay-per-copy business with the cloud.
"Why would I want to buy a license to use something perpetually when I only want to run it for 20 minutes?" asks Billy Marshall, CEO of rPath, provider of a virtual appliance service for packaging Amazon Machine Images.
To compete in the cloud, Microsoft will have to find a way to shed the Windows price-per-copy model--that is, make Windows freely downloadable to developers accompanied by many open APIs--or concede cloud computing operations to Linux. The cleanest way to do so, and the way most persuasive to developers, is to make Windows open source.
Many would say Microsoft is culturally and ideologically incapable of doing such a thing, but empathy for open source projects runs deep in Microsoft's own programming ranks.
Microsoft is squeezed, says Zemlin
Even Microsoft's top lawyer, Brad Smith, has struck a conciliatory tone. "We at Microsoft respect and appreciate the important role that open source software plays in our industry. We respect and appreciate the passion and great contribution that open source developers make in our industry. ... That is not what you have always heard from us," Smith said last March at the Open Source Business Conference in San Francisco.
Indeed, Microsoft has been experimenting with the open source model for years. Its "shared source" concept was a first, weak step. And last year it won approval for two open source licenses, the Microsoft Public License and the Microsoft Reciprocal License, from the Open Source Initiative.
If Microsoft were to move in the direction of making Windows open source, how would the company do it? It could go several routes. The most radical would be to invoke an open source license (most likely not the General Public License), make Windows freely downloadable, and publish information on its interfaces, APIs, and file formats.
Microsoft could then mimic companies like Red Hat by issuing a freebie version of Windows to the teeming masses, while offering a commercial version to businesses with enterprise features and support.
But Microsoft's approach most likely will be more subtle than that, embracing the open source model in part, if not in whole, and perhaps not even calling it open source. But the effect will be the same: Microsoft will gradually open up more of the Windows source code to developers, while driving the price down for users.
(click image for larger view)
Already you can see evidence of that with Windows 7. As it made the beta release available, Microsoft lifted previous restrictions on the number of downloads, following an open source practice of getting the code into the hands of as many users as possible for testing and feedback.
Microsoft will push this process further to keep developers committed to Windows. It will push it until the difference between Windows and open source becomes negligible. At some point, it will take the plunge and declare Windows open source.