Moonlight

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

Moonlight
Логотип программы Moonlight
Тип Веб-приложение
Разработчики Xamarin, ранее Novell
Написана на Си, C++, C#
Операционные системы Windows, Linux, macOS
Последняя версия 3.99.0.3 (27 апреля 2011)
Бета-версия
Репозиторий github.com/mono/moon
Состояние разработка закрыта[2]
Лицензия Только LGPL 2 или коммерческая
Сайт mono-project.com/Moonlig…

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

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

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

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

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

Moonlight 2.0 в целом соответствует реализации Silverlight 2.0. Участники проекта Mono 16 мая 2008 года выпустили реализацию плагина Silverlight, работающую на других платформах[13][14] (таких, как Linux) — Moonlight, однако ни открытым, ни свободным ПО она считаться не может, так как разрешение на использование патентов предоставляется только получателям кода от Novell, и только для создания плагинов[15]. Moonlight 2.0 находится в состоянии Preview 3[16]. Впрочем, 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[17]. Предварительный выпуск Moonlight 3.0 запланирован на первую четверть 2010 года, а финальная версия планируется к выходу в третьей четверти 2010 года.[18]

Поддержка рабочего стола править

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

Поддержка Microsoft править

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

  • Тестовые наборы 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» может аннулировать данные права использования[22].

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

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

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

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

Moonlight в других версиях править

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

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

Версия 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[29], причём как утверждается в пресс-релизе, «Спецификация XAML-словаря для Silverlight, выпущенная под Microsoft Open Specification Promise, лучше обеспечит возможность сторонним ISV создавать продукты, способные читать и создавать XAML для Silverlight». Так как Moonlight является основой XAML-обработчика, то эта новость лишь подтвердила слова wiki-автора Debian, утверждавшего, что Moonlight безопасна для их распространения (позволяя каждому пользователю выбирать собственное соглашение с «Microsoft» и другими по поводу двоичных кодеков)[30].

Примечания править

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

Ссылки править

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