Microsoft’s CoApp: Making Open Source Projects on Windows Easier

Posted by Kerry Godes
Senior Manager, Worldwide Marketing and Operations

Today marks the start of the Open Source Convention (OSCON) in Portland, OR. Among the Microsoft attendees that will be onsite at this year’s event is Garrett Serack from the Microsoft Open Source Technology Center.  Garrett will be celebrating the first full release of CoApp, an open source package management system for Windows Server and Windows Azure, which is a project he has led for the past two years. The goal of CoApp is to make it easier for developers to create and maintain their open source software and projects on Windows.

The first thing CoApp will offer is a full build of PHP that people can use without friction. From there, Garrett plans to keep adding support for more complicated scenarios and languages, including creating efficient models for packaging and distributing Python, Ruby and OpenStack on Windows, and making it easier for people to install web apps like Drupal and MediaWiki.  His long-term vision is nothing short of making CoApp the standard for how people ship open source – and even non-open source – software on Windows.

We talked with Garrett as he geared up to introduce CoApp to the world:

What’s the most significant benefit of CoApp?
Although there are more than 350,000 open source applications that run on Windows, a lot of open source software is still hard to get, hard to find and hard to use on Windows. Right now, everyone compiles projects on their own. We want to remove the duplication of efforts so open source developers can use the things they need without having to do it all themselves. CoApp will bring things together in a consumable way and help people do more.

As background, what inspired you to start CoApp?
I’ve been working in the Open Source Technology Center in Microsoft for more than five years. The first thing I was tasked with was to get PHP to run better on Windows. PHP is a perfect example of how difficult this challenge is. It depends on 45 libraries, and they were never rebuilt from 1998-2008. They were using old compilers. They were unpatched. That’s dangerous.
We needed to come up with a way to get open source software to work easily on Windows.  But we also realized we couldn’t just knock off the way it worked on Unix. After talking to people in open source communities about the difficulties they were having, we came up with the idea for CoApp.

Who is using CoApp? How broadly do you think it will be used in the future?  
In the short term, we’ll be working with more open source developers, and then a lot of IT pros and web developers who want to use PHP on Windows. In the long term, I think CoApp can ultimately be used by everyone. I’m hoping for huge adoption.

How have open source communities reacted to CoApp so far?
I’ve been talking to people in open source communities about this for a couple of years. They’re very enthusiastic. They’re dying for this sort of thing. Some people have not been doing things with open source software on Windows because the degree of difficulty has traditionally been so high.
When I originally announced CoApp, the first thing I did was bring open source developers to Redmond and we all came up with the vision for what it should look like and how it should behave. That’s been the driving vision all the way through.
People were somewhat surprised. They didn’t expect Microsoft would do this and they didn’t expect us to do it in the way we did. It’s different from the way Microsoft has worked with these communities in the past. We haven’t tried to influence how they do their development. Now we’re saying we’ll provide methodologies and tools and will participate in the development process.

How has the Microsoft community reacted to CoApp?
For people who knew how open source works on Windows, the reaction was enthusiastic – “Wow, we really do need that.” For some, there was a lack of awareness initially. They’d say “good idea,” but needed to be brought up to speed on how bad the problem was. Open source people feel it in their guts. Their reaction was “That’s what we’ve been missing all of our lives.”

What have people told you they’d like to see more of?
They want to see more packages and tools to make this stuff easy. A lot of great features in Windows are difficult to use if you don’t have the tools to expose them. Our goal is to reduce developer friction. If we don’t make it easy, developers will look for an alternative.

What are you most looking forward to talking with people about at OSCON?
I’m really excited that we’ve reached a state where the product is usable and not just an idea. We were at the beta point last year, and it wasn’t something people could adopt and rely on. The year before that, it was merely an idea. Now, we’re changing the way software is distributed, and I’m excited to help people adopt it.

What other kinds of open source collaborations would you like to see Microsoft undertake?
Personally, I want to see Microsoft working more with contributions in both directions. I’d like to see more contributions from Microsoft developers to open source projects, and have Microsoft projects accept contributions more easily. CoApp was unique. We didn’t start with code, and then open source some components of it. It was completely open source from the start.