Microsoft Hands IronPython, IronRuby to Open Source Community

Microsoft has turned over the leadership of its IronPython and IronRuby dynamic language projects to the open source community. Jim Hugunin, who led IronPython, leaves for Google.

Microsoft has decided to spin out its dynamic language implementations, IronRuby and IronPython, and put them into the hands of the open source community at large.

In an Oct. 21 blog post, Jason Zander, corporate vice president for the Visual Studio team in the Developer Division at Microsoft, said, Microsoft has " released several versions of both language environments (IronPython releases and IronRuby releases), and all of the source code has been released under open source licenses (recently moved to Apache License V2.0)."

However, added Zander:

"Today we are announcing new leadership for the Iron projects and a development model that will enable the broader community to contribute to their development:The community can now make source contributions to any component of IronPython and IronRuby.For both IronPython and IronRuby, we've made changes to the CodePlex projects to allow community members to make contributions without Microsoft's involvement or sponsorship by a Microsoft employee.We've already released the IronPython Tools for Visual Studio that we developed under Apache 2.0. We've received great early feedback on the IronPython language service for Visual Studio. Today we are releasing the prototype code for IronRuby Tools for Visual Studio, and we expect similar feedback for IronRuby tools as well. Releasing these components under the Apache 2.0 license allows for community members to use the functionality and also contribute to the IronPython and IronRuby language services.We have done a lot of ground work for the next version of IronPython v2.7 and IronRuby v1.9.We have fixed a lot of infrastructure so that the community should be able to regression test all language updates using our tests.We have enabled a full release work flow to produce builds and releases straight from the CodePlex projects. Previously, these could only easily be done from our own source depots."

Moreover, as part of these changes, Zander announced new project leaders external to Microsoft who will take over the projects and provide leadership going forward. The IronPython project will have Miguel de Icaza, Michael Foord, Jeff Hardy, and Jimmy Schementi as Coordinators. Miguel de Icaza and Jimmy Schementi will be the Coordinators of IronRuby. All of these guys have worked with or on the Iron projects since their inception and I have nothing but trust and respect for the new stewards of these community projects.

Unfortunately, Microsoft move to transition the Iron projects to the community has led to a defection from the Microsoft ranks of one of the leaders of the Iron projects. Jim Hugunin, who came to Microsoft six years ago to champion the transition of his IronPython project to Microsoft, is leaving the company to join Google.

In a comment to Zander's post, Hugunin says the move to leave Microsoft comes "semi-coincidentally." And in his personal post on the subject, Hugunin said:

""Microsoft's decision to abandon its investment in IronPython was a catalyst but not the cause of my leaving the company. While most of you know that I haven't been directly involved in IronPython for quite some time, the decision still provided a spur to cause me to reflect on my time at the company and realize that it was time to explore other career options. There would be something emotionally satisfying about leaving Microsoft in a fit of rage - preferably involving the illegal deployment of an emergency escape slide. However, I leave feeling respect for the many great people and products produced here. I will suffer some pain when I have to write code in Java now that I've learned to love the elegance of C#. I will suffer some frustrations when I have to use Google Docs instead of the finely polished UI in Microsoft Office. More than anything, I will always value the chance that I had to work with and learn valuable lessons from some truly great people.""

Hugunin's move indicates another key Microsoft engineer going to Google, including Brad Abrams and Chris Wilson. And Hugunin says he relishes being able to work on open source efforts in small teams. He contrasts what he expects to do at Google versus his efforts at Microsoft.

Hugunin said:

""As I leave Microsoft, I'm incredibly excited to be going to work for Google. I like to build projects with small talented teams working on quick cycles driven by iterative feedback from users. I like to have a healthy relationship with Open Source code and communities, and I believe that the future lies in the cloud and the web. These things are all possible to do at Microsoft and IronPython is a testament to that. However, making that happen at Microsoft always felt like trying to fit a square peg into a round hole - which can be done but only at major cost to both the peg and the hole. I'm excited to be going somewhere that fits my natural instincts for how to build great software and has demonstrated how successful this approach can be. I'm even pretty sure that I'll grow to love Google Docs as it continues to rapidly improve through great engineering combined with continuous iterative feedback.""

Meanwhile, Hugunin said he is ready to throw his programming lot in with Java, despite now feeling that Microsoft's C# has grown into a better language.

"Given my new employer, I will be throwing my lot in with the Java side of the virtual machine world," Hugunin said. "I think that C# has truly evolved into a nicer language than Java and that .NET has some cool features that the JVM is missing. However, I also see great things in the Java world both technically with features like the adaptive compilation in HotSpot and more significantly in terms of the vibrant community it has managed to create that adds huge value to the platform. When I weigh them both in the balance, neither side has a clear advantage. I respect Google's decision to standardize on a uniform set of primary programming languages with Python, JavaScript, Java and C++. I don't see any reason to push against that set - particularly if it means I get to consider Python a primary language!"