Interview with Miguel de Icaza, co-founder of Gnome, Ximian and Mono

Born in Mexico City, Miguel de Icaza was the driving force behind the creation of the Gnome free software desktop, and co-founded the open source company Ximian, bought last August by Novell. In July 2001, he helped start another ambitious project, Mono: a free implementation for GNU/Linux of Microsoft's .Net framework. He talks to Glyn Moody about Mono's progress, how Ximian was bought by Novell, and why he is so scared of Microsoft's Longhorn.

Q. How has your vision of Mono changed since you began the project, and what are the main aims of Mono today?

A. A lot of the things that Microsoft was addressing with .Net were touching on existing pain points for us. We've been using C and C++ way too much - they're nice, but they're very close to the machine and what we wanted was to empower regular users to build applications for Linux. Windows has a lot of tools that address a particular problem but on Linux we're kind of on our own in terms of development So when Microsoft came out with this [.Net] thing, initially what we saw was very interesting, and that's how the project got started. But as people got together and started to work and collaborate on this effort, a couple of things happened.

The first one is that there was more and more momentum behind building APIs that were compatible with the Microsoft ones. Novell and Ximian were focused just on the core and C#; a lot of the people who came and contributed software to the project were interested in Windows Forms, or ASP.Net or Web services or databases, which were part of the Microsoft stack.

And at the same time we have grown organically a stack completely independent of the Microsoft stack, which we call the Mono stack but it includes things like tools for doing GUI development for Linux - that was one thing that we were very interested in and we actually invested a lot of effort into that.

So today at the core we still have Mono, which is what we wanted to do, and now we've got two very healthy independent stacks: the Microsoft-compatible stack for people who want to bring their applications from Windows to Linux, and also this completely new and fresh stack of things that in some cases are portable from Linux to Windows, and in some cases are very, very Linux specific.

Q. Microsoft doesn't seem to be making so much noise about .Net these days: what's your view of .Net's progress at the moment: how is it shaping up as a platform for writing software?

A. I think that Microsoft overdid what .Net was. Initially, the message was extremely confusing because .Net meant too many things. It meant a set of server products, it meant a special edition of Windows, it meant a development platform. When we refer to .Net we call it the .Net framework, which is what it actually was - it was only one of the components of .Net. And the .Net framework is actually a fairly good development platform. At least it has stopped the migration of people who were sick and tired of MFC to Java. Now they have a much better solution if they go with the Microsoft-based technology and there's a nice migration path. So I think they've been successful.

You probably don't hear too much about .Net because now it's not hot news, it's just something that developers have. And the other reason might be because they're going through another rebranding exercise within Microsoft - I think it's going to be massively complex. They're trying to rebrand .Net framework into WinFX - not to be confused with WinFS . WinFX is basically the new version of the .Net framework with things for Longhorn, so it includes WinFS, it includes Avalon, it includes communications. The whole Longhorn thing is built on top of .Net.

Q. One big change since Mono started has been Novell's acquisition of Ximian; how did it come about?

A. We had a product for Linux called Red Carpet. It's something for maintaining the software and software updates on Linux machines on servers and clients. We had a fantastic GUI, we had a command line tool that allowed administrators to schedule things so it can be completely unattended, you could centrally manage things, roll out deployments, back out, undo. We basically had a very good product for Linux, and Novell has an equivalent software product for Windows. So we were talking about how can we marry these products, how can we benefit from each other.

A few of their guys came. They were really trying to see how to position Novell and how they could ship services for Linux; they had a long-term plan. One day they came and presented and they said, well, here's the situation, we really want to get into Linux. I think you guys can help us.

Q. What did you find attractive in becoming part of Novell?

A. The negotiations, as I said, began with Red Carpet, but the Linux desktop was something that also fascinated them and they also wanted to become a player in the desktop space - we don't want to be relegated to the server space only, the client is where all the action is happening. So [being acquired] allowed us to restaff and continue working on the desktop without having to focus continuously on this [Red Carpet] thing.

Q. Has Novell decided what form the desktop will take - will it be Gnome-based, or have other elements?

A. We cannot choose one desktop over the other - Gnome or KDE - because there's users for both code bases. What we're planning on doing is we're working with an organisation called the The idea there is they define protocols - things like desktop notification systems, system-wide configuration engine, clipboard support, drag and drop, etc. We're pushing those into Gnome and KDE to unify those things and the default desktop really is a combination of elements.

Gnome and KDE are basically the shells, but then there are higher-level applications like the office suite. We're making the decision it's going to be OpenOffice, the browser it's going to be Mozilla, the email client it's going to be Evolution, the IM client it's going to be Gaim. So we basically have to pick successful open source projects and put them together. There's a lot of work on integrating.

Q. You've drawn a distinction between a GNU/Linux desktop and an open source desktop: what did you mean by that?

A. In some cases we've been building tools that are specific to Linux for the desktop, and they only work on Linux, but I see two major projects that are wildly, wildly successful: Mozilla and OpenOffice, and those two programs are cross platform. So if we're going to build new applications that require a large time investment, like say movie editing - today that doesn't matter for the enterprise desktop, but eventually it will when we get closer to consumers - you really need to have a cross-platform story. We all love Linux, but it's also a fact that some people might not be able to migrate. But we can still have them reduce their TCO. You don't necessarily need Office, you don't necessarily need IE or you don't necessarily need Final Cut Pro etc. We should be thinking in terms of building cross-platform applications that will work fine on Windows and under MacOS as well.

Q. When does Novell think that the GNU/Linux desktop will be ready for the general user?

A. We're doing this exercise ourselves. I think that by October the whole company has to migrate to OpenOffice, and then I think it's by June next year we all migrate to Linux - you don't want to migrate 6,000 people both operating system and office suite in a single jump.

We have a lot of existing customers which are also considering Linux desktop migrations and rolling out some of these programs, so we're learning from them. For example, in Extramadura and Andalucia they've been going out for two years now with these deployments. They have 200,000 deployed seats and they're going towards 400,000 deployed seats by the end of the summer on pure Linux, Gnome, Mozilla, OpenOffice desktops. They're two very, very large deployments, probably the largest deployments of Linux desktops today. These are being used by kids, by grandmothers.

Q. What do you see as the greatest danger to the continuing adoption and progress of open source?

A. Microsoft realises today that Linux is competing for some of the green pastures that it's been enjoying for so long; I think that Longhorn is a big attempt to take back what they owned before. Longhorn has kind of a scary technology called Avalon, which when compounded with another technology called XAML, it's fairly dangerous. And the reason is that they've made it so it's basically an HTML replacement. The advantage is it's probably as easy as writing HTML, so that means that anybody can produce this content with a text editor.

It's basically an HTML Next Generation. A lot more widgets, a lot more flexibility, more richer experience - way, way richer experience. You get basically the native client experience with Web- like deployments. So you develop these extremely rich applications but they can be deployed as easily as the Web is. It's just like going to a URL: you go to Google, and you get the Web page and it works. So it's the same deployment model but the user interface interaction is just fantastic.

Of course, the only drawback is that this new interaction is completely tied to .Net and WinFX. So we see that as a very big danger. A lot of people today cannot migrate to Linux or cannot migrate to Mozilla because a lot of their internal Web sites happen to use IE extensions. Now imagine a world where you can only use XAML.

It's massive - I'm so scared.