"Kooperation von .Net und Mono hätte Teil des Abkommens sein sollen"

19. Oktober 2007, 10:04
4 Postings

Mono-Gründer Miguel de Icaza im Interview über die Zukunft der freien .Net-Alternative, den Microsoft/Novell-Deal und einen auf C# basierten Desktop

Das Mono-Projekt versucht seit dem Juli 2001 eine freie Alternative zu Microsofts .Net zu bieten und die Vorzüge des Frameworks auch Nicht-Windows-BenutzerInnen verfügbar zu machen. Im Jahr 2004 folgte schließlich die Version 1.0, seit wenigen Monaten ist Mono 1.2 erhältlich. Ins Leben gerufen wurde das Projekt von Miguel de Icaza, mit ihm sprach Andreas Proschofsky über die Zukunft von Mono, die Konkurrenz und den Microsoft-Deal.

Anm.: Das Interview gibt es auch im englischen Original.

derStandard.at: Seit dem wir das letzte Mal gesprochen haben, wurde nun endlich Mono 1.2 veröffentlicht - mehr als zwei Jahre nach der Version 1.0 und einiges hinter dem ursprünglichen Zeitplan. Sind SIe sicher, dass sich die Version 2.0 diesmal etwas genauer an den Zeitplan hält?

Miguel de Icaza: Nur der Tod und die Steuer sind sicher im Leben.

Momentan widmen wir uns zum Teil dem, was einmal Mono 2.0 heißen soll. Dabei wird die ASP-Net-Seite ein Stück vor der Windows.Forms-Unterstützung fertig sein.

Bisher versuchen wir die Mono-Versionsnummer ungefähr denen der entsprechenden .Net-Releases anzupassen, es scheint aber, dass dies eine schlechte Langzeitstrategie sein könnte. Schließlich werden wird die Unterstützung für C# 3.0 schon eine ganze Zeit, bevor es das Äquivalent zu .Net 3.0 für Mono geben wird, bieten können.

derStandard.at: Was für konkrete Verbesserungen sind für die nächste Major Release geplant?

Miguel de Icaza: In Hinblick auf das API werden wir den Kern der Software und ASP.NET als .Net 2.0-Implementation fertig stellen. Andere Teile wie Windows.Forms 2.0 werden mit einer späteren Release nachgeliefert.

Zusätzlich gibt es drei große Neuerungen außerhalb des API-Bereichs:

  • Den Mono-Debugger
  • Den Stetic GUI-Designer
  • Die Version 1.0 der MonoDevelop-Entwicklungsumgebung

Ein interessantes Detail daran ist, dass wir all dies in der Version 1.0 von MonoDevelop zusammenführen werden. Einige Entwickler haben sich vom Fehlen eines Debuggers bisher von der Verwendung der Software abhalten lassen, wir hoffen dieses Problem nun ein für alle mal zu beseitigen.

derStandard.at: Wann soll MonoDevelop 1.0 erscheinen?

Miguel de Icaza: Derzeit haben wir noch kein fixes Datum für MonoDevelop 1.0, aber es sollte innerhalb der nächsten sechs Monate verfügbar sein.

derStandard.at: Wie waren bisher die Rückmeldungen auf den Mono Migration Analyzer (MOMA)?

Miguel de Icaza: Die Idee für dieses Tool ist ja schon eine ganze Zeit lang in den Köpfen herum geschwirrt, wird sind aber nie dazu gekommen, das ganze auch zu implementieren. Der Grundgedanke ist dabei ein simpler: Da .Net-Executables High-Level-Informationen über das jeweilige Programm enthalten, könnte man diese Informationen doch dazu nutzen, um potentiell problematische Bereiche zu identifizieren. Dies könnte man mit ähnlichen Techniken, wie sie Tools wie FXCop und Gendarme nutzen, umsetzen.

Beim letzten Mono-Summit hat dann Jonathan Pobst, einer derer, die zu Windows.Forms beigetragen haben, die Idee aufgegriffen und in Rekordzeit implementiert. Das Witzige daran: Ich hatte zur gleichen Zeit bei einer Reise durch Europa damit begonnen, die gleiche Idee umzusetzen. Ich erinnere mich noch daran, dass ich JB Evain Fragen zur Benutzung seiner Cecil-Bilblothek gemailt hatte. Als ich dann mit dem Flugzeug gelandet war, hatte ich schon ein Mail von Jonathan erhalten. Seine Version war allerdings sofort eine GUI-Anwendung, während meine nur ein Kommandozeilenprogramm mit den üblichen Parametern war. In Folge habe ich mich mit Jonathan über unsere Ideen ausgetauscht, und bis ich wieder in den USA war, hatte er bereits alles fertiggestellt.

Das daraus entstandene Tool können wir nun vor allem dazu verwenden, um Fragen, wie "Wird mein Software laufen" zu beantworten, was für einzelne EntwicklerInnen sehr nützlich ist. Aber wahrscheinlich das wichtigste Feature von MOMA ist, dass es ermöglicht uns Test-Berichte übermitteln zu lassen, wenn die UserInnen das wollen. Mithilfe dieser Erfahrungen können wir zielgerichtet entschieden, was wir in Mono als nächstes implementieren wollen.

Die Ergebnisse davon sind ziemlich faszinierend für uns. So haben wir festgestellt dass sich rund 50 Prozent der verfügbaren (Anm.: .Net-) Anwendungen mit nur kleinen Änderungen an Mono zum Einsatz bringen lassen. Das hilft natürlich dabei zu entscheiden, was wirklich dringend entwickelt werden muss..

Einige der Berichte gibt es übrigens hier zum Nachlesen:

http://primates.ximian.com/~miguel/momareports

derStandard.at: Gerüchten zufolge stockt Novell derzeit das Mono-Team erheblich auf, kann man das näher beziffern?

Miguel de Icaza: Das stimmt, wir verstärken uns momentan tatsächlich im großen Ausmaß.

derStandard.at: Wohin sollen diese zusätzlichen Ressourcen wandern?

Miguel de Icaza: Wir wollen alle Bereiche, in denen Mono mehr Support braucht aufstocken, aber das ist etwas das wir im Detail derzeit noch intern diskutieren.

derStandard.at: Woher kommt diese verstärkte Interesse von Novell an Mono und was ist dabei der Business-Plan?

Miguel de Icaza: Die Ziele sind eigentlich seit Jahren die gleichen: Mono als eine verbesserte Entwicklungsplattform für einen substantiellen Teil des Developer-Marktes. Und natürlich auch als Tool um Windows-EntwicklerInnen dabei zu unterstützen ihre Software unter Linux, Mac OS X, BSD und Solaris lauffähig zu machen.

Insofern bleibt Mono weiterhin ein Mittel zum Zweck, aber hin und wieder läuft uns auch eine interessante kommerzielle Möglichkeit über den Weg, die dann dabei hilft, spezifische Verbesserungen vorzunehmen. Typischerweise geht es dabei um ganz spezifische Problemstellungen, in letzter Zeit vor allem im Spieleumfeld.

derStandard.at: Der Microsoft / Novell-Deal hat zu einer ziemlich heiß geführten Diskussion - und einem gewissen Maß an Novell-Bashing - in der Linux-Community geführt. Kam das überraschend?

Miguel de Icaza: Es gibt zweifelsfreie viele Leute, die den Deal mit Microsoft nicht mögen. Meiner Meinung nach hat das Abkommen Türen zu konservativen KundInnen aufgestoßen, die ansonsten nicht bereit gewesen wären Linux auch nur ernsthaft zu erwägen. Was bisher passiert ist, war vor allem, dass Red Hat es geschafft hat, ein supportetes Linux an die "Early Adaptors" zu verkaufen. Viel andere, vor allem jene, die jegliche Risiken vermeiden wollen, haben währenddessen allerdings noch zugewartet. Das Abkommen hat es insofern Leuten, die ansonsten Linux - trotz seiner großartigen technologischen Basis - nicht angerührt hätten, ermöglicht, dieses zum Einsatz zu bringen.

Davon abgesehen finde ich aber, dass der Deal wesentlich besser ausfallen hätte können. So wäre durchaus auch denkbar gewesen, eine Zusammenarbeit zwischen .Net und Mono zu starten, oder gar Microsoft dazu zu bringen, den eigenen EntwicklerInnen, die über eine Migration nachdenken, Mono zu empfehlen.

Was ebenfalls nicht sonderlich gut angekommen ist, war das Versprechen an die Community (Anm.: Damit ist der Klageverzicht bei Patentverstößen gemeint). Ein Teil des Problems mit dem derzeitigen Versprechen ist, dass es zwar ein wichtiger Teil des Abkommens war, man aber nicht zeitgerecht die richtige Formulierung gefunden hat. Derzeit versuchen einige Leute aus beiden Unternehmen hier nachzubessern.

derStandard.at: Das ist ein Versprechen, das jetzt bereits seit Monaten gemacht wird, ohne allerdings wirklich Resultate zu liefen. Sind Sie also wirklich davon überzeugt, dass es weitere Verbesserungen in diesem Bereich geben wird?

Miguel de Icaza: Nun, ich weiß, dass sie auf das Feedback derjenigen, die sich bei Novell um Open Source kümmern, hören. Insofern habe ich Hoffnung.

derStandard.at: Jetzt wo Java Open Source wird, könnte man denken, dass dies den Wettbewerb für Mono etwas härter macht, vor allem in Bezug für Anwendungen für den Linux Desktop. Ist davon bereits etwas zu spüren?

Miguel de Icaza: In Hinblick auf Windows/Linux-Migrationen wird die Freigabe von Java als Open Source keinen Effekt auf Mono haben. Schließlich zielen wir damit auf die .Net-Gruppe ab, die üblicherweise kein Java verwendet. Auch wird dies das Verhältnis zwischen den Anwendungen, die von anderen Plattformen auf Linux portiert werden, nicht verändern. Sonst würden die Leute bereits jetzt eine der proprietären Java-Versionen von IBM , Sun oder sogar eine der GNU-basierten Entwicklungen benutzen.

Es wird aber sicher dazu führen, dass Java allgegenwärtiger im Open Source-Umfeld sein wird, und dass EntwicklerInnen die Möglichkeit haben, Java oder Mono nicht mehr primär nach ihrer Lizenz sondern nach ihren Bibliotheken und den jeweiligen Features, die sie benötigen, zu wählen.

Gerade in Hinblick auf Desktop-Anwendungen gibt es bei Java aber noch einiges zu tun, etwa um den hohen Speicherverbrauch in den Griff zu bekommen, auch gelten die technischen Begrenzungen, an die man damit in den Windows- und Unix-Welten stößt, noch immer.

Mono hat natürlich seine eigenen Beschränkungen, die Entscheidung, welche Features man am dringendsten benötigt, bleibt einem also nicht erspart. Ob Mono genügend Durchschlagskraft hat, um die .Net vs. Java-Balance zu verschieben, will ich mal offen lassen.

derStandard.at: In der Vergangenheit haben Sie mehrmals betont, dass Sie kein Interesse daran haben, Mono eine Implementation der Windows Presentation Foundation zu spendieren. Ist das noch immer der aktuelle Standpunkt?

Miguel de Icaza: Nun, mein Freund Morten Welinder hat einmal, als ich zu meinen GNOME-Zeiten zu viele Projekte gestartet habe (nach Gnumeric und Bonobo, habe ich damals mit der Arbeit an Evolution begonnen), zu mir gesagt: "Du solltest nicht versuchen zu viel auf einmal zu tun".

Die WPF hat einige großartige Bestandteile, allerdings auch einige wirklich hässliche. Darum bezeichne ich WPF gerne auch als das J2EE der GUI-Toolkits. Ein Teil von mir will nicht nur die WPF neu bauen, sondern auch das "Ruby on Rails" unter den GUI-Toolkits schreiben und zahlreiche andere Projekt starten. Allerdings muss man sich schon gezielt für seine Kämpfe entscheiden.

Momentan sind die meisten EntwicklerInnen gerade mal in einer Experimentierphase in Bezug auf WPF, ernsthafte Anwendungen werden wohl erst in einem Jahr auf den Markt kommen, größere Anwendungen werden gar noch zwei bis drei Jahre brauchen.

Andererseits setzten aktuell die EntwicklerInnen in Massen auf Windows.Forms, entsprechend gibt es einen umgehenden Vorteil, indem man diesen Leute die Portierung von Windows nach Linux ermöglicht.

Eine endgültige Antwort wird sich aber wohl erst mit der Zeit geben lassen. Es gibt ja bereits einige Häppchen, die wir über die Zeit implementiert haben, und die die Basis für eine Portierung der WPF bilden können, falls wir uns einmal dazu entscheiden sollten, dass es sich auszahlt damit zu beginnen.

derStandard.at: Das Spieleentwicklungstool Unity scheint derzeit einer der prominentesten Abnehmer von Mono zu sein, wie entwickelt sich da die Zusammenarbeit?

Miguel de Icaza: Aus unserem Blickwinkel ist "Over the Edge" (der Entwickler von Unity) nur ein weiterer unabhängiger Softwarehersteller, der Mono zum Einsatz bringt. Allerdings zweifellos einer, der eine der spannendsten Anwendungen, die mit Mono entstanden ist, im Angebot hat. Insofern versuchen wir unser Bestes die spezifischen Bedürfnisse und Probleme, die "Over the Edge" hat bestmöglich zu lösen und allgemein ein guter Plattform-Anbieter zu sein.

Unsere Rolle ist es das Leben der ISVs so erfreulich wie möglich zu gestalten, und ihnen neue Türen und Möglichkeiten zu eröffnen. Ich hoffe mal, dass sie so zufrieden mit uns sind, wie wir mit ihnen.

derStandard.at: Momentan folgt die Mono-Entwicklung vor allem den Fußstapfen von .Net. Wird es einen Punkt in der Zukunft geben, in dem man sich verstärkt Innovationen jenseits dessen, was Microsoft im Angebot hat, widmet?

Miguel de Icaza: Auch wenn der Kern unserer Software den Fußstapfen von .Net folgt, so hat Mono doch ein unglaublich lebendiges Ökosystem an Bibliotheken, APIs und Tools zu bieten, die davon vollständig unabhängig sind.

So haben wir Komponenten, die sich der Integration mit GTK#, dem GNOME Desktop, Cocoa am Mac, Apache, Mozilla, Bittorrent, Flickr, Picassa, Google, dem Musik abspielen, Tagging, der Desktop-Suche, dem Umgang mit Medien-Dateien und vielem mehr verschrieben haben. Diese Liste ließe sich lange fortführen, wir sind jedenfalls der Überzeugung, dass das Mono-Ökosystems wesentlich mehr als nur Kompatibilität mit .Net zu bieten hat.

Dabei wir auch nicht alles von uns selbst gemacht, vieles von dem zuvor erwähnten wird von EntwicklerInnen beigesteuert, die Mono als Plattform zur Entwicklung eigener Lösungen einsetzen.

derStandard.at: In letzter Zeit scheinen Sie auch einige Anstrengungen darauf zu verwenden, Mono auf mobilen Geräten zum Laufen zu bringen. Ist das ein wichtiger Zukunftsmarkt für Mono?

Miguel de Icaza: Es ist Paolo Molaro zu verdanken, dass Mono jetzt auf ARM-Prozessoren läuft, dies hat es Mono ermöglicht auf einer Reihe von interessanten Geräten zu laufen, wie dem von Zing designten Sansa Connect Media-Player.

Allgemeiner gesagt sind wir natürlich der Überzeugung, dass wir mit Mono eine fabelhafte Runtime haben, und freuen uns immer über neue interessante Anwendungen zu hören.

derStandard.at: Das Mono-Projekt gehört nun bereits zum dritten Mal zu den am Google Summer of Code teilnehmenden Organisationen. Wie erfolgreich war das Ganze in den letzten Jahren?

Miguel de Icaza: Wir hatten in den letzten zwei Jahren wirklich ziemlich viel Glück. Ich habe über den Erfolg mit dem ersten Google SoC letztes Jahr einen recht ausführlichen Blog-Eintrag geschrieben.

Wir haben es dabei nicht nur geschafft neue StudentInnen für Linux zu gewinnen, und sie dazu zu bringen, Code beizutragen, von dem alle profitieren, es sind auch noch viele der beteiligten EntwicklerInnen bis heute in das Projekt involviert.

derStandard.at: Als einer der Gründer des GNOME-Projekts haben Sie wohl noch immer ein gesteigertes Interesse an der Zukunft des Projekts. Was ist also ihre Einschätzung des aktuellen Zustands des Linux/GNOME-Desktops?

Miguel de Icaza: Meiner Meinung nach ist das Projekt in großartigen Händen und wird mit jeder neuen Version besser. Der sechsmonatige Release-Zyklus hat dem Ganzen einen guten Rhythmus gegeben, um neue Features zu entwickeln und die Community zu organisieren. Dieser "Herzschlag" hat sich als exzellent herausgestellt.

Natürlich wäre es schön, wenn noch mehr Programme in C# verfasst werden würden, einfach weil die Sprache stetig besser wird und so viel zu bieten hat.

derStandard.at: Microsoft hatte einst in Erwägung gezogen künftig Windows-Releases gänzlich auf .Net aufzubauen. Wenn Sie jetzt ein neues Desktop-Projekt starten würden, würden sie es auf Mono basieren?

Miguel de Icaza: Ja, das würde ich.

derStandard.at: Ist Mono wirklich vollständig dafür geeignet, vor allem in Bezug auf Performance und Speicherverbrauch? Oder müssten nicht einige Teile trotzdem in C verfasst werden?

Miguel de Icaza: Natürlich wird es noch einige Stellen geben, wo wir C benötigen. Unser eigenes Runtime ist zum Beispiel in C verfasst, insofern sage ich nicht, dass wir es nicht verwenden sollten. Aber wir sollten keine Zeit damit verschwenden, die 99 Prozent der Anwendungen, die sich um High-Level-Probleme kümmern in einer Low-Level-Sprache zu verfassen.

derStandard.at: Was wäre rückblickend das eine Stück Software, das Sie am meisten bereuen in C verfasst zu haben,weil es C# noch nicht gab?

Miguel de Icaza: Eigentlich alles, was ich jemals für den Desktop verfasst habe. Gnumeric, Evolution und viele andere Dinge, die lieber mal nicht erwähne.

derStandard.at: Danke für das Gespräch.

(Andreas Proschofsky)

  • Bild nicht mehr verfügbar

    Mono- und GNOME-Gründer Miguel de Icaza

Share if you care.