The Mono project has released Moonlight 2, the open source implementation of Microsoft’s Silverlight. Moonlight allows Silverlight content to run on platforms that do not have an official Silverlight client, such as Linux and PowerPC Macs. Microsoft also expanded its patent agreement with Novell to cover all users of Moonlight, no matter the Linux version.
Moonlight 2 isn’t just on par with Silverlight 2 – it also implements several aspects of Silverlight 3, such as Silverlight 3 pluggable pipeline, easing animation functions, partial out-of-browser support, writable bitmaps, and some of the new databinding features of XAML in Silverlight 3. The goal is to make sure that several important Silverlight 3 applications, such as Sunday Night Football and the coming Winter Olympics, work in Moonlight.
“Moonlight 2 is the result of love and passion to bring the Silverlight runtime to Linux,” Miguel De Icaza writes on his blog, “Moonlight 2 engine consists of 142000 lines of C/C++ code and 320000 lines of C# code (125000 lines of code came from Microsoft’s open source Silverlight Controls). Moonlight is built on top of Mono 2.6 runtime, Cairo and Gtk+ and today supports Firefox on Linux. We are hard at work to support Google Chrome on Linux as well.”
A new patent agreement has been put in place as well. The old agreement covered Moonlight, but only if it was obtained through Novell. The new agreement extends this to all other possible ways to get Moonlight, meaning every Linux distributor can ship it without the fear of getting sued by Microsoft over patents. The Mono project worked together with Microsoft to make this happen.
“A really important change in how the community and individuals will see and use Moonlight is a change and extension to the patent covenant that Microsoft provides to Novell and its end users,” Brian Goldfarb, director of Web and user experience platforms at Microsoft, told InternetNews, “We’re now increasing the reach of the agreement – Microsoft’s commitment not to sue Novell or Novell customers now extends to redistributors.”
One problem remains, and as you can guess, it’s the codec issue. Microsoft may have paid for licenses for various codecs and may have made sure that Novell could use them too, but this of course doesn’t extend towards other distributors. To solve this, distributors can negotiate directly with the owners of the codecs (MPEG-LA, Fraunhofer, etc.), they can obtain access to Microsoft’s Media Pack, or use Gstreamer or other commercial codec licenses.
“We are deeply committed to the success of Moonlight and having a highly compatible implementation of Silverlight for Linux,” Goldfarb explained to InternetNews, “That commitment spans more than just words: we provide Novell with tests, specifications and engineering consulting, and we’re really ramping that up even more to help accelerate the timelines for future versions of Moonlight.”
Indeed, support for Silverlight 3 and 4 will also be built into Moonlight, together with Microsoft. Whether I like Silverlight or not (I don’t – but it is miles ahead of Flash when it comes to resource usage), it’s a good thing that Linux users have access to a fully open source and re-distributable implementation of it.
You can get Moonlight 2 from its download page.