Mono öffnet Windows für Linux

19.09.2002
Von 


Wolfgang Miedl arbeitet Autor und Berater mit Schwerpunkt IT und Business. Daneben publiziert er auf der Website Sharepoint360.de regelmäßig rund um Microsoft SharePoint, Office und Social Collaboration.
MÜNCHEN (COMPUTERWOCHE) - Microsoft und Linux, die beiden Begriffe stehen bisher für zwei Antipoden in der IT-Welt. Doch mit .NET könnte das alles anders werden. Die Projekte Mono, Rotor und Portable .NET übertragen die Microsoft-Plattform auf Nicht-Windows-Systeme und sollen den Traum einer universellen Kompatibilität wahr machen.

Vor allem Mono hatte im letzten Jahr für Aufsehen gesorgt - und Teile der Open-Source-Gemeinde gar vorübergehend in Rage gebracht. Kein geringerer als Miguel de Icaza, der Initiator des Gnome-Desktops für Linux, hatte .NET als zukunftsträchtige Technologie bezeichnet, die er voll unterstützen werde. Neben Mono existieren noch andere Projekte, die .NET portieren. Eines davon wurde von Microsoft selbst ins Leben gerufen.

.NET-Clones als Open-Source

Im Auftrag der Redmonder entwickelt Corel "Rotor". Es handelt sich dabei um eine „Shared-Source“-Variante der „Common Language Infrastructure“ (CLI). Ein weiteres Open-Source-Projekt mit der Bezeichnung "Dotgnu Portable .NET verfolgt ähnliche Ziele wie Mono. All diesen „.NET-Clones“ ist gemeinsam, dass sie auf der öffentlich zugänglichen CLI basieren, die Microsoft wie die .NET-Programmiersprache C# der ECMA zur Standardisierung vorgelegt hat. In der Theorie können damit alle Programme, die in einem CLI-kompatiblen IL-Bytecode (IL = Intermediate Language) vorliegen, auf beliebigen Plattformen zum Laufen gebracht werden. Windows ist hierzu nicht notwendig.

Das Ziel von Mono ist, die zentralen Bestandteile von Microsofts .NET-Framework auf andere Plattformen zu übertragen. Im Idealfall laufen dann .NET-Anwendungen auf jedem Betriebssystem, für das es eine Mono-Version gibt. Mono bietet derzeit eine virtuelle Laufzeitumgebung für die Intel-x86-Architektur auf Basis der CLI, die einen Class-Loader, einen Just-in-Time-Compiler und eine Garbage-Collection-Runtime enthält. Dazu kommt eine Klassenbibliothek, die jede CLR-Programmiersprache (CLR = Common Language Runtime) unterstützt, sowie ein C#-Compiler, der die neue Microsoft-Programmiersprache unter Linux bereitstellt. Bisher wurden bereits über 500000 Zeilen Code geschrieben. Im aktuellen Entwicklungsstadium können unter Linux bereits C#-Konsolenprogramme entwickelt und kompiliert werden - diese laufen sowohl unter Linux als auch unter Windows, sofern dort das .NET-Framework installiert wurde. Bisher konzentrieren sich die Mono-Macher auf die Intel-Linux-Plattform, eine

Power-PC-Variante ist ebenfalls in Arbeit.