WiX

Open Source WiX toolset turns 5.

Five years ago today, the WiX toolset was released to SourceForge as the first Open Source project from Microsoft. Roughly five years before that, I wrote the first lines of the WiX toolset were written. That means for almost a decade, I've been leading the effort to create a set of tools that integrate seamlessly into development environments to create Windows Installer packages from a text based source format. Even though I have been spending a lot of time thinking about the next steps for the WiX toolset, I want spend today looking back.

Ten years provides a lot time to reflect over. There is no shortage of fond memories to consider. Lately I’ve found myself thinking about the distinct “virtual teams” that have developed the WiX toolset over the years. Thinking back it feels like we are now in our fourth phase.

Phase 1 - Team of One and a Half

I’ve told this story many times, the WiX toolset started as a collaboration between John Delo and I in August of 1999. Independently, we were applying this new XML thing, which we didn’t understand, to Windows Installer, which we both understood quite well. Over a couple weekends, we slammed out a block of VBScript that could convert XML into a MSI database and back again.

John lost interest after the initial prototype, so I continued on alone. I named the project the WiX toolset and focused on building Merge Modules since no one was creating them properly in 2000. That won me internal customers who fed me bug reports. The WiX v1 toolset quality improved until 2003 when it was clear that VBScript wasn’t going to scale. I had to learn C# anyway and WiX v2 was born.

Phase 2 - The First WiX Virtual Team

Somewhere in the transition to WiX v2, Derek Cicerone, Robert Flaming, Reid Gustin and Scott “K” Kurtzeborn became involved. Robert and I had been collaborating on setup work since I joined Microsoft full time (he’s an old timer). K was a new hire that I mentored and ramped him up on the early WiX CustomActions. Reid was an intern I hijacked from another developer on our team to work on some of my projects. When he came back full time, he joined us on WiX. Derek was hired after K while Reid was an intern and joined WiX to integrate it into Office. Not long after releasing WiX v2 to SourceForge, Justin Rockwood joined in to create Votive.

The bulk of what you know as WiX v2 and even WiX v3 was built by this crew. Much of the culture that makes up the WiX toolset was defined by my interactions with these five individuals. But all good things come to an end.

Phase 3 - The First Transition Team

There were a number of faces that came and went after the WiX toolset became popular in Microsoft (both as Open Source and being widely adopted at the end of 2003). At one point there were 10 people regularly working on the WiX toolset. That was crazy.

Out of the craziness, two new faces joined that helped shape the WiX toolset you know today. First, Bob Arnson joined and went to work on everything from documentation to code to communicating with the community. Second, Peter Marcu joined to ease the integration of WiX into Visual Studio and ended up picking up where Derek left off. At the time, Bob and Peter had no way to know how important they would become to me and the WiX toolset over the next couple years.

Around the middle of 2006, Derek decided to leave Microsoft. Robert, K and Justin’s personal life all got busy in different ways and Reid started looking for new challenges. The core set of developers that had been there since before the WiX toolset was popular were all walking away. Bob and Peter were guys that provided some much needed continuity through all of the change.

Phase 4 - The Visual Studio Influence

In the middle of 2007, Visual Studio was working towards shipping the WiX toolset and we saw an influx of new people again. Jordan Fitzgibbon is quietly building tests and test infrastructure. Heath Stewart picked up pretty much all of the patching code then bits and pieces from there. Jason Ginchereau joined to work on Votive and ultimately DTF. Also, Mike Carlson has done a fantastic job picking up the CustomAction code. Finally, Fredrik Grohn just joined Visual Studio after contributing the MSMQ and COM+ CustomAction code from the other side of the Atlantic.

Of course, there other names like Aaron Stebner, Mike Holcomb and Joe Abbott who have contributed on various portions of the WiX toolset for the last few years.

Phase 5 - Next?

Now Bob is moving to Boston and Peter’s personal life is filling up so we may be heading toward another phase of the WiX Virtual Team. After surviving the first transition, I’m confident we’ll be able to handle any changes that may come this way. The only challenge we haven’t had to weather is a complete change in leadership. And since I have no desire to retire from the WiX toolset, I don’t think we’ll be testing the latter any time soon. <smile/>

There are a lot of names above and I’m sure there are a few I left out. Suffice it to say that the last decade has been a fantastic journey because of these people I’ve worked with and the last 5 years have been an absolute blast because of the interaction with (almost) everyone in the greater WiX community.

Let me close this anniversary by saying that I’m very excited about the upcoming year. WiX v3 RTM is coming and everyone above is coming back for the party. And then we tackle what’s next.