Microsoft und Open Source

Vom Saulus zum Paulus

18.02.2009
Von Markus Franz

Singularity: Das freiere Windows

Neben den vielen freien Projekten rund um die .NET-Plattform arbeitet Microsoft an weiteren interessanten Initiativen. Besonders zu erwähnen ist dabei das Betriebssystem Singularity, das als Konzeptstudie bei Microsoft Research seit dem Jahr 2003 entwickelt wurde. Ideen und Lösungen aus diesem Projekt sollen später in Microsoft Windows einfließen. Grundsätzlich ist es aber beeindruckend, dass Microsoft erstmals ein komplettes weiteres Betriebssystem entwickelt und noch dazu im Quellcode freigibt: Singularity steht seit März 2008 zum Download auf CodePlex bereit und ist nur etwa 56 MB groß.

Das Betriebssystem kann im nicht-kommerziellen und akademischen Bereich völlig frei eingesetzt werden, die kommerzielle Nutzung ist jedoch verboten. Grundkonzept des von Singularity ist es, wo immer möglich auf Managed Code zu setzen. Diese Idee, die schon das .NET-Framework erfolgreich gemacht hat, stellt zur Laufzeit eine hohe Systemsicherheit bereit und ermöglicht ein hocheffizientes System, das sparsam mit Ressourcen umgeht. Den bisher recht monolithischen Windows-Kernel hat man durch einen schlanken Microkernel ersetzt, der als einzige Komponente des neuen Systems als kompilierte Anwendung für die jeweilige Prozessorachitektur vorliegt. Kernel, Treiber und zusätzliche Tools sind alle in Managed Code - vorzugsweise einer .NET-Sprache - geschrieben und liegen für die Common-Language-Runtime vor.

Die sogenannten Software-isolated Processes trennen so weit wie mögliche alle Prozesse des Systems voneinander, sodass eine extrem hohe Sicherheit herrscht. Buffer Overflows oder Viren und Trojaner werden es auf Singularity zumindest ein Stück schwerer haben. Singularity ist bisher aber ein reines Forschungsprojekt, es gibt noch keine grafische Oberfläche. Das System selbst ist in Assembler, C# und Sing# geschrieben - letzteres ist eine spezielle Abwandlung von Spec#, das sich widerum an C# und C++ anlehnt. Selbst nach der viel beachteten Freigabe im März 2008 entwickelt Microsoft das Projekt auf CodePlex weiter - erst kürzlich ist die Version 2.0 des Singularity Research Development Kit erschienen.

Kostenloses Content Management

Neben dem Betriebssystem und der .NET-Plattform als eierlegende Wollmilchsau für Anwendungen jeder Art veröffentlicht Microsoft auch komplette Tools für die Open-Source-Gemeinde. Dazu gehört unter anderem das Projekt Oxite, das auf CodePlex kostenfrei heruntergeladen werden kann. In nur knapp 1200 KB bündelt Microsoft eine Plattform für Blogging, die es durchaus mit etablierten Blogging- oder Content-Management-Systemen im Web 2.0 aufnehmen kann. Der Quellcode steht mit der MS-PL unter der Lizenz mit den geringsten Verpflichtungen für alle Seiten - also ein richtiges Open-Source-Projekt von Microsoft.

Wer heute einen Blog startet, muss sich mit einer Vielzahl von unterschiedlichen Standards und Protokollen auseinandersetzen: Pingbacks und Trackbacks, Unterstützung für den Austausch von Inhalten über RSS-Feeds, Support für das Open-Search-Format und die Integration mit externen Tools, über die Inhalte eingestellt werden können (externe Blogging Services). Gleichzeitig sollte die Blog-Software mehrere Blogs gleichzeitig hosten können, um unnötigen Administrationsaufwand zu vermeiden. Oxite bietet alle diese Features, die komplett in einer integrierten ASP.NET-Software umgesetzt wurden. Erstaunlich genau hält sich Microsoft an etabliere Standards und versucht gar nicht erst, neue eigene Konzepte zu etablieren. Im Hintergrund setzt Microsoft ebenfalls auf moderne Technik: Das Model-View-Controller-Konzept wurde mit ASP.NET-MVC konsequent bei Oxite umgesetzt. Dieses Architekturmodell fordert eine strickte Trennung zwischen den Daten, deren Präsentation und der Steuerung. Besonders Entwickler, die mit PHP und dem Zend-Framework oder Java Server Faces vertraut sind, finden sich so schnell in Oxite zurecht und können das System einfach anpassen.

Oxite hat durchaus das Potential, sich als Standardlösung für Blogging in der ASP.NET-Umgebung zu etablieren. Was WordPress auf PHP geschafft hat, kann Microsoft hier auf der hauseigenen Technologie noch schneller gelingen, weil Oxite ein richtiges Open-Source-Projekt ist. Das eigene Angebot Mix Online (http://visitmix.com/) arbeitet bereits mit Oxite, ebenso einige kleine andere Weblogs. Auf den großen Belastungstest muss man allerdings noch warten.