SYS-CON MEDIA Authors: Chris Pollach, Kevin Remde, Peter Silva

Related Topics: Open Source, XML

Open Source: Article

Oh My Sainted Aunt! Microsoft Open Sources Code - No, Really

Oh My Sainted Aunt! Microsoft Open Sources Code - No, Really

To absolutely no fanfare, Microsoft - well, five developers at Microsoft at any rate - quietly took their internally developed Windows Installer XML (WiX), the toolkit that builds Windows installation packages from XML, and on Monday plunked the tools and the source code on SourceForge, the open source development site, under IBM's OSS-approved Common Public License (CPL) - an utter first for Microsoft.

Production-quality MSI and MSM files can be produced with the stuff and internally teams such as Office, SQL Server, BizTalk, Virtual PC, Instant Messenger and several of the msn.com properties use it to build their MSI and MSM files.

That's most of the large Microsoft groups except Visual Studio, which is reportedly evaluating it.

Despite the fact that the code might be seminal, it's not part of the job description of the guys who work on it. It's been done in their spare time, which kinda makes it a natural for open source, and the Microsoft guys are conscious of the fact that WiX (say wicks) is very developer-oriented and that open sourcing it will increase the pool of available Windows developers.

WiX's father, Rob Mensching, also confesses to be smitten with parts of the open source development process.

Initially, he says, he thought GotDotNet was the place to go, but none of Microsoft's Shared Source licenses were flexible enough to accept contributions from the open source community. Then, in February, he met Stephen Walli, Microsoft's business development manager for its Platforms unit, whose job is improve Microsoft's relations with the open source community.

Mensching says Walli "had the step-by-step plan how to release an open source project from Microsoft using an approved OSS license."

Now, isn't that provocative.

Mensching also said provocatively, "I'm not exactly sure what is going to happen next but I'm sure there are quite a few people who are interested to see where this leads."

WiX's appearance on SourceForge was generally greeted with enthusiasm. There was of course the odd skeptic dubious of Microsoft's real motives, an accusation that all of the source code wasn't there (an accident due to Rob's fatigue) and the claim that Microsoft had copied it from the Nant project (the Microsoft people said they never heard of Nant because they don't look at open source projects for fear of tainting their own code.)

Mensching says the four-and-half-year-old WiX code is pretty close to beta 2 quality, meaning it's got bugs and the documentation stinks. Mensching says in his blog that part of his motivation for open sourcing the code was to inspire him to update the documentation.

WiX is a toolset composed of a compiler, a linker, a lib tool and a decompiler. Open sourced, external developers will be able to use the same toolkit as Microsoft to create installation packages for Office, SQL Server and the rest. A quarter of the projects on SourceForge, believe it or not, are for Windows so it should be used.

The compiler, called candle, is used to compile XML source code into object files that contain symbols and references to symbols.

The linker, called light, is fed one or more object files and links the references in the object files to the appropriate symbols in other object files. Light is also responsible for collecting all of the binaries, packaging them appropriately, and generating the final MSI or MSM file.

The lib tool, called lit, is an optional tool that can be used to combine multiple object files into libraries that can be consumed by light.

Finally, the decompiler, called dark, can take existing MSI and MSM files and generate XML source code that represents the package.

The widgetry supports a command-line environment.

More Stories By Maureen O'Gara

Maureen O'Gara the most read technology reporter for the past 20 years, is the Cloud Computing and Virtualization News Desk editor of SYS-CON Media. She is the publisher of famous "Billygrams" and the editor-in-chief of "Client/Server News" for more than a decade. One of the most respected technology reporters in the business, Maureen can be reached by email at maureen(at)sys-con.com or paperboy(at)g2news.com, and by phone at 516 759-7025. Twitter: @MaureenOGara

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.