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.
TheRegister