Saturday, December 16, 2006

Microsoft and Open Source

The Software Ecosystem

The continuous interaction among government, academic, and private research has always been the engine of innovation in the software ecosystem. Governments and universities undertake basic research and share this knowledge with the public. In turn, companies in the private sector use some of these technologies in combination with their even greater ongoing investment in research and development to create commercial products, while also contributing to the work of common standards bodies. Additionally, the long-established practice of cross-licensing intellectual property assets provides companies with access to a broad range of technologies to complement their own development efforts. Commercial success leads to greater employment and tax revenues as well as additional funding for academic research projects. This “virtuous cycle” has been the primary driver of sustained innovation making information technology among the most dynamic of industries in the global economy.

Microsoft believes that the future of software will not be the result of the dominance of a single development, licensing, or business model. Future innovation will not come solely from government, private industry, or a loose coalition of individuals acting in the best interests of society at large. Rather, the continued health of the cycle of sustained innovation--the fruits of which we have enjoyed for three decades--will depend entirely on the continued melding of approaches and technologies.

For example, the Microsoft Windows operating system was developed privately and for profit. But the product includes many components born of government and academically funded work and contains implementations of dozens of open industry standards. Furthermore, the publication of thousands of application programming interfaces has created business opportunities for tens of thousands of software businesses and has resulted in innumerable custom applications that address individual needs.

Open Source Software Model

The term open source software (OSS) is broadly applied to any (or a combination) of four interrelated concepts: The OSS development model, OSS philosophies, OSS licensing regimes, and OSS business models. However, first and foremost, OSS is a development model built around the idea of community creation and sharing of source code. The other three concepts, and the debates surrounding them, lend further definition to the OSS movement or “culture.”

Collaboration is the primary benefit of the OSS development model in that the ideas of the original developer are available for modification and improvement by any other member of the community. It is important to note that simply releasing source code does not guarantee the formation of a community. But, the combination of compelling technologies, dynamic project leaders, and a clear sense of direction can result in an active and healthy collaborative community. For consumers, the most obvious benefit of the OSS model is the little-to-no acquisition cost. Yet, integration, deployment, migration, training, and support costs may exceed other forms of software throughout the life of the software.

As for a unified OSS philosophy, there is none. In fact, there is a great deal of disagreement within the community itself. The two most fundamental and often rival OSS schools of thought can be characterized loosely as:

Ideological: Believes that all software (both source and object code) should be available at no cost to anyone and that direct commercialization of software is immoral.

Commercial: Believes that OSS is a superior development model that can serve as a basis for a healthy software industry for both direct and indirect commercial software usage.

Despite the desires of the ideological crowd, many commercial interests are looking to use OSS strategically for both technology and business purposes. These commercial entities are changing the overall landscape of OSS as they seek to commercialize the model in various ways.

Commercial Open Source Software

Open source software has bifurcated into commercial and noncommercial segments. For many, the most interesting OSS work going on today falls into the fully commercial category, since significant dollars, resources, and technology are coming from those seeking to use OSS as the basis for strategic business purposes. Examples of this include the many versions of Linux on the market, as well as the Apache, Samba, Sendmail, OpenOffice, and MySQL products.

A common misperception about software developed under the open source model is that a loosely-coupled group of distributed developers is creating the software being adopted by business. Although this is true for some smaller projects, the reality is that professional corporate teams or highly structured not-for-profit organizations are driving the production, testing, distribution, and support of the majority of the key OSS technologies.

The reason that much of the OSS community has embraced a commercial business model is simple: customer demand. For all the appeal of a software community in which there are no fees, no vendor control, and continuous product improvement and bug fixes for free, the reality is that customers—corporate and consumer—want high value, low risk, investment protection, predictability, consistency, compatibility, and vendor responsiveness. These demands result in vendors offering “open source” solutions that are just as closed as the traditional software with which they are competing.

For example, enterprise customers demand service-level support agreements from their software vendors. To deliver stated service levels, the vendor must make sure that the source code in the supported environment is maintained in a stable state. Their support contracts specify that the customer may not modify source code (a core tenet of OSS licensing) without invalidating the support contract. While not done maliciously, the result is still a “closing” of the solution for commercial purposes. Thus, while the development model is open, the business model frequently requires a significant decrease in openness.

Microsoft and Open Source Software

Microsoft has been learning from the OSS community regarding the benefits of deeper collaboration and increased transparency leading to better communication with customers. We believe the most effective pathway for a commercial software company is to strike a balance between investing in research and development and the release of intellectual property assets in the form of source code for both reference and collaborative purposes.

The increased competition resulting from the proliferation of OSS has been constructive for the industry as a whole. The implications of OSS within multiple market segments are causing organizations to figure out what is most important to them. It has placed a higher premium on innovation and a drive to deliver greater value for lower costs. The big winner in this equation has been the software consumer, whose choices have increased dramatically.

The Shared Source Initiative is the manifestation of these factors within Microsoft. With more than 80 source code offerings being used by more than two million developers, Microsoft is looking to apply the best of open source while helping its customers avoid many of the model’s pitfalls. There is no one, correct way to create software. The ecosystem as a whole will benefit from a rich tapestry of development, business, and licensing models.