"The Microsoft / Novell partnership should have included a technical Mono/.NET collaboration"

8 Postings

Miguel de Icaza, founder of the Mono project, in an interview about the future of the free .Net-alternative, the Microsoft deal and basing a desktop on C#

Since the July of 2001 the Mono project has been working on offering a free alternative for Microsofts .Net. In 2004 version 1.0 was published, for a few months Mono 1.2 has been available. The project was initiated by Miguel de Icaza. Andreas Proschofsky spoke with him about the future of Mono, the competition and the Microsoft deal.

Here you'll find a german translation of this interview

derStandard.at: Since the last time we talked, you've finally released Mono 1.2, more than two years after 1.0 and quite a bit behind the original schedule. So: Are you sure that 2.0 will be a little bit closer to the proposed schedule?

Miguel de Icaza: Only death and taxes are sure in this life.

Currently, part of our struggle is what will be called Mono 2.0; The ASP.NET side of the house will be ready before Windows.Forms is ready.

So far we were trying to keep the Mono versions roughly similar to the NET versions, but it seems that this will not be a good long term strategy. For instance, we will have support for C# 3.0 long before the equivalent to .NET 3.0 even exists for Mono.

derStandard.at: What do you have in store for the next major release?

Miguel de Icaza: In terms of the API, we will make the core and ASP.NET be 2.0 implementations. Other pieces like 2.0 Windows.Forms will be part of a future release.

There are three major developments outside of the API tracking:

  • The Mono Debugger.
  • The Stetic GUI designer.
  • The MonoDevelop IDE reaching 1.0

One interesting bit is that all of those technologies will be tied in the 1.0 release of MonoDevelop.

For some people, the lack of a debugger has been a big turnoff and we hope to finally fix this problem.

derStandard.at: When do you plan to release MonoDevelop 1.0?

Miguel de Icaza: We do not have a definite date for MonoDevelop 1.0, but it should be sometime in the next six months.

derStandard.at: How has the uptake for the Mono Migration Analyzer (MOMA) been so far?

Miguel de Icaza: The idea for this tool has been floating around for some time, but we never quite got around doing it. The idea was very simple: since .NET executables contain high-level information about a program, we could extract this information and identify spots that would be troublesome to port.

Using the same kind of technique that tools like FxCop and Gendarme use.

At the last Mono summit, Jonathan Pobst, a contributor to Mono's Windows.Forms effort picked up the idea and implemented it in record time.

It was funny because I started developing the same idea at the same time during some travel I did to Europe. I was working on it on the plane and I remember emailing JB Evain questions about how to use his Cecil library.

By the time I landed in some city I had an email from Jonathan. His version was a full GUI application while mine was a command line tool with the usual set of various switches. I shared with Jonathan some of my ideas and by the time I was back in the US he had implemented them all.

So the tool today is something that we can use to answer technical questions like "Will my software run?" and this has been useful for individuals.

But probably the most important feature of Moma was the ability that it had to send us a report back if the user chose to. We used these contributed reports to implement and prioritize much of the work that was needed for Mono.

The results are fascinating. For instance, we realized that you can run 50% of the applications in the wild with very small incremental updates to Mono.

This helped us prioritize what actually mattered.

Some of the reports are available here:

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

derStandard.at: Rumour has it, that Novell is substantially staffing up its Mono-team, any chance you'll put this into numbers?

Miguel de Icaza: We are doing a big push for Mono.

derStandard.at: Where will these increased resources go to?

Miguel de Icaza: We will try to staff up all the areas in Mono that need better support, it is still something that we are discussing internally.

derStandard.at: So how come the renewed interest in Mono by Novell, what is the business plan here?

Miguel de Icaza: The goals continue to be the same as the ones we have been pushing for a few years: Mono as an improved developer platform for a fairly substantial segment of the developer market, and also as a tool to assist Windows developers make their software run on Linux, MacOS X, BSD and Solaris.

So Mono continues to be a means to an end, but every once in a while there are some interesting commercial opportunities that help pay for some specific developments and directions. These are typically licensing deals for Mono on some specific conditions, most recently in the game space.

derStandard.at: The Microsoft / Novell deal generated quite a heated discussion (and a fair bit of Novell-bashing) in the Linux-community, were you surprised by this?

Miguel de Icaza: There are many people that do dislike the deal with Microsoft.

I personally think that the deal has opened the doors to conservative customers that were not willing to move to Linux or touch Linux to consider it seriously. Basically what has happened is that Red Hat managed to sell the productized and supported Linux to the the early adopter crowd.

Another crowd, the more conservative ones, those that are more risk averse had been waiting on the sidelines. The agreement has basically enabled people that would have otherwise not touched Linux despite its great technological features to adopt it.

That being said, I think the deal could have been much better. For instance, I think that the deal should include a technical Mono/.NET collaboration, and even go as far as Microsoft recommending Mono for all of their developers looking at migration.

Also, another thing that rubbed people the wrong way was the promise to the community. And part of the problem with the current promise is that it was an important consideration as part of the deal but they did not get the right wording in place on time. Folks on both companies are trying to improve this to actually mean something meaningful.

derStandard.at: That is a proposition that's been made for some months, without any results so far. So are you really confident, that there will indeed be further improvements in this area?

Miguel de Icaza: Well, I know that they are listening to the feedback from those of us that care about open source in the company. So I have hope.

derStandard.at: Now that Java is going Open Source, one might think this could make the competition for Mono a bit tougher, especially in regard to developing Software for the Linux desktop. Do you already see some consequences from this?

Miguel de Icaza: On the migration piece, the open sourcing of Java will not have an effect on Mono. Because the crowd that we are targeting is the .NET crowd which is typically not using Java. The open sourcing of Java will not alter the balance of applications that will be ported from other platforms to Linux. If they existed, people were already using the proprietary Java from IBM or Sun or even one of the GNU based efforts.

It will certainly make Java more ubiquitous in the open source space and developers will be able to pick the Java runtime or the Mono runtime not based on the license, but based on the libraries and features that they depend on.

For desktop applications Java still has a long way to go in terms of addressing its memory usage problems, and the technical limitations that people have against it on the Windows and Unix worlds still apply.

Mono has its own set of limitations, and people will have to balance which features matter the most to them.

Whether Mono has enough clout to swing the .NET vs Java balance is open to debate.

derStandard.at: In the past you indicated, that you are not interested in adding an implementation of the Windows Presentation Foundation to the Mono stack. Is this still the current position on this issue?

Miguel de Icaza: Well, my friend Morten Welinder once said when I was starting too many projects in the Gnome days (after doing Gnumeric and Bonobo, I was starting work on Evolution) and he said "do not spread yourself too thin".

The WPF has some great elements to it, but also some ugly ones. Which is why I refer to the WPF as the J2EE of GUI toolkits.

A part of me wants not only to rebuild the WPF, but also to write the "ruby on rails" of GUI toolkits as well and plenty of other things that I have an interest in. But you have to pick your battles.

People right now are on an experimentation phase with WPF, and applications for it will not likely come out for the next year, and the larger applications will take two to three years to come out.

In the meantime people have adopted Windows.Forms in droves and there is an immediate benefit in bringing those developers from Windows to Linux.

So basically, time will tell. There are some tidbits that have been implemented over time that will be the foundation for WPF if one day we decide that its worth starting it.

derStandard.at: The game development Tool Unity seems to be one of the highest profile users of Mono, how does the co-operation with them work out?

Miguel de Icaza: From our standpoint "Over the Edge" (the creators of Unity) are just another ISV using Mono. They happen to have one of the coolest applications out there built with Mono, and we try hard to satisfy their needs, address the problems that they have with Mono and in general try to be a good platform provider.

Our job is to make the ISV's life enjoyable and opening new doors and opportunities for them. I hope that they feel as good about us as we do about them.

derStandard.at: At the moment Mono is mostly following .Net's footsteps, do you see a point in the future where it might innovate beyond what Microsoft has in store?

Miguel de Icaza: Although our core is following .NET footsteps, Mono has an incredibly vibrant ecosystem of libraries, APIs and tools that are completely independent.

We got libraries and components for integrating with Gtk#, the Gnome desktop, Cocoa on the Mac, Apache, Mozilla, Bittorrent, Flickr, Picassa, Google, music playback, tagging, desktop searching, media handling, GUI design and many many more. The list is too big to even remember it, but we do consider the Mono ecosystem to be much more than just pure compatibility.

And not everything is done by us, a lot of this is created by developers that use Mono as the platform for building their own solutions.

derStandard.at: You also seem to be putting more of an effort in getting Mono to run on mobile devices. Do you see this as a future growth area for Mono?

Miguel de Icaza: Paolo Molaro must be credited with the vision to get Mono running on the ARM CPU, as that has opened the doors to Mono to run on some interesting devices like the Zing designed Sansa Connect media player.

But in general, we believe that the Mono runtime is a fabulous runtime and we are always thrilled to learn about the new uses that people have for Mono.

derStandard.at: The Mono project is now for the third time one of the participating organizations in the Google Summer of Code. How successful has this been for you in the past?

Miguel de Icaza: We have been incredibly lucky in the past two years. I wrote a long blog entry last year about the success that we had with the first Google Summer of Code.

We were able not only to bring fresh students to Linux and have them contribute code that is being shipped to end users, but also many of the developers that have been involved in the effort continue to be active to this date on the project.

derStandard.at: I guess as one of the founders of the GNOME-desktop you are still quite interested in the future of the project. So what do you think about the current state of the Linux/GNOME-desktop?

Miguel de Icaza: I think the project is in great hands and on each iteration it gets better. The six month schedule release for Gnome has given it a good cadence for features, for organizing the community, for getting all ducks in a row.

This heartbeat has been excellent.

I still think that more software should be written with C#, just because the language on its own keeps getting better and better on each release and there is so much to offer.

derStandard.at: Microsoft once discussed basing future Windows releases on .Net. If you would start a new desktop project, would you build it with Mono?

Miguel de Icaza: Yes, I would.

derStandard.at: Do you think Mono is really fully up to this task, also in regards to speed and memory usage? Or will some parts still have to be written in C?

Miguel de Icaza: Am sure we will still need some C. Our runtime is for instance written in C, so am not saying we should not use it, but I would not waste time in the 99% of the application that copes with high-level issues doing it in a low-level language.

derStandard.at: What would - in retrospect - be the one piece of software that you most regret having written in plain C cause C# was not around at that time?

Miguel de Icaza: Everything that I ever wrote for the desktop.

Gnumeric, Evolution, and many other pieces that I rather not mention in polite company ;-)

derStandard.at: Thanks for taking your time for this interview.

(Andreas Proschofsky)

  • Artikelbild
    foto: archiv
Share if you care.