GNOME, Mono und Moonlight-Gründer Miguel de Icaza bei einer Bootsfahrt über den Bosporus am Rande der GUADEC in Istanbul.

Foto: Andreas Proschofsky

Miguel de Icaza ist eine der profiliertesten Personen in der Open Source-Community, gemeinsam mit seinem Studienkollegen Federico Mena Quintero hat er im Jahr 1997 das GNOME-Projekt gegründet, das den Linux-Desktop - neben KDE - bis heute maßgeblich prägt. Den Großteil seiner Entwicklungstätigkeit konzentriert de Icaza aber bereits seit 2001 auf ein anderes Projekt: Mit Mono soll eine vollständig freie Implementation von Microsofts .Net-Framework entstehen. Ein Unterfangen, dass er damals noch bei seiner eigenen Firma Ximian begonnen hat, und mittlerweile als Vizepräsident bei Novell leitet. Erst vor wenigen Monaten kam dann ein weiteres Aufgabengebiet zu seinen Agenden hinzu: Die Entwicklung von Moonlight, einer freien Implementation von Microsofts Flash-Konkurrenten Silverlight, ein Unterfangen, das mittlerweile von Microsoft selbst offiziell unterstützt wird.

Am Rande der GNOME Users and Developers Conference (GUADEC) in Istanbul hatte Andreas Proschofsky die Möglichkeit ein Interview mit de Icaza zu führen. In diesem geht er nicht nur auf künftige Entwicklungen bei Mono und der freien Silverlight-Variante Moonlight ein, sondern spekuliert auch über eine eventuelle Freigabe von .Net als Open Source und plaudert über die veränderte Haltung von Microsoft gegenüber freier Software.

Das folgende Interview gibt es auch im englischsprachigen Original.

derStandard.at: Wann wird Mono 2.0 veröffentlicht?

Miguel de Icaza: Mono 2.0 ist jetzt bereits seit rund drei Jahren in der Entwicklung, und am Montag [14. Juli, Anm. apo] werden wir den Branch für die fertige Version vornehmen. Danach wird es die üblichen zwei Monate an Tests geben - Q&A, das Überprüfen der Pakete, der Installation und das Beseitigen der wichtigsten Fehler. Eine Veröffentlichung sollte also im September folgen, zuvor wird es Release Candidates geben. Nach der ersten Release wird es dann regelmäßige Updates geben - Mono 2.2, 2.4, 2.6... - ungefähr alle drei Monate eines.

derStandard.at: Ist das ein Umstellen auf einen zeitbasierten Release-Zyklus?

de Icaza: Beinahe. Nachdem wir jetzt das 2.0 API vollständig abdecken, werden wir uns einzelne Features gezielt vornehmen, Ende des Jahres wollen wir zum Beispiel die Arbeit am Compacting GC (Garbage Collector) wieder aufnehmen, wenn alles gut geht, wird dieser dann Teil von Mono 2.6. Anstatt dass das ganze Team wie bisher über verschiedenste Projekte aufgeteilt ist, werden wir also künftig ein spezifisches Feature gemeinsam angehen - ein anderes Beispiel wäre das Update auf Windows.Forms 3.5. So gut wie es eben geht - gut die Hälfte der Entwickler wird sich wohl weiterhin um Wartungsaufgaben kümmern müssen.

derStandard.at: Werden Sie künftig .Net 3.5 vollständig unterstützen?

de Icaza: Das Problem bei 3.5 ist, dass es 3.0 beinhaltet, wo Microsoft einiges eingebaut hat, das nicht wirklich .Net ist, sondern nur darauf basiert. So haben wir etwa keine Pläne die Windows Presentation Foundation (WPF) zu unterstützen, das ist einfach nicht drinnen. Das ist schlicht eine Nummer zu groß für mein Team. Was wir aber machen können ist Silverlight in eine Art "WPF light" zu verwandeln, was es ja auf gewisse Weise auch ist. Wir wollen also sicherstellen, dass es auch außerhalb des Browser läuft.

derStandard.at: Was ist mit dem Rest von .Net 3.5?

de Icaza: An der WCF (Windows Communication Foundation) arbeiten wir, wenn auch recht langsam. Auch ist WCF nicht unbedingt eine sonderlich performante Lösung, alle die etwas wirklich flottes haben wollen, verweisen wir insofern lieber auf ICE von ZeroC (oder die Google Protocol Buffers).

derStandard.at: Als wir das letzte Mal gesprochen haben, sind Sie für eine Intensivierung der Partnerschaft mit Microsoft eingetreten, gibt es in diesem Bereich Fortschritte?

de Icaza: Ja. So hat Microsoft im vergangenen September ein Abkommen unterzeichnet, mit dem sie Moonlight - unsere eigene freie Implementierung von Silverlight - offiziell absegnen. Dadurch bekommen wir nicht nur die ganzen Spezifikationen, wir können sie bei technischen Fragen auch direkt kontaktieren. Und was ebenfalls bislang einmalig ist: Microsoft wird künftig ein "Media-Pack"-Add-on für Moonlight ausliefern. Darin sind dann alle Audio- und Video-Codecs enthalten, die Silverlight benutzt, also etwa für MP3, VC1 oder WMV. Wir bieten also Moonlight an und sie die zugehörigen Codecs - vollständig legal.

derStandard.at: Wird es dieses Angebot für alle Distributionen geben oder nur für openSUSE?

de Icaza: Für alles Distributionen, und noch dazu in Versionen für x86, x86_64 und PowerPC. Zusätzlich wird es auch Binaries für die verschiedenen BSD-Versionen und Solaris geben - sowohl auf SPARC- als auch auf Intel-CPUs.

derStandard.at: Wird Mono eines Tages zum offiziellen .Net unter Linux werden?

de Icaza: Das hoffe ich. Es könnte ja auch so kommen, dass Microsoft eines Tages .Net freigibt, wie es Sun mit Java gemacht hat - das ist immer eine Möglichkeit. Ich weiß natürlich nicht wie real diese Möglichkeit wirklich ist, aber es ist denkbar. Bis dahin denke ich sind wir auf dem besten Weg eine brauchbare .Net-Implementierung zu werden.

Was vielleicht in diesem Zusammenhang ganz interessant ist: Mit Moonlight 1.0 konzentrieren wir uns auf die Grafik-Engine, Video und solche Sachen. Mit Moonlight 2.0 werden wir aber erstmals Mono integrieren. Und ein Teil des Abkommens mit Microsoft ist, dass wir Zugang zu ihren eigenen Kompatibilitätstests haben, so können wir dann sicherstellen, dass unsere Implementierung auch korrekt arbeitet. Das beinhaltet die Test für die Klassenbibliotheken und für die Common Language Runtime (CLR). Damit können wir zumindest garantieren, dass jene Mono-Teile, die in Moonlight zum Einsatz kommen, 1:1 wie bei .Net arbeiten.

derStandard.at: Gibt es auch Zugriff auf weitere Dokumentationen von Microsoft?

de Icaza: Momentan fehlt uns hier eigentlich nichts. Normalerweise arbeiten wir so, dass wir unsere eigenen Entwicklungen anhand der offen auf Microsofts Webseite dokumentierten Programmierschnittstellen (APIs) vornehmen. Von Zeit zu Zeit kann es halt vorkommen, dass die Dokumentation nicht wirklich brauchbar ist - das sind dann die schwierigen Fälle, bei denen man um "Trial and Error" nicht herum kommt.

derStandard.at: Rein hypothetisch: Falls Microsoft .Net tatsächlich unter einer Open-Source-Lizenz veröffentlichen würde, was würde dann mit Mono passieren?

de Icaza: Nun man kann ja schon jetzt den Source Code der Klassenbibliotheken bekommen, aber das ist halt Microsofts "anschauen aber nicht anfassen"-Lizenz. Insofern ist sie natürlich nicht wirklich "offen", man kann das Ganze nicht weiterverbreiten und schon gar nicht in Mono integrieren - das ist nicht gestattet.

Das ist natürlich reine Spekulation, aber würde .Net tatsächlich Open Source werden, gäbe es wohl nicht mehr sonderlich viele Gründe für die Mono-Kernteile weiter zu bestehen. Vielleicht würde man in gewissen Bereichen eine unsere Bibliotheken vorziehen, aber sicher nicht den gesamten Kern. Allerdings hat das Mono-Projekt eine Vielzahl von eigenen APIs erzeugt, die über den Kern von .Net hinausgehen, diese würden auch dann weiterbestehen. Also etwa GTK#, die Mono-Addins, Mono.Zeroconf, Ndesk.Options, Dbus# und all diese Sachen.

Viel würde auch von der konkreten Lizenz, die Microsoft für so einen Schritt verwenden würde, abhängen, trotzdem gäbe es wohl einige Fällen in denen Teile von Mono besser wären. So portieren wir die Software gerade auf die Nintendo Wii, damit sie zur Spieleentwicklung eingesetzt werden kann, auch mit anderen Konsolenherstellern sind wir bereits im Gespräch. Auch wird Mono im Embedded-Bereich eingesetzt, etwa bei digitalen Radios und MP3-Playern, weil man Mono sehr gut auf ein richtig kleines Binary reduzieren kann. Wenn .Net also Open Source wäre, wäre Mono in all diesen Bereichen noch immer recht nützlich.

Allerdings glaube ich nicht wirklich daran, dass sie .Net zu Open Source machen.

derStandard.at: Microsoft hat vor einigen Monaten versprochen künftig "offener" zu werden, ist das ihrer Meinung nach ernst gemeint?

de Icaza: Auf jeden Fall. Über eine Öffnung und eine Verbesserung der Interoperabilität haben sie ja seit Februar gesprochen, und schon bei der Mix-Konferenz im März konnten man beobachten, wie sie tatsächlich wesentlich mehr über eine Zusammenarbeit mit der Community, offene Spezifikationen und all diese Sachen gesprochen haben. Im Rahmen unserer regelmäßigen Treffen war ich dann erst vor einigen Wochen bei Microsoft, und hatte dabei die Chance nicht nur mit dem Management sondern auch mit einzelnen Entwicklern zu reden. Und was dabei wirklich interessant war: Die Message scheint wirklich angekommen zu sein. Ich weiß nicht, inwieweit sie das intern aktiv fördern, aber in den letzten sechs Monaten hat es eine deutliche Veränderung innerhalb von Microsoft gegeben.

derStandard.at: Mit all dem verstärkten Fokus auf Moonlight: Wurden hierfür Leute vom Mono-Team abgezogen, oder ist das eine vollständig neue Gruppe?

de Icaza: Das ist eine neue Gruppe innerhalb von Novell. Mein Team ist in den letzten eineinhalb Jahren von 30 auf 40 Leute angewachsen, der Großteil der Neueinstellungen ist zu Moonlight gewandert. Mit 15 Personen, die derzeit an Moonlight arbeiten, sind also der Großteil Neuzugänge.

derStandard.at: Zurückkommend auf die von Microsoft gelieferten Codecs. So weit ich das sehe, gilt das nur für Programme, die im Browser laufen, oder?

de Icaza: Ja das stimmt. Microsofts Position dabei ist, dass sie zwar gerne die Codecs abliefern, um der Verbreitung von Silverlight zu helfen, aber nicht die Lizenzkosten für alle Linux-Desktop-Benutzer übernehmen wollen - immerhin müssen dafür direkt an die MPEG LA und andere Gruppen zahlen.

derStandard.at: Das Ganze wird in einem separaten Paket erhältlich sein?

de Icaza: Ja, wir versuchen die Installation so einfach wie möglich zu machen, aber es ist ein Microsoft-Produkt und entsprechend wird es wohl auch über die Microsoft-Webseite ausgeliefert werden.

derStandard.at: Wird es möglich sein, das direkt mit Distributionen auszuliefern?

de Icaza: Das glaube ich nicht. Um genau zu sein, bin ich mir eigentlich ziemlich sicher, dass das nur über die Microsoft-Seite erreichbar ist, auch wenn ich mich nicht an die exakte Formulierung erinnern kann.

derStandard.at: Was für Ziele streben Sie derzeit mit Moonlight an?

de Icaza: Zunächst wollen wir einmal Moonlight 1.0 fertig bekommen, immerhin ist es das, was momentan auch wirklich eingesetzt wird. Technisch gesehen ist das einfach ein Canvas mit Multimedia-Fähigkeiten - all das durch Javascript ansprechbar. Es sind also Firefox, IE oder Opera, die über ihre Scripting-Fähigkeiten das Plugin steuern.

Ursprünglich wollten wir uns nur Silverlight 2.0 vornehmen, aber es hat sich herausgestellt, dass wir auf dem Weg dorthin 1.0 praktisch "gratis" bekommen haben, weil 2.0 eigentlich 1.0 + .Net ist. Entsprechend werden wir Moonlight 1.0 in den nächsten Monaten fertig stellen. Schon jetzt fallen wir nur mehr bei einem der Tests in der Microsoft Test-Suite durch. Allerdings gibt es noch Probleme mit einigen real existierenden Webseiten, was wohl auch dafür spricht, dass die Tests nicht alles abdecken. Auf solche Probleme konzentrieren wir uns derzeit.

Zeitgleich arbeitet ein anderer Teil unseres Teams bereits seit einiger Zeit an den Silverlight 2.0 Features - allerdings nur solche, die nicht den Kern von Moonlight betreffen. Dinge wie eine Sicherheits-"Sandbox", Anstrengungen die Virtual Machine und den Netzwerk-Stack robuster zu machen. Diesen Weg haben wir gewählt, weil wir 1.0 nicht vor seiner Auslieferung noch unnötig destabilisieren wollen.

derStandard.at: Werden Sie es schaffen Moonlight 2.0 in absehbarer Zeit fertig zu stellen?

de Icaza: Ja, in neun Monaten sollten wir so weit sein. Zur Erinnerung: 2.0 ist zu einem großen Teil Mono und Mono hat bereits jetzt praktisch alle der benötigten Features. Ein großer Teil der Arbeit ist nun in Sicherheitsverbesserungen geflossen, um zu verhindern dass Mono nicht abstürzt, wenn bösartiger Code über das Web kommt. Sonst gibt es auch noch einige Dinge, die wir umschreiben müssen, etwa das Layout-Management.

Aber es gibt auch wirklich erfreuliches zu berichten: Microsoft hat alle die High-Level-Kontrollen -Knöpfe, der Scrollbar, die Listenansicht und so weiter - unter der MS-PL als Open Source veröffentlicht. Das hilft direkt der Moonlight-Entwicklung, da es weniger Arbeit für uns bedeutet. Und es hilft anderen Entwicklern, da sie sehen können, wie das ganze implementiert ist, und daraus lernen können.

derStandard.at: Moonlight ist ja nun die offiziell abgesegnete Linux-Version von Silverlight, bedeutet das auch, dass Microsoft die Entwicklung finanziell unterstützt?

de Icaza: Nein, das ist zu hundert Prozent Novell.

derStandard.at: Allgemeiner: Warum eigentlich überhaupt Silverlight unterstützen?

de Icaza: Ich kann dafür zwei unterschiedliche Erklärungen liefern, eine aus Hacker-Sicht, eine aus einer Geschäftsperspektive. Als Hacker finde ich Silverlight einfach unglaublich interessant - man bekommt C#, man bekommt eine Dynamic Language Runtime (DLR), man bekommt eine fantastische Grafik-Engine mit großartigen Animationsmöglichkeiten, man bekommt Video, Audio, Mehrsprachen-Support und vieles mehr. Und ich bekomme eine Sprache mit einem Just-in-time-Compiler, eine statische Sprache mit dynamischen Features, die Javascript jederzeit schlägt.

Aus einem Business-Blickwinkel möchten wir einfach sicher stellen, dass Linux weiterhin alles im Web benutzen kann. Wenn immer mehr Seiten Silverlight benutzen, wollen wir nicht, dass Linux hier ausgesperrt bleibt. Alleine schon dadurch, dass Silverlight von Microsoft entwickelt wird, wird es auch einen gewissen Marktanteil haben.

derStandard.at: Aber unterstützt man damit nicht erst recht den Erfolg von Silverlight und treibt den Einsatz von proprietären Technologien voran?

de Icaza: Das ist es, was einem manche Leute einreden wollen, aber ich denke das ist nicht der Fall. Linux am Desktop ist einfach noch immer eine Randerscheinung. Wenn man davon ausgeht, dass es zur Durchsetzung von Technologien reicht, die Linux-Desktop-Leute glücklich zu machen, dann hat man denn Sinn für reale Gegebenheiten verloren.

Wie viele Leute außerhalb von Technologie-Zirkeln wissen denn überhaupt von der Existenz von Linux? Und sogar die Mozilla-Leute selbst - die Keynote hier wurde auf einem Mac durchgeführt, jeder einzelne Mozilla-Entwickler benutzt einen Mac. Und da ist es ja irgendwie lustig, wenn sie dauernd Flash und Silverlight angreifen, und dann alle proprietäre Betriebssysteme verwenden - damit haben sie offenbar kein Problem. Sie hatten ja auch diese Guiness-Rekord-Sache rund um den Launch von Firefox 3 - und dann geht man da auf die Webseite und da ist eine Flash-Grafik, die anzeigt, wo der Browser heruntergeladen wird - hier werden doch unterschiedliche Maßstäbe angelegt. Und das nachdem sie dauernd betonen, dass man doch das alles ohnehin mit AJAX durchführen kann - hier lässt man den Worten einfach keine Taten folgen.

derStandard.at: Aber ist die Message von Mozilla nicht eher, dass man in diese Richtung gehen will? Sachen wie der HTML5-Video-Support stehen ja erst am Anfang.

de Icaza: Das stimmt natürlich. Aber sie behaupten ja selbst, dass es in so einer Situation das Richtige wäre, all die nicht-offenen Technologien zu boykottieren - und dann ist sogar das Download-Widget für den Firefox Flash-basiert. In Wirklichkeit haben sie doch gar kein Problem mit Flash, all diese Vorbehalte scheinen sie nur zu haben, wenn es um Microsoft-Technologien geht.

derStandard.at: Könnten nicht trotzdem die HTML5-Erweiterungen, Javascript 2.0 und all diese Sachen trotzdem in Zukunft eine gute - und freie Alternative zu Silverlight sein?

de Icaza: Das könnte durchaus sein, und ich bin mir auch sicher, dass das für einige Leute großartig wäre, aber eben nicht für alle. Ich will zum Beispiel meine Anwendungen einfach nicht in Javascript entwickeln. Es ist a) langsam, b) furchtbar und c) Spaghetti-Code. Es gibt sicher Leute, die das mögen, aber ich gehöre nicht dazu. Und solange Mozilla nicht gewillt ist C# oder eine andere vernünftige Sprache im Browser zu unterstützen, wird diese Lücke von anderen Unternehmen genutzt werden.

Wenn es um neue Technologien im Browser geht, haben Plug-Ins ohnehin einen "natürlichen" Vorteil im Vergleich zum Versuch alle Browser-Hersteller zur Unterstützung zu bringen. Im konkreten Fall Flash und Silverlight.

Zum Beispiel: Der momentane Mozilla-Ansatz ist "ihr müsst unseren Browser benutzen", wenn man dann also etwa mit SVG arbeiten will, entscheidet man sich dafür den Internet Explorer auszusperren. Das ist ein Verhalten, das auf die Zeit der Browser-Kriege zurückfällt, das die Entwickler auf einen Browser beschränkt. Ein anderer Ansatz ist es Plug-Ins zu verwenden, und der Vorteil dabei ist, dass man nicht an einzelnes Produkt gebunden ist, und das Entwickler die selben APIs auf eine wirklich Plattform- und Browser-übergreifende Art anbieten können.

Indem wir Moonlight, eine Open Source-Implementation von Silverlight, unter der LGPL und als getestete Implementation zur Verfügung haben, können wir sicherstellen, dass es sowohl offen als auch überall dort verfügbar ist, wo es benötigt wird.

derStandard.at: Sie haben davon gesprochen Silverlight / Moonlight auch für den Desktop einzusetzen, wird daran bereits konkret gearbeitet oder ist das nur Zukunftsmusik?

de Icaza: Das machen wir bereits bei einigen Projekten. Lunar Eclipse ist unser eigener Silverlight-Designer für Linux und dieser ist zur Gänze als Silverlight-Anwendung gebaut. Die Idee dahinter ist sowohl eine Web- als auch eine Desktop-Version zu haben. Außerdem haben wir die Moonlight Desklets entwickelt, etwas vergleichbares zu Apples Dashboard.

Zugleich versuche ich Leute davon zu überzeugen, dass wir diverse Teile des Desktops in Moonlight neu gestalten müssen, um aufwändigere, hübschere User-Interfaces zu ermöglichen, die von Designern in Programmen wie Inkscape oder Blender entworfen werden können.

derStandard.at:Auf welche Teile beziehen Sie sich konkret?

de Icaza: Ich denke der ganze Desktop könnte eine Erneuerung des Look & Feels gebrauchen. Realistisch gesehen, können wir natürlich nicht alles machen - das würde Jahre brauchen. Wenn ich also zu wählen hätte, würde ich wohl damit anfangen, das GNOME Panel in Moonlight neu zu gestalten. Einen File Manager würde ich hingegen wohl vorerst nicht machen, auch wenn es hier sicher einige Verbesserungsmöglichkeiten für den Nautilus gäbe, aber das wäre einfach zu viel Arbeit.

Sonst würde ich vor allem bestehende Anwendungen "aufpolieren", Moonlight in einzelnen Bereichen verwenden. F-Spot könnte etwa einen Moonlight-basierte Photo-Ansicht gut brauchen, mit der man Bilder visuell einfacher organisieren kann, Sachen, die mit dem klassischen Icon-basierten Interface nur schwer umzusetzen sind. Sogar Evolution könnte man erweitern, indem man etwa grafisch aufbereitet, wann welche Mails gekommen sind. Und natürlich könnte man den Kalender wesentlich hübscher gestalten.

(Andreas Proschofsky, derStandard.at, 03.08.2008)