Mono (Projekt)

Mono (Projekt)
Mono-Projekt
Entwickler: Novell
Aktuelle Version: 2.4
(30. März 2009)
Betriebssystem: Unix, GNU/Linux, BSD-Derivate, Microsoft Windows, Mac OS X und Solaris 8
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. Dafür muss jedoch beachtet werden, welcher .NET Version welche Mono Version gegenüber steht, da diese einen unterschiedlichen Entwicklungsstand ausweisen. Auf Basis von .NET 3.0 oder .NET 3.5 entwickelte Anwendungen können derzeit beim Einsatz von Mono wegen noch nicht implementierter Funktionen und Techniken nicht lauffähig sein. Dies wird nur dadurch erforderlich, weil Microsoft .NET nur für das eigene Betriebssystem anbietet.

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.

Inhaltsverzeichnis

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 proprietären und Quell-offenen Programmen verwendet. Es gibt eine gemeinsame Schnittmenge zwischen Mono und .NET, die schwankt. Zum einen entwickelt sich .NET fortwährend weiter und erweitert sein Framework, und zum Anderen implementiert Mono laufend neue Elemente von .NET. Zudem hat das Mono-Projekt Elemente in seinem Framework, die nicht in .NET zu finden sind (zum Beispiel GTK#). Das heißt, sowohl der Weg von Mono zu .NET als auch umgekehrt kann zu Problemen führen. Für den Weg von .NET zu Mono hat das Mono-Projekt das Tool (Entwicklerwerkzeug) MoMA bereitgestellt um die Kompatibilität zu testen. Es ist möglich einzelne .dll zwischen den Projekten zu übertragen.

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.[1]

Standardisierung und Patente

Teile der Klassenbibliothek berühren möglicherweise Softwarepatente der Firma Microsoft. Microsoft hat mit Novell [2][3] ein gegenseitiges Patentabkommen geschlossen welches Novell und seine Kunden vor Rechtsansprüchen Microsofts schützt. Dieses beinhaltet auch einen Patentschutz für Mono[4][5][6]. Für (fast) alle anderen Nutzer besteht das Risiko jedoch weiterhin. Die Sicht der Entwickler auf das Problem brachte Torvalds auf dem Punkt, als er sich durch Patentansprüche von SCO mit dem Thema konfrontiert sah: „Ich achte prinzipiell nicht auf Patente, denn das wäre Zeitverschwendung.“[7] Nicht ohne Grund sind Softwarepatente höchst umstritten und in der EU formal nicht gestattet.

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

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

  1. .NET-Klon Mono in Version 2.0 erschienen – Artikel bei heise online, vom 6. Oktober 2008
  2. Golem.de Newsmeldung: Microsoft kündigt Linux-Unterstützung an
  3. Heise.de-Newsmeldung über das Patentabkommen
  4. Joint letter to the Open Source Community From Novell and Microsoft
  5. FAQ zur Zusammenarbeit zwischen Microsoft und Novell
  6. Golem.de Newsmeldung: Microsoft und Novell: Der Pakt im Detail
  7. Heise, 18. Juni 2003 15:45, SCO greift Linus Torvalds an, http://www.heise.de/newsticker/SCO-greift-Linus-Torvalds-an--/meldung/37736

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Mono-Projekt — Entwickler Xamarin (zuvor Novell) Aktuelle Version 2.10.6 (14. Oktober 2011) …   Deutsch Wikipedia

  • Mono — (von altgriechisch μόνος monos „allein“, „einzig“) steht für: ein Präfix bei Fremdwörtern, um die Einzahl anzuzeigen; siehe Liste griechischer Wortstämme in deutschen Fremdwörtern Monophonie (Elektroakustik), in der Audiotechnik eine… …   Deutsch Wikipedia

  • Mono Puff — ist eine US amerikanische Alternative Band, Solo Projekt von John Flansburgh, einem der beiden Gründungsmitglieder der Band They Might Be Giants. Auch bekannt als John Flansburgh s Mono Puff. Inhaltsverzeichnis 1 Diskografie 1.1 Alben 1.2 EPs …   Deutsch Wikipedia

  • Rotor-Projekt — Die CLI (Common Language Infrastructure) ist ein ISO/IEC/ECMA Standard, der Systeme spezifiziert, die sprach und plattformneutrale Anwendungsentwicklung und ausführung ermöglichen. Momentan aktuell ist die Version 4 des Standards vom Juni 2006.… …   Deutsch Wikipedia

  • The Beatles in Mono — Kompilationsalbum von The Beatles Veröffentlichung 9. September 2009 Label Apple, EMI/ …   Deutsch Wikipedia

  • Monaural — Mono (v. griech. monos „allein“, „einzig“) steht für: ein Präfix bei Fremdwörtern, um die Einzahl anzuzeigen; siehe Liste griechischer Wortstämme in deutschen Fremdwörtern Monophonie (Elektroakustik), in der Audiotechnik eine einkanalige Aufnahme …   Deutsch Wikipedia

  • .NET-Framework — Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • .NET-Klassenbibliothek — NET Framework Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • .NET 3.0 — NET Framework Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • .NET Framework — Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”