“Microsoft is open to openness,” says Vijay Rajagopalan, principal architect in Microsoft’s interoperability team. The LINUX For You team caught up with him to find out the truth behind this assertion, and to learn more about just how serious Microsoft’s engagement was with open source projects and the community. We also wanted to find out more about the firm’s initiatives towards supporting the software development ecosystem.
Over the years, we have seen Microsoft becoming more and more focused on establishing a connection with the open source community. What has been the reason behind this?
We understand that open source software alternatives can represent healthy competition and an opportunity to complement or enhance Microsoft technologies and products. We also share the common industry view that software users will continue to see a mixed IT environment of open source and proprietary products, for years to come.
We recognise the value of openness when working with others (including open source communities), to help customers and partners succeed in today’s heterogeneous IT environments. This includes increasing opportunities for developers to learn and create, by combining community-oriented open source with traditional commercial approaches to software development.
Hence, the company is working towards establishing a long-term community connection, and is also trying to build bridges between Microsoft and non-Microsoft technologies.
Our open source strategy is to make Windows the platform of choice for customers and developers, by enabling open source applications to run better on, and with, Windows platforms. We view interoperability as a lever for growth, and are committed to helping our customers thrive in a mixed-source world.
Can you tell us about a few projects in which you are working closely with the open source community?
For the last three years, we have been working with the Eclipse Foundation, and have built long-term credibility on various projects. One of the biggest challenges with regard to Eclipse has been to improve its performance on Windows. Let me tell you that there is no vested interest involved in Microsoft improving Eclipse. On the contrary, it has been a challenge to get it prioritised, and fund it. This effort requires a long-term strategy, which we are working on.
We are also working with many open source communities to identify opportunities to participate in projects and initiatives, focusing on improved open source application interoperability with our products. If it makes sense for specific products and solutions, we use an open source development approach, or even open source software itself. A very good example here is the PHP SDK for Windows Azure.
The results of these initiatives — whether it is Java and Ruby SDKs for .NET Services for Azure, or our ongoing OS projects that will help Web developers support digital identity information cards — are ample proof of our seriousness to embrace, and be guided by the open source philosophy.
Is interoperability the only talking point that Microsoft has when it comes to open source?
On the contrary, our engagement with open source is fairly comprehensive, and interoperability is just one of the elements — although a core element — of the entire equation. Our investment and participation in open source is as broad and deep as any other company in the industry today — resulting in more choice for customers, more opportunities for developers, and more technology innovation and market competition for businesses, governments and consumers.
While our business model leads many to believe that we only support proprietary software, in truth, we do value openness. And as a company, we’ve learned a tremendous amount, over the years, about the value of openness and open source in markets across the world, including India.
With respect to India, what are the goals set for encouraging interoperability?
We have observed that there is an increasing customer and partner concern around interoperability, especially when it comes to customer flexibility and choice. Based on the feedback from customers and partners, and through years of participation in industry organisations and forums, we have outlined four foundational interoperability elements of a cloud platform, which include:
- Data portability to help customers retain data ownership and control
- Focus on standards to support existing and evolving standards that make it easier to interconnect
- Ease of migration and deployment that simplifies the process of migrating existing IT assets to the cloud, and
- Developer choice in skills and preferences for tools, languages, run-times and more.
Windows Azure was also designed from the ground up with interoperability in mind.
We have a global interoperability strategy to facilitate the development of open source tools on our platforms. We are also open to receiving inputs from the community, which we plan to club with our plan.
Our recent experience at Open Source India 2010 has also helped us gain interesting insights on the subject of interoperability. During the event, we tried to understand the open source market in India, particularly from the developers’ perspective.
But why is Microsoft so keen on investing in open source projects like Eclipse and PHP?
It is strategic for us. The reasons are more than one. We want distinguished technologies to be widely adopted. We have a team at our Redmond centre that is dedicated to building open source bridges between the Microsoft platform and important open source projects, such as Windows Azure SDKs for Java and PHP, and Windows Azure tools for Eclipse. Each of these includes an SDK, source code, and documentation. (See interoperabilitybridges.com for more.) Already, the majority of Eclipse users are doing their development on the Windows platform — the annual Eclipse survey stands as a testimony to this fact.
Another area that we aim to address is the issue of disparate approaches adopted by developers. For example, PHP developers are mostly working in silos. Every PHP developer has a different answer for any given problem. And the reason is that they use different development tools, and thus each has a different outlook when it comes to solving problems. If some people use PDT (PHP development tools), others use finished PHP applications, like WordPress.
Currently, which are the open source projects being supported by Microsoft?
Microsoft is working closely with various open source communities, such as the PHP, Apache, and Linux communities. The company has also been a platinum sponsor of the Apache Software Foundation since 2008. We have made numerous contributions to various open source projects in the last one year, which include:
- Engagement with the Eclipse Foundation in modernising Eclipse on Windows
- Windows Azure Platform SDKs and tools for open source developers
- Device driver code for Linux, which enables better performance of Linux when virtualised with Windows Server Hyper-V
- Hyper-V Linux Integration Components that make managing heterogeneous systems easier
- WordPress plug-in (Bing + Azure), which allows Web developers to add cool Microsoft features on top of the LAMP stack
- CoApp, which makes it easy for developers to run Linux applications on Windows, opening up more opportunities for broad adoption of their applications
If you go to infobridge.com, you will see close to 40 different projects. Of these, 12 or 13 are specific to Windows Azure. In Windows Azure, we have also articulated the application fabric, allowing those applications to be released as open source apps. About 10 of these projects will continue to grow.
We haven’t set any artificial numbers, but have a strong strategy, particularly to empower non-Microsoft users, and provide them with rich set-up tools, so that they can leverage their existing skills.
What is your take on PHP?
I think PHP is one of the top platforms, currently. There are a large number of Web applications today that run on PHP. Considering this, Microsoft is working with the PHP.net open source community, and with Zend (the commercial PHP company), to ensure that applications written in PHP work well with Windows Server and SQL Server. Thus, the focus on PHP is pretty strong — but we will also continue to focus on Java, JSP (Java Server Pages), and others.
With the onset of the SaaS and cloud era, do you think open source would matter to an end user? What are your views on it?
When it comes to open source and the cloud, I want to share a great example. SugarCRM is a 100 per cent open source company, which has chosen to offer its online (cloud-based) services on Microsoft’s Azure platform. The CEO, Larry Augustin, was part of the group that coined the term ‘open source’. When the cloud computing phenomenon started to take hold, SugarCRM began its search for the best cloud platform to help extend its business to the cloud, and to help it pursue the new business opportunities presented by this trend. Its choice was Microsoft, and it became one of our first customers on Windows Azure.
This example helps make a critical point in our discussion of openness on the cloud. In truth, what we’ve learned over the years and what is becoming even more apparent now in the cloud realm is that it doesn’t really matter whether the platform is open or closed. What matters is that technology enables reliable and seamless delivery of services to the customer. The focus for all of us in the technology industry, at the end of the day, has to be on working together to deliver the best solutions for our customers.
In the ERP and CRM space, there are certain open source projects available and running. Would you be putting them also on the Azure platform?
Open source projects on CRM can work well on the Azure platform too. Besides, a growing number of open source companies are becoming Microsoft partners, such as Zend, SugarCRM, Network Earth and Bitrix, and are offering open source solutions on Microsoft platforms to their customers. But we don’t want to dictate that these applications should be running only on Azure.
Are you only focused on the Windows Azure platform, or looking at the overall open source scenario?
It is the overall scenario that interests us. Though we do have a long-term plan in place, ultimately, being a commercial organisation, we are focusing on a two-year horizon. This year, our focus is on cloud computing (i.e., Windows Azure SDK); mobile platforms is another area — with the release of the Windows Phone 7 series, we want to make sure that there is excitement in the community, and that they develop applications for it. Whether you use Android development, iPhone, or any open source mobile tool, we want developers to think about an open cloud platform, where you could continue to use Windows Azure for your service board. Ultimately, you need your data to be stored on the cloud. Apart from this, Microsoft wants the overall audience to understand our platform better, particularly with respect to client technologies.
Windows Phone 7 looks like Microsoft’s big bet on the mobile platform, particularly in the presence of platforms like iPhone and Android, among others. What is the strategy to promote this platform, and how much is open source going to help you drive Windows Phone 7 further into the market?
Our strategy to drive and promote Windows Phone 7 is to primarily come out with some differentiation. It’s all about developers. Windows Phone 7’s core engine is based on Silverlight, which is an easy developer platform.
I think we also need to think in a very creative way, particularly with respect to marketplace requirements. It is very important to look at professional services that help open source organisations make money. We need to think through this problem. And the cloud has to play a critical role — and that too, in a connected environment.
Don’t you think you should develop an open source business model to offer the tools in the first place?
There are many basic development tools offered for free. Eclipse also follows the same model, which is also called an express edition. These tools are free, and come with basic functionality, which is good for many open source development start-ups. In fact, all the Azure tools from Microsoft are free. All you need is Visual Studio Express and to install Azure. If you are a .Net developer, everything is free in that model too. In addition, just like other offerings in the ecosystem, the professional model is aimed at big enterprises with large-scale client licensing and support. But when it comes to providing tools for free to developers, we look at it as an investment, to build a developer ecosystem working on Microsoft platforms.
How are your global initiatives, such as CodePlex, shaping up?
CodePlex is a Microsoft initiative for the developer community. It is another open source organisation.
CodePlex.com has over 10,000 open source extensions and plug-ins for Microsoft server products, 3000 open source extensions or plug-ins for Windows, and thousands of other open source extensions or plug-ins for other Microsoft products such as SQL, SharePoint, Office, and Dynamics CRM. The site also has 160,000 registered users, 10,000 projects, 160 million lines of code published, and 3 million visitors per month.
A lot of Microsoft’s products are under threat from open source alternatives, and many in the community treat MS as ‘Enemy No. 1’ :-). What’s your message to them?
It is important for me to emphasise that Microsoft does not compete with open source as a category (though there are specific open source products that we do compete against, such as Red Hat Enterprise Linux). Increasingly, open source products complement what we do, as proved by the dramatic growth of open source applications and technologies on Windows.
More than 350,000 open source applications run on Microsoft platforms today (up from 80,000 in 2008/09). This is more than 82 per cent of all open source software found on source forges around the world. And 23 of the top 25 most-downloaded open source projects run on Windows (Source: Geeknet).