Mono

Mono
Sorts datorplattform [d] ochramverk
Författare Miguel de Icaza
Utvecklaren Xamarin , Ximian och Novell
Skrivet i C , C# [2] och XML
Operativ system Linux , Microsoft Windows och macOS
Första upplagan 30 juni 2004
senaste versionen 6.12.0.182 [1] (14 juni 2022 ) ( 2022-06-14 )
Licens GNU GPL 2 , GNU LGPL och X11
Hemsida monoproject.com

Mono  är ett projekt för att skapa en komplett gratis programvaruimplementering av .NET Framework . Den huvudsakliga utvecklaren av Mono-projektet är Xamarin Corporation [3] , tidigare Novell . Projektet leds av Miguel de Icaza , en känd utvecklare, grundare av GNOME- projektet . Implementeringar av Mono finns för följande operativsystem: Windows , Linux , BSD ( FreeBSD , OpenBSD , NetBSD ), Solaris , Mac OS X , Apple iOS , Wii [4] . Plattformar som stöds: s390 , SPARC , PowerPC , x86 / x86-64 , IA-64 , ARM , Alpha , MIPS , HP PA [4] .

Sammansättning och funktionalitet

Mono innehåller en C# -kompilator  - dmcs [ 5] , en .NET runtime - mono (med JIT- stöd ) och mint (utan JIT-stöd), en debugger och ett antal bibliotek, inklusive WinForms- implementering , ADO.NET och ASP.NET , samt smcs (för att bygga applikationer för Moonlight ) och vbc (för applikationer skrivna i VB.NET ) kompilatorer.

Projektet utvecklar även bindningar för grafikbiblioteket GTK+ för .NET-plattformen.

Mono innehåller också ett alternativ till strukturen för WPF- applikationer ( XAML + C# eller något annat språk som stöds i denna körtid). Detta språk kallas Glade och kan användas för att bygga GTK-applikationer.

Mono kan exekvera moduler skrivna i C# , F# , Visual Basic .NET , Java , Boo , Nemerle , Python , JavaScript , Erlang , SmallTalk , Lisp , PHP och Object Pascal (med en kompilator i .Net/Mono-miljön). Stöd för C , Ada 2005 och Eiffel förväntas också .

Juridiska frågor

Efter att Microsoft ingått ett avtal med Novell [6] erkändes Mono-plattformen officiellt som en implementering av .NET på Unix-liknande operativsystem ( Linux , Mac OS X och andra). Avtalet gäller dock endast Novell- och Novell-kunder; även ASP.NET , ADO.NET och Windows.Forms-teknologier har inte standardiserats av ECMA/ISO och deras användning i Mono är under hot om juridiska anspråk från Microsoft (anspråk är endast möjliga i länder där mjukvarupatent finns [7] ) . Mono tillhandahåller implementeringar av ASP.NET, ADO.NET och Windows.Forms, men rekommenderar samtidigt att dessa API:er inte används. [7]

Licensen för kompilatorn och andra program som accepteras i projektet är GNU GPL . Runtime och andra bibliotek är licensierade under GNU LGPL . Klassbibliotekslicensen är MIT .

Microsoft har meddelat att C#-standarder (ECMA 334) och CLI-ramverk (ECMA 335) nu omfattas av Community Promise-dokumentet, som officiellt deklarerar att det inte finns några patent eller andra anspråk på utvecklingar som är standardiserade på detta sätt. Flytten tar bort de många kontroverserna kring Mono-plattformen, som faktiskt är en implementering av dessa standarder med öppen källkod, och ger den immunitet om patentfrågan tas upp igen.

Detta uttalande släpptes av Peter Galli, Senior Communications Manager, Platform Strategy Department, som svar på Miguel de Icazas senaste förfrågningar angående licensiering av ECMA 334 och 335. Det står delvis att Microsoft genom att ge ett löfte till communityn avstår frivilligt från patenträttsliga juridiska personer och individer som producerar, använder, distribuerar, annonserar, säljer alla implementeringar som specificeras i patent, oavsett deras utvecklings- och distributionsmodell, inklusive öppna utvecklingsmodeller som LGPL och GPL.

Samtidigt är frågan om att implementera teknik som inte nämns i gemenskapslöftet öppen. I detta avseende meddelade Novells vicepresident Miguel de Icaza att från och med nu kommer Mono-projektet att delas upp i två grenar:

Monobaserade program

Se även

Anteckningar

  1. mono-6.12.0.182 .
  2. Mono Open Source Project på Open Hub: Languages-sidan - 2006.
  3. Xamarin - Bygg plattformsoberoende iOS-, Android- och Mac-appar med C# och .NET . Datum för åtkomst: 19 juli 2011. Arkiverad från originalet den 18 juli 2011.
  4. 12 plattformar som stöds - mono . Hämtad 2 februari 2012. Arkiverad från originalet 3 februari 2012.
  5. Före version 2.0 - mcs; upp till version 4.0 - gmcs
  6. Microsoft och SUSE förnyar framgångsrikt interoperabilitetsavtal . Hämtad 20 maj 2012. Arkiverad från originalet 11 maj 2012.
  7. 1 2 FAQ: Licensiering - Mono . Hämtad 17 april 2011. Arkiverad från originalet 9 juni 2011.
  8. Är Unity Engine skriven i Mono/C#? eller C++ - Unity Answers (länk ej tillgänglig) (9 juli 2014). Hämtad 28 april 2018. Arkiverad från originalet 9 juli 2014. 

Länkar