Interview with JDN|developer about the WiX toolset (and thus Open Source at Microsoft).

I thought the one year anniversary of the WiX toolset's release was going to go by quietly. Well, turns out late last week an analyst from JDN in wanted to do an interview about the WiX toolset. Anyway, he informed me this morning that the interview was posted on the front page (at least it is right now) today. For those of you that can read French, the article is here. I can't read (or speak) French so here is the non-translated text that I originally sent on Friday.

Q1. You are one of the core developers of the very first Microsoft project released under the CPL, a recognized license. What led to such a decision, how did you convince people, and how well was it received (in & out of MS)?

A. Two things came together to make the WiX toolset the first project from Microsoft released under a recognized Open Source license. First, senior leadership at Microsoft was looking for a project that could be released as Open Source. Second, I was developing the WiX toolset using many Open Source methodologies internally and wanted to release the toolset publicly. After talking to some legal staff trying to find an appropriate license to do what I wanted with the WiX toolset, I was put in contact with several individuals from the Shared Source Initiative who were responsible for finding the project to Open Source from Microsoft. It was immediately clear that the WiX toolset was a perfect project to release as Open Source. So, it didn't take much for me to convince people that we should release the WiX toolset as Open Source. I just had to find the right people. <smile/>

Internally there has been nothing but support and congratulations for releasing the WiX toolset as Open Source. The internal support and excitement about the WiX toolset has remained constant over the last year. Externally the initial release was met with a mix of excitement, disbelief, and criticism that Microsoft could never release a project that would operate like other Open Source projects. Over the last year, I've seen the external disbelief and criticism change to recognition that the WiX toolset is a typical Open Source project.

These days the reaction to the WiX toolset seems to be completely based on how well the WiX toolset solves people's problems. People praise the toolset when it solves their problems and other people are critical when it doesn't. We try to fix the issues so that the WiX toolset works well for everyone.

Q2. MS is known for having a host of very good engineers at hand. What was expected from an open source release comparatively to what could have happened with the existing resources?

A. Well, you have to know that the WiX toolset does not and never has had an official Microsoft development team. The WiX toolset was originally written in my free time. Because I made the source code freely available internally other Microsoft developers joined in and helped fix bugs and provided feature suggestions and supported new users as we had time. Like I said, the WiX toolset was operating as an Open Source project internal to Microsoft for a few years before it was released externally. Releasing the WiX toolset externally as an Open Source project from Microsoft was a natural progression.

Q3. One year after the fact, has the project really benefited from being open-sourced?

A. Absolutely and in two different ways. First, new users of the WiX toolset provide more coverage of the existing toolset which helps us find and fix bugs. The new users also provide insight into new opportunities and scenarios that the WiX toolset can grow to support. Fundamentally, the WiX toolset improves as more people use it.

Second, the WiX toolset is recognized internally at Microsoft as a successful Open Source project. Remember, one of the goals of the WiX toolset was to get a better understanding how Open Source can work at Microsoft. Success in the WiX toolset may encourage others to consider releasing other Microsoft projects as Open Source.

Q4. This project launched a handful of other releases from Microsoft to the OS crowd. Could this become a trend from smaller MS projects? What other MS projects could benefit from such a license, or are actually target for such a release?

A. The Shared Source Initiative team is always looking for new projects like the WiX toolset, Windows Template Library, and FlexWiki to release as Open Source. I don't have a lot of insight into the list of projects that Shared Source Initiative team wants to release nor the relative size of any of those projects. I'm pretty busy participating in my own community.

Q5. Is the Shared Source Initiative team willing to take further risks by releasing more important codes?

A. I'm not actually on the Shared Source Initiative team but as I understand their goal it is not about risk management but sharing code. The Shared Source Initiative already releases the source code to over 70 different Microsoft projects (including Windows and Office) under a variety of licenses. You can see more here: https://www.microsoft.com/resources/sharedsource/default.mspx

Q6. Would you see yourself as an advocate of open-sourcing, or just someone using the right license for the right project?

A. This is a great question. I think I would consider myself an advocate for building communities. The license ("open source" or "shared source" or "closed source" or "whatever source") is just one part of declaring the rules the community will live by.

For example, releasing the source code to a project for developers under an Open Source license is a great way to build a community of developers. However, this does not mean that you have to release source code to build a developer community. Fundamentally, the WiX toolset community is really just a bunch of developers (a community) working together on tools that make their lives better. We don't get together simply because the code is licensed under the CPL.

So I believe communities are what are important and Open Source is just one way to build a developer community.

Q7. Has the success of the WiX project, and the publicity it generated, changed anything to the MS view on open-sourcing?

A. I would like to think it has. I'm not sure there is anything I can point to and say, "See Microsoft did that because the WiX toolset was released as Open Source." However, I think that by being successful with the WiX toolset we can demonstrate that Open Source is yet another way for Microsoft to participate in the community.

Q8. You've written a step-by-step guide to getting a project on SourceForge. What would you also consider to be bulletproof tools or websites for open-source development?

A. To build a community you need a place to communicate. I personally prefer email. You'll see notice most of the communication about the WiX toolset happens on our users and developers mailing list. But I've seen other projects be successful with web forums and/or wikis. I'm still experimenting with how to best utilize my blog for communication but that is a new and interesting medium. Oh and something I haven't done a great job with in the WiX toolset yet is that I think an informative and attractive website for the "front page" of the project is a good idea.

Developer communities also need ways to track the source code, bugs, feature requests, and binary releases. Then you need a build system to build your code. These are the core features of any development project. I'm not telling you anything special here.

I also don't believe that building Open Source software is different from building software under any other license. Find tools that do the above well and go from there.

Q9. What do you yourself use for your projects (languages, methods, tools...)?

A. The WiX toolset is a mix of C# and C++ code. We use SDKs that are freely available from Microsoft like the Platform SDK, and the .NET Framework SDK. Currently our build system is based on NMAKE.EXE (which is part of the Microsoft Platform SDK) and we are investigating other alternatives right now. Fundamentally, I like to keep the build systems as simple as possible

As for programming methodologies, I don't think we do anything exciting here, certainly nothing "buzzword worthy". I do subscribe to the idea of "release early, release often". We do a peer review of all of the code that gets checked in and have some rudimentary unit tests.

Finally, we use SourceForge for the tracking and communication needs for the WiX toolset. SourceForge provides the mailing lists, CVS for source control, trackers for bugs and feature requests, and a file release mechanism for our binary releases. That all works pretty well, although I'm not a fan of web forms for data entry so the bug management and releasing binaries on SourceForge can be tedious processes sometimes.

QA. What could be the future of open-source inside Microsoft?

A. I'm personally focused on improving the WiX toolset and maintaining the community that supports it. Beyond that? Anything is possible. <smile/>