The CLR has always been a great environment for dynamic languages and over the last several years we have built out additional dynamic language support for the .NET Framework through efforts like the Dynamic Language Runtime (DLR) and language implementations on top of the DLR. The DLR shipped earlier this year as a built-in component of .NET Framework 4, and we now have several great language implementations built on top of it.
IronPython and IronRuby are two dynamic language implementations that we have incubated internally the last few years. We have 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).
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.
As part of these changes I’m happy to announce 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.
Overall, I hope the effect of the changes is to dramatically increase the opportunity for community members to contribute their own code to IronPython and IronRuby, and to actively participate in these projects.
The IronPython and IronRuby projects began as an effort to improve support for dynamic languages in the .NET Framework and to diversify our portfolio of programming languages. These language projects have helped thousands of people since they began, and they have added value to the .NET Framework. They helped create the Dynamic Language Runtime in the .NET Framework 4, on which we have also built C#’s new ‘dynamic’ keyword and improved Visual Basic’s late-binding support. We’ll continue to invest in making the .NET Framework a great runtime environment for dynamic languages going forward.
Working with the community has always been an essential part of developing IronPython and IronRuby, and the feedback and the community review of the source code and specifications has been invaluable. We are looking forward to this new level of involvement from the IronPython and IronRuby communities, and think it will help advance the languages even further.