Skip navigation

Reports of IronRuby's Death Are Premature

Microsoft is reallocating resources away from IronRuby--at least for the short term

Recently there has been a bit of an uproar about Microsoft's dwindling commitment to some of its dynamic languages, particularly IronRuby. Many blog entries and news reports are lamenting the demise of Microsoft's commitment to these languages and to open source projects, and that Microsoft is killing off IronRuby and IronPython. Although Microsoft is indeed slackening its support and funding for IronRuby and other projects, the reality is not quite so dire. It's not good, but it's not the end of the line.

Whither IronRuby?
The brouhaha began with this blog post from Jimmy Schementi, announcing his departure from Microsoft and the IronRuby team, going so far as to move back to New York from Washington to be close to his roots and family while taking a job in the financial industry. The cause of his untimely departure from Microsoft, after doing so much to make IronRuby a reality and so close to being a first-class language in Visual Studio, was that "the team shrunk by half and our agility was severely limited. I'm omitting the internal reasons for this, as they are the typical big-company middle-management issues every software developer has. In short, the team is now very limited to do anything new…. Overall, I see a serious lack of commitment to IronRuby, and dynamic language on .NET in general."

At the time of Schementi's departure, the IronRuby team was down to just two people: Schementi and Tomáš Matoušek. Matoušek will now be just part time. Schementi will remain on as a member of the IronRuby core team, "ironically making me the first non-Microsoft core contributor." Bloggers and pundits are calling this the "unfunding" of IronRuby, as Microsoft seems to be ending its commitment to the language and its integration with Visual Studio. Bad news indeed for the admittedly small but dedicated set of IronRuby users.

One of the more interesting analyses of the situation is in this blog post by Simone Chiaretta, a Microsoft MVP and ASP Insider. In it he raises the issue that Microsoft has recently introduced products to help non-professional developers (hobbyists, people learning code, etc.), such as WebMatrix and LightSwitch. Together with the unfunding of IronRuby, does this suggest that Microsoft is "back in the business of building tools to help people that have no/little background build applications 'quick and dirty'"? Chiaretta goes on to muse about open source software, and how this move by Microsoft could reinforce a perception that OSS is untrustworthy because there is no profit motive behind it to keep the project alive.



Changing Priorities
Fortunately, the situation is not quite as bad as it might seem. In discussions with Scott Guthrie of the ASP.NET team and Lisa Feigenbaum of the Languages team at Microsoft, the "unfunding" move seems to be more of a short-term priority change and resource reallocation rather than a dramatic move away from dynamic languages or support of open source. It boils down to the economy and the teams at Microsoft having to work in a zero-sum resource world in which adding resources to one project means taking them away from another project. This seems a bit strange to me because Microsoft is still wildly profitable, but I suppose they need to be conservative in the face of what may still be a declining economy. For this product cycle, the Languages team chose other priorities that get resources. This doesn't preclude adding resources back to IronRuby and other dynamic languages during the next product cycle.

Scott Guthrie says that Microsoft is as dedicated to dynamic languages as ever, and points to their investment in JavaScript for Internet Explorer 9. And he points to some of the other open source projects they are funding and supporting, including ASP.NET MVC, MEF, and Orchard. He isn't shy about saying that projects they support have to make them money directly, indirectly through increasing sales of Microsoft platforms, or be a strategic win for them. I get the sense that IronRuby qualifies under at least one of those criteria; it really is just a lower priority in the current cycle, so it is getting fewer resources. It probably doesn't help that the number of IronRuby users is pretty small, particularly compared to C# and VB. I can't help but think that those powerhouse languages get a pretty healthy share of the resource pie in each release.

But during this period when IronRuby is a lower priority, it was probably a good move for Schementi to leave, since IronRuby was his whole reason for being at Microsoft. The implied answer to his boss's question about what other projects Schementi would be interested in working on was simple: nothing else. It bodes well that both he and Matoušek will continue working on IronRuby, even though at reduced levels.

So it seems that while IronRuby development may languish for a while, it is not a dead project. Which is very good news for Microsoft platforms, ASP.NET, and developers who want to work on Windows. Just don't look for IronRuby to closely integrate into Visual Studio anytime soon.

Other blog posts I found interesting about Microsoft's move (doing a Google search on IronRuby, filtering the results on the past month, yields more):

What's next for Microsoft's IronRuby? by Mary-Jo Foley
It's not you, it's me: Microsoft kills IronRuby, by Josh Fruhlinger, An example of the "Microsoft Kills IronRuby" articles
On IronRuby, by Jb Evain, who muses about options for IronRuby's future, including a fork

Don Kiely ([email protected]), MVP, MCSD, is a senior technology consultant, building custom applications and providing business and technology consulting services. His development work involves SQL Server, Visual Basic, C#, ASP.NET, and Microsoft Office.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish