Mono (Software)
Mono-Projekt
| |
---|---|
![]() | |
Basisdaten
| |
Maintainer | Zoltán Varga[1], Marek Šafář |
Entwickler | Novell |
Erscheinungsjahr | 2004 |
Aktuelle Version | 2.0 (4. Oktober 2008) |
Aktuelle Vorabversion | 6.12.0.184[2] (4. August 2022) |
Betriebssystem | Unix, GNU/Linux, BSD-Derivate, Microsoft Windows, Mac OS X und Solaris 8 |
Programmiersprache | C, C#[3], XML |
Kategorie | Plattform |
Lizenz | MIT/X11; teilweise:GPLv2/LGPLv2 |
http://www.mono-project.com/ |
Mono ist eine .NET-kompatible Entwicklungs- und Laufzeitumgebung für plattformunabhängige Software, basierend auf dem Common Language Infrastructure-Standard. Das Open-Source-Projekt wird hauptsächlich von Novell betrieben.
Damit wird es möglich, unter Windows für .NET erstellte Programme ohne Neukompilierung unter unixoiden und anderen Betriebssystemen laufen zu lassen, oder unter anderen Betriebssystemen Programme für Microsoft .NET zu entwickeln.
Microsoft hat zwar bereits eine .NET-Variante namens Rotor für Microsoft Windows, FreeBSD und Mac OS X bereitgestellt, jedoch sind die Firma Ximian und andere der Ansicht, dass die von Microsoft vorgegebenen Lizenzbedingungen zu restriktiv sind.
Geschichte
Die von Miguel de Icaza mitgegründete Firma Ximian (am 4. August 2003 von Novell gekauft) setzte sich das Ziel, eine Reihe von .NET-kompatiblen Entwicklungswerkzeugen einschließlich eines C#-Compilers und einer Common Language Runtime für den Betrieb unter Windows, GNU/Linux, verschiedenen Unix-Derivaten sowie Mac OS X zu schaffen.
Miguel de Icaza interessierte sich für die .NET-Technologie, seit im Dezember 2000 die ersten .NET-Informationen verfügbar wurden. Im Februar 2001 begann de Icaza, einen C#-Compiler als eine Übung der Programmiersprache in C# zu schreiben. Im April 2001 konnte er auf einer GNOME-Konferenz eine erste Version präsentieren.
Bei Ximian gab es intern viele Diskussionen über die Entwicklung von Tools zur Produktivitätssteigerung, um mehr Anwendungen in kürzerer Zeit erstellen und die Entwicklungskosten reduzieren zu können. Nach einer Machbarkeitsstudie entstand bei Ximian das Mono-Team. Aufgrund der begrenzten Anzahl der Mitarbeiter war es Ximian allerdings nicht möglich, einen vollständigen .NET-Ersatz zu schreiben, also wurde das Mono-Open-Source-Projekt gegründet, welches auf der O'Reilly-Konferenz im Juli 2001 bekannt gegeben wurde.
Drei Jahre später, am 30. Juni 2004, wurde Mono 1.0 veröffentlicht.
Heutiger Stand
Mono funktioniert und wird in vielen proprietären und Quell-offenen Programmen sowie von vielen Firmen verwendet. Die Laufzeitumgebung funktioniert auf vielen Plattformen und die Abdeckung der .NET-Funktionen ist bereits sehr umfassend. Jedoch ist die Version 2.0 noch nicht in allen Bereichen auf dem Entwicklungsstand des zur selben Zeit aktuellen .NET 3.5.
Derzeit bemüht sich das Projekt noch mit der Kompatibilität zu .Net 2.0. Allerdings gibt es mit dem Projekt Olive auch eine Initiative die neueren Technologien von .NET 3.0 und .NET 3.5 zu implementieren. Mit der Version 2.0 wurde auch der C#-Compiler um die Sprach-Eigenschaften von C# 3.0 erweitert (hierbei handelt es sich in erster Linie um die Unterstützung von LINQ), sowie ein neuer XAML-Parser entwickelt. Allerdings weisen die Entwickler ausdrücklich darauf hin, dass die Windows Presentation Foundation wohl vorerst wegen der enormen Komplexität nicht implementiert wird. Ebenfalls mit der Version 2.0 ist nun auch ein Visual-Basic-8.0-Compiler mit an Bord.[4]
Standardisierung und Patente
Teile der Klassenbibliothek berühren möglicherweise Softwarepatente der Firma Microsoft. Microsoft hat mit Novell [5][6] ein gegenseitiges Patentabkommen geschlossen welches Novell und seine Kunden vor Rechtsansprüchen Microsofts schützt. Dieses beinhaltet auch einen Patentschutz für Mono[7][8][9]. Für (fast) alle anderen Nutzer besteht das Risiko jedoch weiterhin.
Die grundlegenden Technologien sind teilweise durch Microsoft bei Ecma International und der ISO standardisiert worden. Microsoft garantiert eine Lizenzierung der ECMA-Teile auf RAND-Basis. Andere Teile, wie zum Beispiel Windows Forms, ADO.NET, und ASP.NET sind hiervon jedoch ausgeschlossen.
Das Open Invention Network verteidigt Mono bei patentrechtlichen Auseinandersetzungen.
Siehe auch
- MonoDevelop, eine Entwicklungsumgebung auf Basis von Mono für Linux.
- SharpDevelop, eine Open-Source-Entwicklungsumgebung für Windows, aus deren Quellcode MonoDevelop entstand.
- C#, die primäre Mono-Sprache.
- DotGNU
- Portable.NET
Literatur
- Edd Dumbill, Niel M. Bornstein: Mono. A Developer's Notebook. O'Reilly, Beijing, Köln 2004. ISBN 0-596-00792-2
- Kaan Candar: MONO .NET goes Linux. Franzis-Verlag, Deutschland, Dezember 2007. ISBN 978-3-7723-7105-9
Einzelnachweise
- ↑ github.com.
- ↑ mono-6.12.0.184.
- ↑ The mono Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
- ↑ .NET-Klon Mono in Version 2.0 erschienen – Artikel bei heise online, vom 6. Oktober 2008
- ↑ Golem.de Newsmeldung: Microsoft kündigt Linux-Unterstützung an
- ↑ Heise.de-Newsmeldung über das Patentabkommen
- ↑ Joint letter to the Open Source Community From Novell and Microsoft
- ↑ FAQ zur Zusammenarbeit zwischen Microsoft und Novell
- ↑ Golem.de Newsmeldung: Microsoft und Novell: Der Pakt im Detail
Weblinks
- Webseite des Projekts (englisch)
- ECMA-334-Spezifikation (englisch)
- ECMA-335-Spezifikation (englisch)
- Entwicklung einer Java-VM für .NET (englisch)
- Deutsche Mono Community
- Deutschsprachiges Mono Virtual VMWare Image
- Mono LiveCD