Microsoft's open-source strategy
Sam Ramji, who directs Microsoft's open source lab, says that the question is not open source or closed source. Rather, what matters to him is that as much software as possible runs on the Windows platform, regardless of whether it is proprietary or open source.
At the Open Source Meets Business (OSMB) conference, which took place from January 22-24 in Nuremberg, we had the opportunity to speak with Sam Ramji. The head of Microsoft's open source lab held a keynote address (webcast of Ramji's keynote) at the conference before taking part in a panel discussion with representatives of the Novell, Red Hat, the Linux Foundation, and the CIO of Deutsche Post (webcast of the panel discussion).
When Sam Ramji speaks of open source, he knows what he's talking about. Before he moved to Microsoft, he had, among other things, set up the ofoto.com photography community (meanwhile taken over by Kodak) using only open source software. As the director of Microsoft's Open Source Software Lab, he succeeds Bill Hilf, who was promoted to General Manager Platform Strategy. In the Lab, Ramji and his staff deal with issues of interoperability between Windows and open source software; at their blog, Port25, they provide some insights into their work. In addition, Microsoft has set up its own website to provide an overview of all of its open source activities.
For Ramji, open source is one of several ways to develop software. Microsoft supports open source, he says, because customers want to use open source software and developers want to work within the open source method. On the one hand, the company publishes some of its own code as open source: At CodePlex, Microsoft's website for open and shared source software, a number of projects are found under the Microsoft Public License (MS-PL) and the Microsoft Reciprocal License (MS-RL), both of which are accepted by the Open Source Initiative (OSI).
The lab's other task is to support open source projects and vendors who want to port their software to Windows. For instance, Ramji explained how his company provided the Apache team with a number of MSDN subscriptions so that developers would have access to Microsoft software and information; each one of those subscriptions would normally cost $4000 per year. He added that a number of the Firefox developers have been invited to visit Redmond in the next few weeks to optimise interaction between Firefox and Windows Media Player.
In doing so, is Ramji not promoting products that compete with Microsoft's own Internet Information Server (IIS) or Internet Explorer? Ramji says that is not the crucial issue. If people want to use Apache or Firefox, he says, they should do so -- as long as they are on the Windows platform. He says Microsoft can live with the market share that Linux currently has, including in the field of servers, but the company does wish to prevent users from switching to Linux just because they want to use certain open source applications.
The example Ramji gave was MySQL, probably the most widely used database at the moment. What happens when a company discovers that MySQL is no longer powerful enough and they need a better database? If that company has been running MySQL on Linux, they will stick with their Linux platform and take Oracle or IBM's DB2. But if MySQL is running on Windows, Microsoft's SQL Server is an option.
Why doesn't Microsoft simply port its own applications, such as SQL Server or IIS, to Linux? "We're not going to do that", Ramji says, because Microsoft is mainly a platform provider, and the point is to make Windows as attractive as possible as a platform.
Is Microsoft going to start producing more open-source software? To answer this question, Ramji grabs a pen and starts sketching a typical software stack from the operating system to the database, the development framework, and the applications. He says that few system houses, much less end users, have the competence required or any interest in putting together their own operating system kernel, database, and run-time environment (JVM, .NET CLR, script languages). Here, configuration options normally suffice, and Microsoft will be providing just that with the "Server Core" in the upcoming Windows Server 2008.
He argues that it only makes sense to be able to change code at the levels above that: in the framework that a developer may want to add special features to, and in applications that users want to customise. Here, Microsoft is thinking about which code it wants to publish under which conditions. Sometimes it be enough to simply have a look at the code, as planned for large sections of .NET, sometimes Microsoft would need to go all the way towards genuine open source, including permission to modify the code and share modified versions.
Will there be no open source Windows? No, Ramji says: the strength of Windows is its uniqueness, so there will only be one version. Were Windows released as open source, it would lose this strength without providing any additional benefits for users. And .NET? Ramji had no comment.
Ramji says that his opinion of open source is the same as top management at Microsoft. Here, he says, there have been some changes in the past few years; nowadays, Microsoft is taking a very close look at where open source makes technical and economic sense -- and where it does not.
- Webcast of Sam Ramji's Keynote Address at the Open Source Meets Business Conference 2008
- Webcast of a panel discussion with Sam Ramji (Microsoft), Paul Cormier (Red Hat), Dr. Johannes Helbig (Deutsche Post), Roger Levy (Novell) and Jim Zemlin (Linux Foundation) at the Open Source Meets Business Conference 2008