With Martin sends a little shot across MS’s bow Jeremy Miller started a forum for discussion about Martin Fowler’s RubyMicrosoft piece. I started writing this as a comment there, and decided to post it to my blog instead.
It’s easy to agree with Martin Fowler, and I’ll take the easy route on this one. Microsoft’s relationship with open source is getting more and more embarassing and splintered as time goes on. On the one hand, they’re spreading FUD about their patents being infringed by OSS. On the other hand, they’re hiring Jim H & John L and pointing to their MS Permissive License.
The MS implementation of open source mostly misses or botches the community aspect. The MS OSS Way is source that is literally public, and a legitimate license in the MsPL, but no visible willingness to extend authorship beyond MS by inviting and accepting patches or adding committers. It is this community aspect which is the biggest factor in goodwill and OSS.
In the case of IronRuby, the obvious move by the various groups trying to implement Ruby (for which there is no spec) is to collaborate on specs and test suites. It would make sense for the teams behind Rubinius, JRuby & IronRuby to trade and build on each others’ suites, and indeed I hear that is happening with Rubinius, but not so with IronRuby.
Microsoft consistently moves to take the air away from its competitors, and it views successful OSS as competition. If you ask me why my team at Oxygen uses MbUnit instead of MS Test, Castle instead of ObjectBuilder, NAnt instead of MSBuild, and Subversion and CruiseControl instead of Team System, there are a few reasons. The first set of reasons are the standard OSS arguments: control, community, fitness to purpose, and price. The second set of reasons boil down to me being pissed off that Microsoft is trying to suffocate these projects instead of supporting them.
I’m hopeful and optimistic for IronRuby. It would certainly make our work at Oxygen more enjoyable. Furthermore, the vision of multiple languages interoperating with each other, running on a common VM carries enormous benefits. But Martin Fowler is right when he cites the dangers Microsoft faces in continuing to alienate the communities of developers who are not drinking the MS Kool Aid and are aware of the heterogeneous technology world we live and work in.