It's official: Microsoft will not accept any external code contributions to its planned Dynamic Language Runtime (DLR), which will run Microsoft's new scripting languages for the web and Silverlight content on .NET
Microsoft will, though, continue to accept source-code contributions to its slowly emerging implementation of Ruby for .NET, IronRuby. Contributions are helping to build IronRuby and shepherd the language towards the first-full release.
The Register has learned, meanwhile, that Microsoft will start accepting external contributions to its other great scripting language project, putting Python on .NET - IronPython - in the "near future". The promise by Microsoft IronRuby lead John Lam comes nearly a year after the topic was first raised.
The reason Microsoft decided to leave the DLR closed, despite taking contributions to the languages that will run inside it, is to protect itself from unwanted licenses and IP claims.
The DLR will enable dynamic-language applications and media designed for the web or Silverlight to be built and delivered in IronRuby and IronPython inside Microsoft's .NET Framework. The DLR will provide a shared a sandboxed security model and browser integration. This will allow developers to use these languages inside the same programming environment and runtime as Microsoft other languages.
Early versions of the DLR, announced in May 2007, have been available under Microsoft's Public License (MS-PL), which the company says is "BSD-like".
While the DLR has not exactly been open so far, the official policy emerged following an internal debate over what code Microsoft can accept.
Last week, Jimmy Schementi, DLR program manager, told a TechEd session on Microsoft and open source: "The languages were very confused about should we accept contributions or not... now we have that line defined, everything else is fair game."
He added: "In the future if there's part of the DLR we want to make open source that will probably allow contributions."
Microsoft is keeping the DLR closed because it will go into the next version of the .NET Framework, expected around the same time as Visual Studio 10. Microsoft had committed to release DLR 1.0 by the end of 2008.
Closing off the DLR will potentially prevent unwanted and unaccounted IP from creeping into the code. This could have posed two distinct problems for Microsoft.
The company could have left itself, and customers, open to IP claims from disgruntled code authors.
Also, Microsoft does not want code that's distributed under copyleft licenses, such as GPL, creeping in. This could compromise its ability to redistribute - and thereby monetize - Windows-based products that ship with any tainted DLR code. A copyleft license would compel Microsoft to ship the product source code and contribute changes back to the community. This is not a typical business model for Microsoft.
As it currently stands, IronRuby does not ship in the box with Visual Studio. Instead, users must download the language once they have Visual Studio and require it. "The experience for end users is that IronRuby will be a trivial / transparent download when they use a feature that will optionally require IronRuby," Lam said in an email.®