While I was cleaning out some of the the latest weekly releases of the WiX toolset, I browsed around for the recent stuff talking about WiX. In my search, I came across this blog entry titled "What is open source anyway?" by Stuart Yeates. Go read it completely cause I'm going to chop it up here.
First, Stuart presents a "Utopian view of open source" with the following disturbing quote:
The source code is readily accessible to all, enabling open standards and undermining entrenched monopolies.
What do "open standards" and "entrenched monopolies" have to do with open source? The Open Source Definition talks about free redistribution, source code, derivatives, and several other legalese items that try to prevent licenses from negating the first three things. IMHO, "open standards" are independent from open source. You can certainly implement a standard using open source and there are people that argue the merit of doing so but you don't have to do open source to have a standard. Similarly, there is nothing that says open source projects must battle "entrenched monopolies." Products built from open source can certainly go out and compete with all the other products in the marketplace but in the end may the best product with the best business plan win the most customers.
Stuart's "Utopian view" of open source is extremely black and white and, IMHO, too simplistic to be useful. If you want to read people that are really interesting in this space then check out Jason Matusow and Stephen Walli (sorry, Stephe, Jason's name comes first alphabetically <wink/>) and the many others they link to.
Now, I probably would have skipped the whole thing if Stuart hadn't specifically called out the WiX toolset. I already disagree with the "Utopian view of open source" but Stuart made a number of incorrect statements about the WiX toolset. First, I'll copy his comment here then I'll enumerate the things he got wrong about our community:
WIX is not a good fit with our Utopian view of open source, because it is not built by a community, but by employees of Microsoft Corporation on company time, it does not enable open standards but is tied to Microsoft Windows operating systems on a small handful of hardware platforms, and far from undermining Microsoft's entrenched monopoly on operating systems, appears to be specifically designed to defend Microsoft Windows from open source rival Linux.
(I just realized that whole paragraph is one sentence so breaking it down is going to be a bit tricky).
1. The WiX toolset is very much built by a community. Granted the most active developers work for Microsoft but that over looks three very important facts. First, development is only part of what makes an open source project go. You need people to find and file bugs. You need people to make suggestions and validate new ideas. You need people to answer questions. You need people to talk about the project and welcome new people to the project. We have a great set of people participating in our community and we are still growing.
Second, Stuart missed the fact that we have a very large code contribution to the WiX toolset by Fredrik in the COM+ and MSMQ CustomActions and Gabor manages the very large and incredibly important WiX tutorial. Personally, I am upset that those contributions were so undervalued in Stuart's comment.
Finally, the failure to get a large number of non-Microsoft contributors to the WiX toolset is all mine. I have not done an excellent job in making the code approachable to new developers and attracting new developers to write code in the core toolset. IMHO, the WiX toolset project isn't any less open source than any other project simply because I haven't found a bunch of volunteers that don't happen to work for Microsoft.
2. That brings me to my second point. The WiX toolset is a volunteer project for myself and any other Microsoft employee that works on the code. Any time I spend on the project during business hours is time that I will have to make up on my "day job" later. That's why you see so much work getting done from 6:30 PM - 3:30 AM Thursday nights. The group of us in Redmond get together and bang out a bunch of code late at night. I am not and never have been paid to work on the WiX toolset for Microsoft.
3. Next I don't see why the fact that the WiX toolset builds the closest thing Windows has to a standard installation package would disqualify the project from being considered open source. AFAIK, RPM packages only install on Linux distributions (and I don't really know how to classify the Debian packages and Gentoo emerge stuff). DMG files only install on MacOS. Does the WiX toolset have to build both of those package types to qualify as an open source project? I sure as heck hope not because I don't really care about writing code for those platforms right now. I struggle enough with just getting everything working on Windows.
Personally, I find Stuart Yeates's blog entry offensive because it suggests that the WiX community is somehow less of an Open Source project because it was released by a Microsoft employee and that we must somehow be a shill for the company.
Stuart, before suggesting that some active software project released under an OSI approved license is any less open source than other projects, please think about the thousands of people that are part of the community and the hundreds of volunteers that that participate in the project. Remember, it is less about the source code and all about the people.