Moonlight (runtime)

Moonlight (runtime)
Moonlight (runtime)
Moonlight logo proposal.png
Developer(s) Novell
Initial release March 4, 2009; 2 years ago (2009-03-04)
Stable release  (April 6, 2011; 7 months ago (2011-04-06)) [+/−]
Preview release 4.0 Preview 1  (February 15, 2011; 9 months ago (2011-02-15)) [+/−]
Written in C, C++ and C#
Operating system Linux
Type Web Application framework
License GNU LGPL 2 only with proprietary codecs

Moonlight is a free and open source implementation of Microsoft's Silverlight for Linux and other Unix based operating systems, developed by the Mono Project. Like Silverlight, Moonlight is a web application framework that provides functionalities similar to those in Adobe Flash, integrating multimedia, graphics, animations and interactivity into a single runtime environment.


Status and roadmap

Release History
Date Version
2009-02-11 Moonlight 1.0[1]
2009-12-17 Moonlight 2.0[2]
2010-02-03 Moonlight 3.0 Preview 1[3]
2011-02-15 Moonlight 4 Preview 1[4]

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 Mozilla Firefox on Linux by the end of the year.[5]

After a 21-day hacking spree by the Mono team (including Chris Toshok, Larry Ewing and Jeffrey Stedfast among others), a public demo was shown at Microsoft ReMIX conference in Paris, France on June 21, 2007.[6][7][8][9]

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.[10] 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.[11] Moonlight uses Cairo for rendering.[12]

Moonlight is currently provided as a plugin for Firefox and Chrome on the latest releases of the more popular Linux distributions.[13] The plugin itself does not include a media codec pack but when the Moonlight plugin detects playable media it refers users to download a free Media codec pack from Microsoft.

Moonlight 2.0 currently tracks the Silverlight 2.0 implementation. The first completed version, Moonlight 1.0, supporting Silverlight 1.0, was released 20 January 2009. Moonlight 2.0 was released on December 17, 2009.[14] The Moonlight 2.0 release also contained some features of Silverlight 3 including a pluggable media framework which allowed Moonlight to work with pluggable open codecs, such as Theora and Dirac.[15]

Preview releases of Moonlight 4.0, targeting Silverlight 4 compatibility, were released in early 2011.[16]

In April of 2011, the Moonlight team demoed Moonlight running on Android tablets and phones at the MIX11 Web Developers conference in Las Vegas.[17]

Shortly after the April 2011 release, Attachmate, parent to developer Mono, laid off an undisclosed number of Mono employees[18] and announced a deal with startup Xamarin.[19] At that time, Xamarin CEO Nat Friedman affirmed their commitment to the Moonlight project; however, there have been no outward signs of any further development since the new partnership. Their published road map is quite out of date and previously active release schedule (including nightly builds) has completely ceased since the new partnership was formed.[20]


Silverlight supports Digital Rights Management in its multimedia stack, but Microsoft will not license their PlayReady DRM software for the Moonlight project to use and so Moonlight is unable to play encrypted content.[21]

Desktop support

Moonlight is also usable outside of the browser as a Gtk+ widget (known as Moonlight.Gtk). A number of Desklets were written using this new technology during the Novell Hack-week in 2007.[22]

MoonBase[23], an experimental set of helper classes built on top of Moonlight.Gtk that can be used to create full blown c# desktop applications using the moonlight (silverlight 4.0) widgets and xaml files. MoonBase also has a related XAML editor/previewer [24].

Microsoft support

Shortly after the first demo at MIX 07 in Paris, Microsoft began cooperating with Novell to help the building of Moonlight.[25] Support includes exclusive access given to Novell for the following Silverlight artifacts:[26]

  • Microsoft's Test suites for Silverlight,
  • Silverlight specification details, beyond those available on the web,
  • Proprietary codecs made available free-of-charge for Windows Media Video and Audio, for VC-1 and MP3, and in the future H.264 and AAC, only licensed for use with Moonlight when running in a web browser. Other potential decoders include GStreamer and FFmpeg (used during the development stage) but Novell will not provide prepackaged versions of Moonlight with those libraries, because those decoders have not been granted licensing for the use of patented codec technologies.

Microsoft has released two public covenants not to sue for the infringement of its patents when using Moonlight. The first one covered Moonlight 1 and 2, is quite restrictive and it covered only the use of Moonlight as a plugin in a browser, only implementations that are not GPLv3 licensed, and only if the Moonlight implementation has been obtained from Novell. It also notes that Microsoft may rescind these usage rights.[27]

The second covenant is an updated and broader covenant that no longer limits the covenant to users that obtain Moonlight from Novell, it covers any uses of Moonlight regardless of where it was obtained. The updated covenant covers the implementations as shipped by Novell for versions 3 and 4, it no longer distinguishes Novell from other distributions of Moonlight and expands the covenant to desktop applications created with Moonlight. The covenant does not extend to forks licensed under the GNU GPL (Moonlight itself uses the Lesser GPLv2).[28]

Codecs integration

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). The Windows media pack is not distributed together with the Moonlight plugin but the first time when media content in Silverlight is detected the user will be prompted to download the pack containing the codecs used in Silverlight directly from Microsoft.

Self built versions can still 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.[26][29]

Moonlight in other distributions

After the release of Moonlight 2, a covenant provided by Microsoft was updated to ensure that other third party distributors can distribute Moonlight without their users having to worry about getting sued over patent infringement by Microsoft.[30] This covenant can be found on the Microsoft website.

Kevin Kofler and Tom Callaway, of Fedora, have stated publicly that the new covenant "is not acceptable" for that distribution and that "it is still not permissible in Fedora".[31]

The version of Moonlight that will be available direct from Novell will have access to licensed closed source media codecs provided free of charge by Microsoft. Third-party distributions of Moonlight will only be able to play non-patent encumbered media like Vorbis, Theora and Ogg. To support other formats, the distributors will have to choose from a few licensing options:

  • Negotiate licences directly with individual media codec owners (e.g. MPEG-LA, Fraunhofer Society)
  • Negotiate access to Microsoft's Media Pack as Novell have done
  • Use GStreamer or a commercial codec license
  • Use a hardware-specific software like VDPAU[30]

At the PDC conference on October 13, 2008, Microsoft placed the 'Silverlight XAML Vocabulary' under the Microsoft Open Specification Promise,[32] stating in a press release, "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, Debian's position is that Moonlight is safe for them to redistribute (leaving each user to agree to their own licensing for Microsoft's and others' binary codecs).[33]

See also


  1. ^
  2. ^
  3. ^
  4. ^
  5. ^ Dana Gardner. "the FASTforward blog: Expect a June demo of Silverlight on Linux, sans browser". Retrieved 2007-06-06. 
  6. ^ "Implementing Silverlight in 21 Days". Miguel de Icaza. Retrieved 2007-06-22. 
  7. ^ "Implementing Silverlight in 21 Days". Jeffrey Stedfast. Retrieved 2007-06-21. 
  8. ^ "Moonlight". Chris Toshok. Retrieved 2007-06-21. 
  9. ^ "Mono Silverlight implementation emerges after epic hackathon". Ars Technica. Retrieved 2007-06-22. 
  10. ^ "Moonlight: Getting started". Mono Team. Retrieved 2007-09-02. 
  11. ^ "Moonlight". 
  12. ^ Moonlight Notes
  13. ^ "Moonlight Supported Platforms". Retrieved 2009-05-17. 
  14. ^ "Moonlight 2 is now available". The Silverlight Team blog. 2009-12-17. 
  15. ^ "First Moonlight 2.0 Preview is Out". Miguel de Icaza. Retrieved 2009-05-04. "We have developed a handful of open source codecs for Dirac, Vorbis and ADPCM that can be used with Silverlight 3/Moonlight Preview based on existing C# and Java implementations. Hopefully someone will help us fill in the blanks with more codecs (like Theora)." 
  16. ^ "Moonlight 4 Preview Now Available". The Silverlight Team Blog. 2011-02-15. 
  17. ^ "Moonlight on Android". A Moment of Zen. 2011-04-15. 
  18. ^ "Attachmate lays off Mono employees". 2011-05-03. 
  19. ^ "SUSE Joins Xamarin for Mono". 2011-08-10. 
  20. ^ "Moonlight Road Map". Mono-Project. 2011-11-08. 
  21. ^ "Discussion on official Silverlight forum". 
  22. ^ "Moonlight Desklets demo on YouTube". Mono Team. Retrieved 2007-06-25. 
  23. ^ MoonBase
  24. ^ XamlPreviewer
  25. ^ Foley, Mary Jo (2007-09-25). "Microsoft officially ‘extends support’ for Novell’s Silverlight Linux port". Retrieved 2007-10-13. 
  26. ^ a b de Icaza, Miguel (2007-09-05). "Microsoft/Novell Collaboration on Silverlight.". Retrieved 2007-10-13. 
  27. ^ "Covenant to Downstream Recipients of Moonlight - Microsoft & Novell Interoperability Collaboration". Microsoft. 2007-09-28. Retrieved 2008-03-08. "“Downstream Recipient” means an entity or individual that uses for its intended purpose a Moonlight Implementation obtained directly from Novell or through an Intermediate Recipient... Microsoft reserves the right to update (including discontinue) the foregoing covenant... “Moonlight Implementation” means only those specific portions of Moonlight 1.0 or Moonlight 1.1 that run only as a plug-in to a browser on a Personal Computer and are not licensed under GPLv3 or a Similar License." 
  28. ^ "Covenant to End Users of Moonlight 3 and 4". Microsoft. Retrieved 2010-05-11]. 
  29. ^ Ramji, Sam (2007-09-05). "The Novell-Microsoft Wheeler Dealers Speak". Retrieved 2007-10-13. "After a great deal of work between the Moonlight and .NET teams, we’re ready to formally announce that we (Microsoft and Novell) will be bringing Silverlight to Linux (Sam Ramji is Director of Microsoft’s Open Source Software Lab)" 
  30. ^ a b Miguel de Icaza (2009-12-17). "Releasing Moonlight 2, Roadmap to Moonlight 3 and 4". Retrieved 2009-12-18. 
  31. ^ Tom Callaway (December 23, 2009). "Re: New covenant published". gmane.linux.redhat.fedora.devel. Retrieved 2010-01-11. 
  32. ^ "Microsoft Releases Silverlight 2, Already Reaching One in Four Consumers Worldwide". Microsoft. 2008-10-13. Retrieved 2008-10-13. 
  33. ^ "Moonlight for Debian". Debian Wiki. Retrieved 2010-03-09 (Page marked 'this page is out of date'). "Moonlight 1.0 is essentially a XAML renderer with codec support. All plugin logic is handled by the browser's Javascript engine. XAML is covered by an irrevocable patent grant from Microsoft, as shown here." 

External links

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Moonlight (runtime) — Moonlight es la alternativa oficial y libre a Microsoft Silverlight, que funciona en plataformas GNU/Linux. Microsoft Silverlight es un complemento para navegadores web que agrega nuevas funciones a Windows Presentation Foundation como la… …   Wikipedia Español

  • Moonlight (disambiguation) — Moonlight is the light that comes to Earth from the Moon. Moonlight may also refer to: Moonlight (play), a play by Harold Pinter Moonlight (runtime), an open source implementation of the Microsoft Silverlight web application framework Moonlight… …   Wikipedia

  • Moonlight Lady — Kao no nai tsuki official logo 顔のない月 (Kao no Nai Tsuki) Genre Erotica, Romance, Supernatural …   Wikipedia

  • Kill the Moonlight (film) — Infobox Film | name = Kill the Moonlight caption = Kill The Moonlight DVD cover director = Steve Hanft producer = Steve Hanft writer = Steve Hanft starring =Thomas Hendrix Ross Harris cinematography = Steve Hanft editing = Steve Hanft distributor …   Wikipedia

  • Ill Met by Moonlight — Infobox Film name = Ill Met by Moonlight (Night Ambush) image size = 215px caption = theatrical poster director = Michael Powell Emeric Pressburger producer = Michael Powell Emeric Pressburger writer = W. Stanley Moss (novel) Michael Powell… …   Wikipedia

  • List of Moonlight Resonance episodes — Infobox Television show name = Moonlight Resonance (溏心風暴之家好月圓) caption = genre = Modern Drama format = High Definition runtime = approx. 45 minutes per episode creator = Lau Kar Ho director = producer = writer = Cheung Wah Biu Sit Ga Wah starring …   Wikipedia

  • Escanaba in da Moonlight — Infobox Film name=Escanaba in da Moonlight caption = The movie poster for Escanaba in da Moonlight . imdb id=0180679 writer=Jeff Daniels Guy Sanville starring=Jeff Daniels Harve Presnell director=Jeff Daniels music=Alto Reed | released=January 26 …   Wikipedia

  • Box of Moonlight — Infobox Film name = Box of Moon Light caption = The 20th anniversary theatrical poster director = Tom DiCillo producer = writer = Tom DiCillo starring = John Turturro Sam Rockwell music = Jim Farmer Sam Ridgway cinematography = Paul Ryan editing …   Wikipedia

  • Mono (software) — This article is about the computing platform. For other uses, see Mono (disambiguation). Mono Developer(s) Xamarin (formerly by Novell and originally by Ximian) and the Mono community …   Wikipedia

  • Microsoft Silverlight — Developer(s) Microsoft Corporation Initial release April 2007; 4 years ago (200 …   Wikipedia