| This article or section contains information about computer software currently in development. The content may change as the software development progresses. |
| Developed by | Novell |
|---|---|
| Latest release | 1.0 beta 1 [1] |
| Written in | C, C++, C# |
| OS | Linux |
| Type | Web Application framework |
| License | LGPL 2 only or commercial |
| Website | Official website |
Moonlight is an upcoming free and open-source implementation of the Microsoft Silverlight runtime. It is currently being developed by the Mono Project.[2] Silverlight 1.0 was released on September 5, 2007.
Contents |
In an interview in the beginning of June 2007, Miguel de Icaza said that the Mono team expected to offer a feasibility "alpha" demo in mid-June 2007, with support for Firefox on GNU/Linux by the end of the year.[3]
After a 21 day hacking spree by the Mono team, a public demo was shown at Microsoft ReMIX conference in Paris, France on June 21, 2007.[4][5][6][7]
However, in September 2007, developers still needed to install and compile a lot of Mono and Olive (the experimental Mono subproject for .NET 3.0 support) modules from the Mono SVN repository to be able to test Moonlight.[8] A Moonlight IDE, named Lunar Eclipse, exists in SVN for XAML designs. It is expected to be included or ported into MonoDevelop as an add-on in the future.[9]
Moonlight is currently provided as a Mozilla plugin[10] but as an early version this does not include the media codec pack yet. No date for a release of the completed plugin including the media pack has been given on the Moonlight website.
Moonlight currently tracks the Silverlight 1.0 .NET implementation. A first Beta version supporting Silverlight 1.0 was released november 2008. Support for Silverlight 2.0 is still a work in progress, an alpha version being planned for March 2009.[11]
Moonlight uses Cairo for rendering.[12]
Moonlight is also usable outside of the browser as a Gtk+ widget. A number of Desklets were written using this new technology during the Novell Hack-week.[13]
Since shortly after the first demo at MIX 07 in Paris, Microsoft began cooperating with Novell to help the building of Moonlight.[14] Support includes exclusive access given to Novell for the following Silverlight artifacts:[15]
Microsoft released a restrictive public covenant not to sue anyone for infringing patent claims that makes use of Moonlight implementations obtained by Novell or subsidiaries, which covers only the use of Moonlight as a plugin in a browser, when those implementations are not GPL3 licensed, and only if Moonlight has been obtained though Novell.[16]
Although Moonlight is free software, the final version will use binary-only audio and video codecs provided by Microsoft which will be licensed for use with Moonlight only when used as a browser plugin (see above). Current development versions, however, use the FFmpeg library and there is discussion about adding GStreamer support as an alternative to using Microsoft's binary codecs for those who wish to use GStreamer instead and also for use when used outside of a browser.
Mono architect Miguel de Icaza blogged that the Mono team prototyped Moonlight multimedia support using the LGPL-licensed FFmpeg engine but that they were unable to redistribute packaged versions that used that library due to FFmpeg codec licensing issues inside of the United States.[15][17]
Although distributed under free and open source licenses, Moonlight was feared to be unsafe for downstream recipients to redistribute.[18] This is a potential legal problem for Linux distributions wishing to distribute Moonlight. (For example, see the discussion on debian-devel.) Microsoft makes it pretty clear that anyone who distributes Moonlight is not protected by their Covenant to Downstream Recipients of Moonlight. (See their definition of "Downstream Recipient".)
At the PDC conference on October 13, 2008, Microsoft placed Silverlight under the OSP [19] which states "The Silverlight XAML vocabulary specification, released under the Microsoft Open Specification Promise, will better enable third-party ISVs to create products that can read and write XAML for Silverlight." Since Moonlight is essentially a XAML reader, this news suggests that Moonlight should be safe to redistribute (sans Microsoft's binary codecs).