Moonlight (runtime)
Encyclopedia
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.
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.
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.
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. 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. Moonlight uses Cairo
for rendering.
Moonlight is currently provided as a plugin for Firefox and Chrome on the latest releases of the more popular Linux distributions. 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. 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
.
Preview releases of Moonlight 4.0, targeting Silverlight 4 compatibility, were released in early 2011.
In April of 2011, the Moonlight team demoed Moonlight running on Android tablets and phones at the MIX11 Web Developers conference in Las Vegas.
Shortly after the April 2011 release, Attachmate, parent to developer Mono, laid off an undisclosed number of Mono employees and announced a deal with startup Xamarin. 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.
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.
widget (known as Moonlight.Gtk). A number of Desklets were written using this new technology during the Novell Hack-week in 2007.
MoonBase, 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 .
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.
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).
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.
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".
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:
At the PDC conference on October 13, 2008, Microsoft placed the 'Silverlight XAML Vocabulary' under the Microsoft Open Specification Promise
, 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).
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
implementation of Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
's Silverlight
Microsoft Silverlight
Microsoft Silverlight is an application framework for writing and running rich Internet applications, with features and purposes similar to those of Adobe Flash. The run-time environment for Silverlight is available as a plug-in for web browsers running under Microsoft Windows and Mac OS X...
for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and other Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
based operating systems, developed by the Mono
Mono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
Project. Like Silverlight, Moonlight is a web application framework that provides functionalities similar to those in Adobe Flash
Adobe Flash
Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...
, integrating multimedia, graphics, animations and interactivity into a single runtime environment.
Status and roadmap
Date | Version |
---|---|
2009-02-11 | Moonlight 1.0 |
2009-12-17 | Moonlight 2.0 |
2010-02-03 | Moonlight 3.0 Preview 1 |
2011-02-15 | Moonlight 4 Preview 1 |
In an interview in the beginning of June 2007, Miguel de Icaza
Miguel de Icaza
Miguel de Icaza is a Mexican free software programmer, best known for starting the GNOME and Mono projects.-Early years:Miguel de Icaza was born in Mexico City and studied at the Universidad Nacional Autonoma de México but never received a degree. He came from a family of scientists in which his...
said that the Mono team expected to offer a feasibility "alpha" demo in mid-June 2007, with support for Mozilla Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...
on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
by the end of the year.
After a 21-day hacking spree by the Mono team (including Chris Toshok
Chris Toshok
- Contributions :In the early days of Linux he co-developed the X-Word word processor for Linux, one of the first WYSIWYG word processors for Linux. Although X-Word was never completed, its dependency on Motif led the Hungry Programmers team led by Chris Toshok to implement LessTif, a free...
, Larry Ewing
Larry Ewing
Larry Ewing is a U.S. computer programmer who is known as the creator of the Linux mascot, Tux. He also created the Ximian monkey logo and is involved in:*F-Spot: a project aiming to "manage all your digital photography needs."...
and Jeffrey Stedfast among others), a public demo was shown at Microsoft ReMIX conference in Paris
Paris
Paris is the capital and largest city in France, situated on the river Seine, in northern France, at the heart of the Île-de-France region...
, France
France
The French Republic , The French Republic , The French Republic , (commonly known as France , is a unitary semi-presidential republic in Western Europe with several overseas territories and islands located on other continents and in the Indian, Pacific, and Atlantic oceans. Metropolitan France...
on June 21, 2007.
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. A Moonlight IDE, named Lunar Eclipse, exists in SVN for XAML
XAML
Extensible Application Markup Language is a declarative XML-based language created by Microsoft used for initializing structured values and objects. It is available under Microsoft's Open Specification Promise...
designs. It is expected to be included or ported into MonoDevelop
MonoDevelop
MonoDevelop is an open source integrated development environment for the Linux platform, Mac OS X, and Microsoft Windows, primarily targeted for the development of software that uses both the Mono and Microsoft .NET frameworks...
as an add-on in the future. Moonlight uses Cairo
Cairo (graphics)
cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...
for rendering.
Moonlight is currently provided as a plugin for Firefox and Chrome on the latest releases of the more popular Linux distributions. 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. 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
Theora
Theora is a free lossy video compression format. It is developed by the Xiph.Org Foundation and distributed without licensing fees alongside their other free and open media projects, including the Vorbis audio format and the Ogg container....
and Dirac
Dirac (codec)
Dirac is an open and royalty-free video compression format, specification and system developed by BBC Research at the BBC. Schrödinger and dirac-research are open and royalty-free software implementations of Dirac...
.
Preview releases of Moonlight 4.0, targeting Silverlight 4 compatibility, were released in early 2011.
In April of 2011, the Moonlight team demoed Moonlight running on Android tablets and phones at the MIX11 Web Developers conference in Las Vegas.
Shortly after the April 2011 release, Attachmate, parent to developer Mono, laid off an undisclosed number of Mono employees and announced a deal with startup Xamarin. 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.
DRM
Silverlight supports Digital Rights ManagementDigital rights management
Digital rights management is a class of access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals with the intent to limit the use of digital content and devices after sale. DRM is any technology that inhibits uses of digital content that...
in its multimedia stack, but Microsoft will not license their PlayReady
PlayReady
PlayReady is a Digital Rights Management from Microsoft for portable devices. It was announced in February 2007.The main differences relative to previous DRM schemes from Microsoft are:...
DRM software for the Moonlight project to use and so Moonlight is unable to play encrypted content.
Desktop support
Moonlight is also usable outside of the browser as a Gtk+GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...
widget (known as Moonlight.Gtk). A number of Desklets were written using this new technology during the Novell Hack-week in 2007.
MoonBase, 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 .
Microsoft support
Shortly after the first demo at MIX 07 in Paris, Microsoft began cooperating with Novell to help the building of Moonlight. Support includes exclusive access given to Novell for the following Silverlight artifacts:- Microsoft's Test suites for Silverlight,
- Silverlight specification details, beyond those available on the web,
- Proprietary codecCodecA codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...
s made available free-of-charge for Windows Media VideoWindows Media Video'Windows Media Video is a video compression format for several proprietary codecs developed by Microsoft. The original video format, known as WMV, was originally designed for Internet streaming applications, as a competitor to RealVideo. The other formats, such as WMV Screen and WMV Image, cater...
and AudioWindows Media AudioWindows Media Audio is an audio data compression technology developed by Microsoft. The name can be used to refer to its audio file format or its audio codecs. It is a proprietary technology that forms part of the Windows Media framework. WMA consists of four distinct codecs...
, for VC-1VC-1VC-1 is the informal name of the SMPTE 421M video codec standard, which was initially developed as a proprietary video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006...
and MP3MP3MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...
, and in the future H.264 and AACAACAAC refers to Advanced Audio Coding, an audio compression format successor to the MP3 format.AAC may also refer to:-Aviation:* AAC, IATA airport code for El Arish International Airport, Egypt...
, only licensed for use with Moonlight when running in a web browser. Other potential decoders include GStreamerGStreamerGStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing...
and FFmpegFFmpegFFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
(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.
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).
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
Mono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
architect Miguel de Icaza
Miguel de Icaza
Miguel de Icaza is a Mexican free software programmer, best known for starting the GNOME and Mono projects.-Early years:Miguel de Icaza was born in Mexico City and studied at the Universidad Nacional Autonoma de México but never received a degree. He came from a family of scientists in which his...
blogged that the Mono team prototyped Moonlight multimedia support using the LGPL
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
-licensed FFmpeg
FFmpeg
FFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
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.
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. This covenant can be found on the Microsoft website.Kevin Kofler and Tom Callaway, of Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...
, have stated publicly that the new covenant "is not acceptable" for that distribution and that "it is still not permissible in Fedora".
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
Vorbis
Vorbis is a free software / open source project headed by the Xiph.Org Foundation . The project produces an audio format specification and software implementation for lossy audio compression...
, Theora
Theora
Theora is a free lossy video compression format. It is developed by the Xiph.Org Foundation and distributed without licensing fees alongside their other free and open media projects, including the Vorbis audio format and the Ogg container....
and Ogg
Ogg
Ogg is a free, open container format maintained by the Xiph.Org Foundation. The creators of the Ogg format state that it is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high quality digital multimedia.The Ogg container format can multiplex...
. 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 SocietyFraunhofer SocietyThe Fraunhofer Society is a German research organization with 60 institutes spread throughout Germany, each focusing on different fields of applied science . It employs around 18,000, mainly scientists and engineers, with an annual research budget of about €1.65 billion...
) - Negotiate access to Microsoft's Media Pack as Novell have done
- Use GStreamerGStreamerGStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing...
or a commercial codec license - Use a hardware-specific software like VDPAUVDPAUVDPAU is an open source library and API originally designed by Nvidia for its GeForce 8 series and later GPU hardware, targeted at the X Window System on Unix-based operating systems...
At the PDC conference on October 13, 2008, Microsoft placed the 'Silverlight XAML Vocabulary' under the Microsoft Open Specification Promise
Microsoft Open Specification Promise
The Microsoft Open Specification Promise , is a promise by Microsoft, published in September 2006, to not assert legal rights over certain Microsoft patents on implementations of an included list of technologies....
, 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
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
'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).
See also
- Microsoft SilverlightMicrosoft SilverlightMicrosoft Silverlight is an application framework for writing and running rich Internet applications, with features and purposes similar to those of Adobe Flash. The run-time environment for Silverlight is available as a plug-in for web browsers running under Microsoft Windows and Mac OS X...
- Mono (software)Mono (software)Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
- MonoDevelopMonoDevelopMonoDevelop is an open source integrated development environment for the Linux platform, Mac OS X, and Microsoft Windows, primarily targeted for the development of software that uses both the Mono and Microsoft .NET frameworks...
– an open source IDEIntegrated development environmentAn integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
targeting both Mono and Microsoft .NET framework.NET FrameworkThe .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
platforms
External links
- Downloads page
- Wired - Microsoft Silverlight Coming to Linux
- CNET - 'Moonlight' makes progress on Silverlight for Linux
- Moonlight 1.0 Media Stack article by Miguel de IcazaMiguel de IcazaMiguel de Icaza is a Mexican free software programmer, best known for starting the GNOME and Mono projects.-Early years:Miguel de Icaza was born in Mexico City and studied at the Universidad Nacional Autonoma de México but never received a degree. He came from a family of scientists in which his...
- The H Open Source - Health Check: Moonlight