Openness can be good business

SourceForge is not a Web site that one
normally associates with Microsoft. Home to tens of thousands of open source
projects, it has a large population of developers with largely anti-Microsoft
sentiments. Yet if you surf over there right now, you can find the Windows Installer XML (WiX) toolset
projects: an actual Microsoft-hatched open source project released under the
Common Public License (CPL - an open source license developed by IBM.

While it certainly seems like this must be an elaborate hoax, or a precursor
of the end of the world, it's for real. Even better, there's no need to
speculate about the motivations behind the project. That's because the lead
developer, Rob Mensching, is one of the many, many Microsoft employees who's
maintaining a weblog. In his weblog,
Rob says:

Now, let’s talk about why WiX was released as Open Source. First,
working on WiX has never been a part of my job description or review goals. I
work on the project in my free time. Second, WiX is a very developer oriented
project and thus providing source code access increases the pool of available
developers. Today, there are five core developers (Robert, K, Reid, and Derek,
thank you!) regularly working on WiX in their free time with another ten
submitting fixes occasionally. Finally, many parts of the Open Source
development process appeal to me. Back in 1999 and 2000, I did not feel that
many people inside Microsoft understood what the Open Source community was
really about and I wanted to improve that understanding by providing an
example.

He also discusses a little of the process he went through to get the public
posting approved (which doesn't actually sound all that onerous), and mentions
that this is the very same toolkit used by many Microsoft product teams to build
their setups.

Of course, the anti-Microsoft crowd has been having a field day with this
release, both in the comments to Rob's weblog and on sites such as SlashDot.
Various unlikely conspiracy theories have been postulated to explain why this
tool is available as open source, but honestly, I think it makes more sense to
see the availability of WiX as part of a larger movement towards openness and
developer education on Microsoft's part. To my mind, this release fits in with
such other parts of the universe as the hundreds of Microsoft bloggers and the immense amount
of information available over on the Patterns & Practices
Web site. At least over in the Developer Division, Microsoft seems to have
realized that helping people use tools like Visual Studio .NET more effectively
sells the product. Giving away some tool code that helps build better setup
programs for .NET applications, using an easily automated process, can only help
.NET gain further acceptance.

Finally, I would be remiss to leave this column without mentioning the actual
Wix product itself. The idea is pretty simple: it contains tools and an XML
schema. You author an XML document that conforms to the schema, run it through
the toolset, and you get an MSI file out the other end. As I mentioned, this
exact tool is used by many product teams at Microsoft to produce their MSI
files, so you know that it works. Starting with XML has the usual XML benefits;
there are plenty of tools to write and manipulate XML files. And driving the
whole thing from the command line makes it trivial to work into most automated
build processes. I'll be taking a more in-depth look in the Developer Central
newsletter at some point, but on first inspection I like what I see.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.