Microsoft’s open source IronRuby and IronPython projects are shrouded in a dubious future as the last of the full-time IronRuby developers departed the company last month.
Microsoft’s main focus is .Net, but it had built up a development team to work on Ruby and Python for .Net, a compiler services and language embedding API called the Dynamic Language Runtime, and integration with .Net application frameworks like Silverlight and ASP.Net.
More recently, work was done to bring IDE support for dynamic languages in Visual Studio.
The projects are available under the Apache (version 2) open source licence and when first announced were well received by the open source community.
Developer Jimmy Schementi announced he had resigned from Microsoft on July 23, 2010 in a blog post on Friday (August 6) and will now look at ways to contribute to the open source projects in his own time.
“I joined Microsoft to bring Ruby and other open source programming languages to the .Net framework, as well as to promote open source practices in general, and I promised myself to ensure the truth of that statement throughout my Microsoft career,” Schementi wrote.
“So, when my manager asked me, ‘what else would you want to work on other than Ruby,’ I started looking for a new job outside Microsoft.”
Schementi admitted Microsoft’s commitment to dynamic languages on .Net “has been questioned many times” and he believes the open source projects were only possible because the team had the freedom to do what it needed to counter such “fears”.
“A year ago the team shrunk by half and our agility was severely limited,” he said, adding the reasons for this are “typical big company middle management issues”.
“The team is now very limited to do anything new, which is why the Visual Studio support for IronPython took so long. IronRuby’s IDE support in Visual Studio hasn’t been released yet for the same reasons. While this is just one example, many other roadblocks have cropped up that made my job not enjoyable anymore.”
This isn’t the first time a Ruby-based project has experienced difficulty inside a large software company. Last year Sun’s JRuby team moved to hosting company Engine Yard.
Schementi sees a “serious lack of commitment” to IronRuby and dynamic language on .Net in general at Microsoft and at the time of his departure there was only one other employee working on IronRuby.
The other developer, Tomas Matousek, will also be only working on IronRuby part-time from now on as well.
“Given that Tomas and I will only be working part-time on IronRuby now, I invite the Ruby and .Net communities to come help us figure out how to continue the IronRuby project, assuming that Microsoft will eventually stop funding it,” Schementi said.
Both the IronRuby and IronPython mailing lists are getting hit with questions as to the longevity of both projects, particularly from people looking to deploy the software for business use.
In the case of IronPython, Microsoft has demonstrated recent commitment to the project by sponsoring the first PyCon held in Australia back in June.
One concern for the developers is the source code hosting infrastructure is managed by Microsoft and some have suggested moving the code to a third-party repository effectively “forking” the projects.
Mono developer at Novell Jean-Baptiste Evain wrote a response to Schementi’s resignation notice on his own blog saying a fork is “indeed a possibility”, but IronRuby’s code is “far from being a simple”.
“Who will be able to take over the development of IronRuby?” Evian wrote.
“I for one am interested in helping, but I have already a lot on my plate. With Microsoft excluding the community from the core development process from day one, there’s no real knowledge of the insides of IronRuby outside of Microsoft, yet.”
Evian finds the situation “extremely disappointing” and thinks Microsoft is making a strategic mistake.
“The Iron projects were somehow the fun and hip face of .Net development (outside of Mono, of course),” he said. “They had a true potential to attract developers that would traditionally stay away from Microsoft and .Net.”
Evian recommends developers petition Microsoft to accept there is a demand for IronRuby, but also to accept external contributions as it would move the projects forward faster.