Moonlight

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Moonlight
Тип Веб-приложение
Разработчик Xamarin, ранее Novell
Написана на Си, C++, C#
Операционная система Windows, Linux, Mac OS X
Последняя версия 5.0.1.1 (23 мая 2017)
Тестовая версия 5.4.0.135 (2 августа 2017)
Состояние разработка закрыта[1]
Лицензия Только LGPL 2 или коммерческая
Сайт mono-project.com/Moonlig…

Moonlight (с англ. — «Лунный свет») — открытая и свободная программная реализация фреймворка веб-приложений Microsoft Silverlight. Silverlight первоначально была разработана корпорацией Microsoft. Moonlight была разработана в рамках проекта Mono[2]. Moonlight 1.0 был выпущен 20 января 2009, а Moonlight 2 вышел 17 декабря 2009.

Статус и дальнейшее развитие

В интервью в начале июня 2007 года Мигель де Икаса заявил, что команда, работающая над Mono, готовится объявить о доступности «альфа»-версии в середине июня 2007 года, а поддержка Firefox в ОС Linux появится к концу года[3].

Спустя 21 день активности команды Mono (среди которых были и Крис Тошок, Ларри Эвин и Джеффри Стедфэст), публичная демоверсия была продемонстрирована на конференции Microsoft ReMIX в Париже, Франция 21 июня 2007[4][5][6][7].

Однако, к сентябрю 2007 года разработчикам всё ещё требовалось установить и скомпилировать много модулей Mono и Olive (экспериментальный подпроект Mono для поддержки .NET 3.0) из репозитория Mono SVN чтобы протестировать Moonlight[8]. Moonlight IDE, получившая название Lunar Eclipse (Лунное затмение), присутствует в SVN для проектирования XAML. Ожидается, что она будет включена или портирована в MonoDevelop в качестве будущего дополнения[9]. Moonlight использует Cairo для рендеринга графики[10].

На данный момент Moonlight предлагается в виде плагина для некоторых версий Firefox на некоторых версиях Linux[11]. Плагин сам по себе не содержит комплект медиакодеков, но когда плагин Moonlight обнаруживает доступные медиаданные, то предлагает пользователю скачать бесплатный пакет медиакодеков от Microsoft.

Moonlight 2.0 в целом соответствует реализации Silverlight 2.0. Участники проекта Mono 16 мая 2008 года выпустили реализацию плагина Silverlight, работающую на других платформах[12][13] (таких, как Linux) — Moonlight, однако ни открытым, ни свободным ПО она считаться не может, так как разрешение на использование патентов предоставляется только получателям кода от Novell, и только для создания плагинов[14]. Moonlight 2.0 находится в состоянии Preview 3[15]. Впрочем, Microsoft поддерживает создание альтернативных реализаций Silverlight, этому может свидетельствовать договор между Microsoft и Novell. Однако, заинтересованность сообщества в реализации спецификаций Silverlight не слишком высока, поэтому Moonlight до сих пор не поддерживает всех возможностей Silverlight 2.

Первая завершённая версия Moonlight 1.0, поддерживающая Silverlight 1.0, была выпущена 20 января 2009 года. Moonlight 2.0 вышла 17 декабря 2009. Этот выпуск также содержит некоторые возможности Silverlight 3, включая дополняемый медиафреймворк, который позволяет Moonlight работать с подключаемыми открытыми кодеками, такими как Theora и Dirac[16]. Предварительный выпуск Moonlight 3.0 запланирован на первую четверть 2010 года, а финальная версия планируется к выходу в третьей четверти 2010 года.[17]

Поддержка рабочего стола

Moonlight может использоваться и вне браузера в качестве Gtk+-виджета. Некоторое количество десклетов (Desklets) было написано при помощи этой новой технологии во время Хак-недели Novell (Hack-week)[18].

Поддержка Microsoft

Вскоре после первой демонстрации на MIX 07 в Париже Microsoft начала сотрудничество с Novell для помощи в создании Moonlight[19]. Поддержка включает в себя эксклюзивный доступ, предоставленный Novell к следующим данным о Silverlight:[20]:

  • Тестовые наборы Microsoft для Silverlight,
  • Детали спецификации Silverlight, помимо доступных в сети,
  • Бесплатные двоичные кодеки для Windows Media Video и Audio, VC-1 и MP3, а также планирующиеся H.264 и AAC, лицензируемые только для использования вместе с Moonlight, запущенным в веб-браузере. К другим возможным декодерам относятся GStreamer и FFmpeg (находящиеся на этапе разработки), но Novell не будет поддерживать совокупные версии Moonlight с этими библиотеками, так как данные декодеры не обладают подходящим лицензированием для использования запатентованных технологий кодирования.

«Microsoft» выпустила ограниченное публичное соглашение об отказе судебных преследований за нарушение её патентов при использовании Moonlight. Оно касается лишь использования Moonlight в качестве плагина в браузере, причём лишь реализации, не попадающие под действие лицензии GPL3, и только если реализация Moonlight была получена от Novell. Также стоит отметить, что «Microsoft» может аннулировать данные права использования[21].

Интеграция кодеков

Несмотря на то, что Moonlight — открытое ПО, финальная версия будет использовать лишь двоичные аудио- и видеокодеки, предоставляемые корпорацией «Microsoft», которые будут лицензироваться для использования только вместе с Moonlight в качестве плагина для браузера (см. выше). Windows-медипакет не будет поставляться вместе с плагином Moonlight, но при первом обнаружении медиаконтента в Silverlight пользователю предоставится возможность скачать пакет, содержащий кодеки, используемые в Silverlight, напрямую у «Microsoft».

Самодельные версии всё ещё могут использовать библиотеку FFmpeg, и ведётся обсуждение по поводу добавления поддержки GStreamer в качестве альтернативы использованию двоичных кодеков «Microsoft» для тех, кто желает использовать GStreamer вместо них, а также для использования вне браузера.

Главный архитектор проекта Mono Мигель де Икаса написал в своём блоге, что команда Mono подготовила предварительную поддержку мультимедиа в Moonlight, используя LGPL-лицензируемый движок FFmpeg, но она не может распространять пакетные версии, использующие эту библиотеку, из-за проблем с лицензированием кодека FFmpeg на территории Соединенных Штатов[20][22].

Moonlight в других версиях

К выходу Moonlight 2 соглашение, подписанное «Microsoft», было обновлено для гарантии, что сторонние поставщики смогут распространять Moonlight без опасений судебного преследования их пользователей за нарушение патентов Microsoft[23]. Данное соглашение можно найти на веб-сайте Microsoft.

Новое соглашение «Microsoft» было раскритиковано в тринадцати различных пунктах веб-сайтом The Source, посвящённому новостям и мнениям, касающимся FLOSS.[24][25] Веб-сайт бойкотировал Novell заявив, что ПО, включающее «Mono и Moonlight … продолжает дробить и разделять сообщество пользователей свободного ПО».[26] Кевин Кофлер и Том Коллоуэй, представители проекта Fedora, публично заявили, что новое соглашение «неприемлемо» для их операционной системы, и что «оно всё ещё недопустимо в Fedora».[27]

Версия Moonlight, которая будет доступна от Novell, будет иметь доступ к лицензионно защищённым медиакодекам, бесплатно поставляемым «Microsoft».

Сторонние комплектации Moonlight смогут проигрывать нелициензируемое медиа как, например, Vorbis, Theora и Ogg за счёт самой Moonlight (и Silverlight), но для воспроизведения прочих форматов будет предоставляться несколько возможных вариантов, в первую очередь это касается лицензионного медиа через Moonlight:

  • Поставки напрямую с лицензиями владельцев медиакодека (MPEG LA, Fraunhofer).
  • Поставки в составе медиапакета от «Microsoft» со схожей схемой с распространением Novell
  • Подключение GStreamer или другого коммерчески лицензируемого кодека в их реализации Moonlight.
  • Использование аппаратно реализуемого декодера типа VDPau.

На конференции PDC 13 октября 2008 Microsoft разместила 'XAML-словарь для Silverlight' (Silverlight XAML Vocabulary) под Microsoft Open Specification Promise[28], причём как утверждается в пресс-релизе, «Спецификация XAML-словаря для Silverlight, выпущенная под Microsoft Open Specification Promise, лучше обеспечит возможность сторонним ISV создавать продукты, способные читать и создавать XAML для Silverlight». Так как Moonlight является основой XAML-обработчика, то эта новость лишь подтвердила слова wiki-автора Debian, утверждавшего, что Moonlight безопасна для их распространения (позволяя каждому пользователю выбирать собственное соглашение с «Microsoft» и другими по поводу двоичных кодеков)[29].

Примечания

  1. Foley, Mary-Jo Xamarin abandons its Silverlight for Linux technology (недоступная ссылка). All About Microsoft. ZDNet. Дата обращения: 1 июня 2012. Архивировано 6 августа 2012 года.
  2. Moonlight (недоступная ссылка). Mono Team. Дата обращения: 1 сентября 2007. Архивировано 2 марта 2012 года.
  3. Dana Gardner. the FASTforward blog: Expect a June demo of Silverlight on Linux, sans browser (недоступная ссылка). Дата обращения: 6 июня 2007. Архивировано 2 марта 2012 года.
  4. Implementing Silverlight in 21 Days (недоступная ссылка). Miguel de Icaza. Дата обращения: 22 июня 2007. Архивировано 2 марта 2012 года.
  5. Implementing Silverlight in 21 Days (недоступная ссылка). Jeffrey Stedfast. Дата обращения: 21 июня 2007. Архивировано 2 марта 2012 года.
  6. moonlight (недоступная ссылка). Chris Toshok. Дата обращения: 21 июня 2007. Архивировано 14 ноября 2007 года.
  7. Mono Silverlight implementation emerges after epic hackathon (недоступная ссылка). Ars Technica. Дата обращения: 22 июня 2007. Архивировано 2 марта 2012 года.
  8. Moonlight: Getting started (недоступная ссылка). Mono Team. Дата обращения: 2 сентября 2007. Архивировано 2 марта 2012 года.
  9. Moonlight (недоступная ссылка). Архивировано 2 марта 2012 года.
  10. Moonlight Notes. Дата обращения: 8 февраля 2010. Архивировано 2 января 2010 года.
  11. Moonlight Supported Platforms (недоступная ссылка). mono-project.com. Дата обращения: 17 мая 2009. Архивировано 2 марта 2012 года.
  12. Проект Mono обеспечит совместимость Silverlight с другими платформами (недоступная ссылка). Дата обращения: 2 августа 2011. Архивировано 8 марта 2013 года.
  13. First Moonlight Release. Дата обращения: 2 августа 2011. Архивировано 4 сентября 2011 года.
  14. Shining Some Light on Microsoft’s Moonlight Covenant (англ.). Groklaw (28 мая 2008). Дата обращения: 6 октября 2008. Архивировано 5 мая 2010 года.
  15. Moonlight — Preview Download (недоступная ссылка). Дата обращения: 2 августа 2011. Архивировано 23 мая 2009 года.
  16. First Moonlight 2.0 Preview is Out (недоступная ссылка). Miguel de Icaza. Дата обращения: 4 мая 2009. Архивировано 2 марта 2012 года.
  17. Moonlight 2 is now available (недоступная ссылка). The Silverlight Team blog (17 декабря 2009). Архивировано 2 марта 2012 года.
  18. Moonlight Desklets demo on YouTube. Mono Team. Дата обращения: 25 июня 2007. Архивировано 26 ноября 2009 года.
  19. Foley, Mary Jo Microsoft officially ‘extends support’ for Novell’s Silverlight Linux port (недоступная ссылка). zdnet.com (25 сентября 2007). Дата обращения: 13 октября 2007. Архивировано 2 марта 2012 года.
  20. 20,0 20,1 De Icaza, Miguel Microsoft/Novell Collaboration on Silverlight. (недоступная ссылка) (5 сентября 2007). Дата обращения: 13 октября 2007. Архивировано 22 февраля 2012 года.
  21. Covenant to Downstream Recipients of Moonlight - Microsoft & Novell Interoperability Collaboration (недоступная ссылка). Microsoft (28 сентября 2007). — «“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.». Дата обращения: 8 марта 2008. Архивировано 2 марта 2012 года.
  22. Ramji, Sam The Novell-Microsoft Wheeler Dealers Speak (недоступная ссылка) (5 сентября 2007). — «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)». Дата обращения: 13 октября 2007. Архивировано 2 марта 2012 года.
  23. Michael de Icaza. Releasing Moonlight 2, Roadmap to Moonlight 3 and 4 (недоступная ссылка) (17 декабря 2009). Дата обращения: 18 декабря 2009. Архивировано 2 марта 2012 года.
  24. Jason Melton. 10 Problems with the New Moonlight Covenant (недоступная ссылка). The Source (23 декабря 2009). Дата обращения: 11 января 2010. Архивировано 2 марта 2012 года.
  25. Jason Melton. More on the Moonlight Covenant (недоступная ссылка). The Source (28 декабря 2009). Дата обращения: 11 января 2010. Архивировано 2 марта 2012 года.
  26. Reactions to Microsoft’s Novell Software Inside GNU/Linux (недоступная ссылка). Boycott Novell (26 декабря 2009). Дата обращения: 11 января 2010. Архивировано 2 марта 2012 года.
  27. Tom Callaway. Re: New covenant published (недоступная ссылка). gmane.linux.redhat.fedora.devel (23 декабря 2009). Дата обращения: 11 января 2010. Архивировано 2 марта 2012 года.
  28. Microsoft Releases Silverlight 2, Already Reaching One in Four Consumers Worldwide (недоступная ссылка). Microsoft (13 октября 2008). Дата обращения: 13 октября 2008. Архивировано 2 марта 2012 года.
  29. Moonlight for Debian (недоступная ссылка). Debian Wiki. — «Moonlight 1.0 is essentially an 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.». Дата обращения: 23 сентября 2009. Архивировано 2 марта 2012 года.

Ссылки

Сайты и ресурсы
Новости
Статьи