Оригинальный автор(ы) | Новелл |
---|---|
Разработчик(и) | Ксамарин |
Первоначальный выпуск | 4 марта 2009 г. ( 2009-03-04 ) |
Стабильный релиз | 3.99.0.3 [1] / 27 апреля 2011 г. |
Предварительный релиз | 4.0 Предварительный просмотр 1 [2] / 15 февраля 2011 г. |
Репозиторий |
|
Написано в | С , С++ , С# |
Операционная система | Линукс |
Тип | Фреймворк веб-приложений |
Лицензия | LGPL 2 с фирменными кодеками |
Веб-сайт |
|
Moonlight — это прекращенная бесплатная реализация с открытым исходным кодом для Linux и других операционных систем на базе Unix платформы приложений Microsoft Silverlight , разработанная и затем заброшенная проектом Mono . [3] [4] Как и Silverlight, Moonlight был платформой веб-приложений, которая предоставляла возможности, аналогичные возможностям Adobe Flash , объединяя мультимедиа, графику, анимацию и интерактивность в единую среду выполнения.
Дата | Версия |
---|---|
2009-02-11 | Лунный свет 1.0 [5] |
2009-12-17 | Лунный свет 2.0 [6] |
2010-02-03 | Moonlight 3.0 Предварительный просмотр 1 [7] |
2011-02-15 | Лунный свет 4 Превью 1 [8] |
В интервью в начале июня 2007 года Мигель де Икаса сказал, что команда Mono рассчитывает предложить «демонстрационную версию альфа-версии» в середине июня 2007 года, а к концу года — поддержку Mozilla Firefox на Linux . [9]
После 21-дневного хакерского бума, организованного командой Mono (включая Криса Тошока, Ларри Юинга и Джеффри Стедфаста среди прочих), публичная демоверсия была показана на конференции Microsoft ReMIX в Париже , Франция , 21 июня 2007 года. [10] [11] [12] [13]
Однако в сентябре 2007 года разработчикам все еще требовалось установить и скомпилировать множество модулей Mono и Olive (экспериментальный подпроект Mono для поддержки .NET 3.0 ) из репозитория Mono SVN , чтобы иметь возможность протестировать Moonlight. [14] Moonlight IDE, называемая Lunar Eclipse, существует в SVN для проектов XAML . Moonlight использует Cairo для рендеринга. [15]
Moonlight был представлен как плагин для Firefox и Chrome в популярных дистрибутивах Linux. [16] Сам плагин не включает пакет медиа-кодеков, но когда плагин Moonlight обнаруживает воспроизводимые медиа, он предлагает пользователям загрузить бесплатный пакет медиа-кодеков от Microsoft.
Moonlight 2.0 отслеживал реализацию Silverlight 2.0. Первая завершенная версия, Moonlight 1.0, поддерживающая Silverlight 1.0, была выпущена в январе 2009 года. Moonlight 2.0 был выпущен в декабре 2009 года. [17] Релиз Moonlight 2.0 также содержал некоторые функции Silverlight 3, включая подключаемый медиа-фреймворк, который позволял Moonlight работать с подключаемыми открытыми кодеками, такими как Theora и Dirac . [18]
Предварительные версии Moonlight 4.0, нацеленные на совместимость с Silverlight 4, были выпущены в начале 2011 года. [19]
В апреле 2011 года команда Moonlight продемонстрировала работу Moonlight на планшетах и телефонах Android на конференции веб-разработчиков MIX11 в Лас-Вегасе. [20]
Вскоре после релиза в апреле 2011 года Attachmate , материнская компания разработчика Mono, уволила нераскрытое количество сотрудников Mono [21] и объявила о сделке со стартапом Xamarin по разработке и поддержке Mono [22] . В то время генеральный директор Xamarin Нат Фридман подтвердил свою приверженность проекту Moonlight, хотя никаких внешних признаков дальнейшего развития не наблюдалось.
В декабре 2011 года де Икаса объявил, что работа над Moonlight остановлена без каких-либо планов на будущее. Он объяснил, что Microsoft «отключила подачу воздуха» к нему, исключив кроссплатформенные компоненты, сделав его плагином только для веб-сайтов и включив функции только для Windows. Он посоветовал разработчикам отделить код пользовательского интерфейса от остальной части разработки приложений, чтобы обеспечить «отличный опыт пользовательского интерфейса на каждой платформе (Mac, Linux, Android, iOS, Windows и Web)» без зависимости от сторонних API . [23]
Silverlight поддерживает управление цифровыми правами в своем мультимедийном стеке, но Microsoft не лицензирует свое программное обеспечение PlayReady DRM для использования в проекте Moonlight, поэтому Moonlight не может воспроизводить зашифрованный контент. [24]
Moonlight также можно было использовать вне браузера как виджет Gtk+ (известный как Moonlight.Gtk). Несколько Desklets были написаны с использованием этой новой технологии во время Novell Hack Week в 2007 году. [25]
MoonBase — это экспериментальный набор вспомогательных классов, созданных на основе Moonlight.Gtk, которые можно использовать для создания полноценных настольных приложений C# с использованием виджетов Moonlight (Silverlight 4.0) и файлов XAML. [26] MoonBase также имеет связанный редактор/предпросмотрщик XAML. [27]
Вскоре после первой демонстрации на MIX 07 в Париже Microsoft начала сотрудничать с Novell, чтобы помочь в создании Moonlight. [28] Поддержка включала предоставление эксклюзивного доступа Novell к следующим артефактам Silverlight: [29]
Microsoft выпустила два публичных соглашения о непредъявлении иска о нарушении своих патентов при использовании Moonlight. Первое соглашение касалось Moonlight 1 и 2, было довольно ограничительным и касалось только использования Moonlight в качестве плагина в браузере, только реализаций, не лицензированных по GPLv3 , и только если реализация Moonlight была получена от Novell. В нем также отмечается, что Microsoft может аннулировать эти права на использование. [30]
Второе соглашение было обновленным и более широким соглашением, которое больше не ограничивает соглашение пользователями, которые получают Moonlight от Novell, оно охватывает любые виды использования Moonlight независимо от того, где оно было получено. Обновленное соглашение охватывает реализации, поставляемые Novell для версий 3 и 4, оно больше не отличает Novell от других дистрибутивов Moonlight и расширяет соглашение на настольные приложения, созданные с помощью Moonlight. Соглашение не распространяется на форки, лицензированные по GNU GPL (сам Moonlight использует Lesser GPLv2). [31]
Хотя Moonlight является свободным программным обеспечением, финальная версия должна была использовать только двоичные аудио- и видеокодеки , предоставленные Microsoft, которые будут лицензированы для использования с Moonlight только при использовании в качестве плагина браузера (см. выше). Пакет Windows Media не распространяется вместе с плагином Moonlight, но при первом обнаружении медиаконтента в Silverlight пользователю будет предложено загрузить пакет, содержащий кодеки, используемые в Silverlight, непосредственно с сайта Microsoft.
Самостоятельно созданные версии по-прежнему могли использовать библиотеку FFmpeg, и обсуждалась возможность добавления поддержки GStreamer в качестве альтернативы использованию двоичных кодеков Microsoft для тех, кто хотел бы использовать GStreamer вместо этого, а также для использования вне браузера.
Архитектор Mono Мигель де Икаса написал в блоге, что команда Mono создала прототип поддержки мультимедиа Moonlight с использованием движка FFmpeg с лицензией LGPL , но они не смогли распространять упакованные версии, которые использовали эту библиотеку, из-за проблем с лицензированием кодека FFmpeg в Соединенных Штатах. [29] [32]
После выпуска Moonlight 2 соглашение, предоставленное Microsoft, было обновлено, чтобы гарантировать, что другие сторонние дистрибьюторы могут распространять Moonlight, не беспокоясь о том, что их пользователи могут быть привлечены к ответственности за нарушение патентных прав со стороны Microsoft. [33] Это соглашение можно найти на веб-сайте Microsoft.
Кевин Кофлер и Том Каллауэй из Fedora публично заявили, что последний пакт был «неприемлем» для этого дистрибутива и что «он по-прежнему недопустим в Fedora». [34]
Версия Moonlight, которая должна была быть доступна напрямую от Novell, имела бы доступ к лицензированным закрытым исходным медиакодекам, бесплатно предоставляемым Microsoft. Сторонние дистрибутивы Moonlight могли бы воспроизводить только непатентованные медиа, такие как Vorbis , Theora и Ogg . Для поддержки других форматов дистрибьюторам пришлось бы выбирать из нескольких вариантов лицензирования:
На конференции PDC 13 октября 2008 года Microsoft поместила «Silverlight XAML Vocabulary» в Microsoft Open Specification Promise , [35] заявив в пресс-релизе: «Спецификация Silverlight XAML Vocabulary, выпущенная в соответствии с Microsoft Open Specification Promise, позволит сторонним независимым поставщикам программного обеспечения создавать продукты, которые могут читать и писать XAML для Silverlight». Поскольку Moonlight по сути является считывателем XAML, позиция Debian заключается в том, что Moonlight безопасен для распространения (предоставляя каждому пользователю возможность согласиться на собственное лицензирование для двоичных кодеков Microsoft и других). [36]
Мы разработали несколько кодеков с открытым исходным кодом для Dirac, Vorbis и ADPCM, которые можно использовать с Silverlight 3/Moonlight Preview на основе существующих реализаций C# и Java. Надеемся, кто-нибудь поможет нам заполнить пробелы с помощью большего количества кодеков (например, Theora).
"Получатель" означает организацию или лицо, которое использует по назначению реализацию Moonlight, полученную непосредственно от Novell или через промежуточного получателя... Microsoft оставляет за собой право обновлять (включая прекращение) вышеуказанное соглашение... "Реализация Moonlight" означает только те конкретные части Moonlight 1.0 или Moonlight 1.1, которые работают только как подключаемый модуль к браузеру на персональном компьютере и не лицензируются по лицензии GPLv3 или аналогичной лицензии.
После большой работы между командами Moonlight и .NET мы готовы официально объявить, что мы (Microsoft и Novell) перенесем Silverlight на Linux
(Сэм Рамджи — директор лаборатории программного обеспечения с открытым исходным кодом Microsoft)
Moonlight 1.0 по сути является рендерером XAML с поддержкой кодеков. Вся логика плагина обрабатывается движком Javascript браузера. XAML защищен безотзывным патентом, выданным Microsoft, как показано здесь.
{{cite web}}
: Внешняя ссылка в |quote=
( помощь )