Mono

У этого термина существуют и другие значения, см. Моно.
Mono
Логотип программы Mono
Скриншот программы Mono
Тип фреймворк
Разработчики Xamarin, Ximian и Novell
Написана на Си, C#[2] и XML
Операционные системы Linux, Windows и macOS
Первый выпуск 30 июня 2004
Последняя версия 6.12.0.182[1] (14 июня 2022; 22 месяца назад (2022-06-14))
Репозиторий github.com/mono/mono
Лицензия GNU GPL 2, GNU LGPL и лицензия X11[d]
Сайт mono-project.com (англ.)

Mono — проект по созданию полноценного воплощения системы .NET Framework на базе свободного программного обеспечения. Основной разработчик проекта Mono — корпорация Xamarin[3], ранее — Novell. Проект возглавляет Мигель де Икаса, известный разработчик, основатель проекта GNOME. Реализации Mono существуют для следующих операционных систем: Windows, Linux, BSD (FreeBSD, OpenBSD, NetBSD), Solaris, macOS, Apple iOS, Wii[4]. Поддерживаются платформы: s390, SPARC, PowerPC, x86/x86-64, IA-64, ARM, Alpha, MIPS, HP PA[4].

Состав и функциональность

Mono включает в себя компилятор языка C# — dmcs[5], среду исполнения .NET — mono (с поддержкой JIT) и mint (без поддержки JIT), отладчик, а также ряд библиотек, включая реализацию WinForms, ADO.NET и ASP.NET, а также компиляторы smcs (для создания приложений для Moonlight) и vbc (для приложений, написанных на VB.NET).

В рамках проекта также разрабатываются привязки для графической библиотеки GTK+ на платформу .NET.

Также Mono содержит альтернативу структуре WPF-приложений (XAML + C# или любой другой язык, который поддерживается в данной среде исполнения). Данный язык называется Glade, при помощи него можно собирать GTK-приложения.

Mono может исполнять модули, написанные на языках C#, F#, Visual Basic .NET, Java, Boo, Nemerle, Python, JavaScript, Erlang, Smalltalk, Lisp, PHP и Object Pascal (при наличии компилятора в среде .Net/Mono). Ожидается также поддержка языков C, Ada 2005 и Eiffel.

Юридические вопросы

После заключения Microsoft договорённости с компанией Novell[6] платформа Mono была официально признана реализацией .NET на Unix-подобных операционных системах (Linux, macOS и других). Однако договорённость касается только Novell и клиентов Novell; также технологии ASP.NET, ADO.NET и Windows.Forms не были стандартизированы ECMA/ISO, и использование их в Mono находится под угрозой юридических претензий со стороны Microsoft (претензии возможны только в странах, где существуют патенты на программное обеспечение[7]). Mono предоставляет реализацию ASP.NET, ADO.NET и Windows.Forms, но в то же время рекомендует не использовать эти API.[7]

Принятая в проекте лицензия на компилятор и другие программы — GNU GPL. Лицензия на среду исполнения и другие библиотеки — GNU LGPL. Лицензия на библиотеки классов — MIT.

Компания Microsoft объявила, что стандарты C# (ECMA 334) и инфраструктуры CLI (ECMA 335) теперь попадают под действие документа Community Promise (Обещание сообществу), официально заявляющего отсутствие патентных или иных претензий на стандартизированные таким образом разработки. Данный шаг снимает многочисленные противоречия, касающиеся платформы Mono, которая фактически является opensource-реализацией этих стандартов и дает ей иммунитет на случай, если патентный вопрос будет поднят вновь.

Данное заявление опубликовал Старший менеджер по связям с общественностью Департамента Стратегий платформ Peter Galli как ответ на недавние запросы Мигеля де Икасы относительно лицензирования стандартов ECMA 334 и 335. В нём, в частности, говорится, что, давая обещание сообществу, Microsoft добровольно отказывается от патентного преследования юридических и частных лиц производящих, использующих, распространяющих, рекламирующих, продающих любые оговоренные в патентах реализации, независимо от модели их разработки и распространения, включая открытые модели разработки, такие как LGPL и GPL.

При этом открытым остается вопрос реализации технологий, не упомянутых в Community Promise. В связи с этим вице-президент Novell Мигель де Икаса объявил, что с этого момента проект Mono будет разбит на две ветки:

  • ветка, занимающаяся реализацией ECMA-стандартов и попадающая под действие Обещания — свободная от претензий Microsoft,
  • ветка, реализующая свободные версии патентованных технологий ASP.NET, ADO.NET, Winforms и других.

Программы, основанные на Mono

См. также

Примечания

  1. "mono-6.12.0.182". Архивировано 12 июля 2022. Дата обращения: 12 июля 2022.
  2. The mono Open Source Project on Open Hub: Languages Page — 2006.
  3. Xamarin — Build cross-platform iOS, Android and Mac apps with C# and .NET  (неопр.). Дата обращения: 19 июля 2011. Архивировано 18 июля 2011 года.
  4. 1 2 Supported Platforms — Mono  (неопр.). Дата обращения: 2 февраля 2012. Архивировано 3 февраля 2012 года.
  5. До версии 2.0 — mcs; до версии 4.0 — gmcs
  6. Microsoft and SUSE Renew Successful Interoperability Agreement  (неопр.). Дата обращения: 20 мая 2012. Архивировано 11 мая 2012 года.
  7. 1 2 FAQ: Licensing — Mono  (неопр.). Дата обращения: 17 апреля 2011. Архивировано 9 июня 2011 года.
  8. Is Unity Engine written in Mono/C#? or C++ - Unity Answers  (неопр.) (9 июля 2014). Дата обращения: 28 апреля 2018. Архивировано из оригинала 9 июля 2014 года.

Ссылки

  • Официальный сайт Архивная копия от 6 января 2009 на Wayback Machine
Перейти к шаблону «C Sharp»
Версии
  • 1.0
  • 2.0[англ.]
  • 3.0[англ.]
  • 4.0[англ.]
  • 4.0[англ.]
ПО
Связанное
Перейти к шаблону «GNOME»
Core Applications[англ.]
Приложения
Графика
Игры
Интернет
Мультимедиа
Офис
Разработка
Система
Утилиты
Компоненты
Platform
Architecture
Интерфейс пользователя
Basic
Компоненты
freedesktop.org
Сообщество
Люди
  • Категория Категория
  • Commons
Перейти к шаблону «.NET»
.NET
Реализации
Архитектура
Инфраструктура
Языки Microsoft
Другие языки
Windows Foundations
Компоненты
Сравнения
Будущие технологии
Информационные ресурсы
Перейти к шаблону «Novell»
Business Service Management
  • Operations Center
Идентификация и управления системой
Дистрибутивы SUSE Linux
Workgroup Collaboration
Проекты
Подготовка и сертификация
  • Certified Novell Administrator
  • Certified Novell Engineer
Значимые персоны
Перейти к шаблону «Свободное и открытое программное обеспечение Microsoft»
Общая информация
Программное
обеспечение
Приложения
Игры
  • Allegiance[англ.]
Языки
программирования
Фреймворки и
средства разработки
Операционные
системы
Прочее
  • ChronoZoom
  • Project Mu
  • SILK
  • TLAPS
  • TPM 2.0 Reference Implementation
  • WikiBhasha
Лицензии
Связанные темы
  • .NET Foundation
  • F Sharp Software Foundation
  • Microsoft Open Specification Promise
  • Outercurve Foundation
Категория Категория