Programming - - By Paul Annesley

Moonlight – Open Source Silverlight on Mono

We have many proponents of open source, cross platform software in the SitePoint community, and I think Microsoft have left some of us scratching our heads over where to stand after unveiling Silverlight and the Dynamic Language Runtime (DLR).

Microsoft’s DLR is a layer on top of their Common Language Runtime (CLR), which provides support for dynamically typed languages such as Python, Ruby and JavaScript. The great news is that the DLR is released under Microsoft’s Permissive License – their way of saying open source. Microsoft’s .NET/DLR implementations of Python and Ruby, named IronPython and IronRuby respectively, are both covered by the same Permissive License as DLR.

Microsoft describes Silverlight as “a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications.” That all sounds great – cross platform, cross browser – but unfortunately it’s missing the magic words “open source”.

Even so, it’s hard not to be a bit excited about the prospect of a ubiquitous platform/plugin which brings together dynamic languages like Ruby, Python and JavaScript to the client side of the web. And with some of the vital components already open source, it should make it easier for somebody else to take it the rest of the way…

Enter Mono

Mono is an open source project which has been around for quite some time now, which provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. It is a commonly used solution for running .NET web applications on Unix servers.

It seems that Mono have some well laid out plans, and already some work in progress, for a Mono-based implementation of Silverlight, developed under a project temporarily named “Moonlight”. With Mono’s existing solid support for .NET, combined with the open source DLR code from Microsoft, this sounds like a project to keep an eye on.