Miguel de Icaza is one of those celebrated figures of the Free Software/Open Source world who created technologies that changed the course of history. Miguel created the most popular desktop environment in the UNIX-like operating systems — Gnome along with Federico Mena. Gnome was started due to KDE which relied on Qt widget toolkit which used a non-free license at that time. Icaza, along with Nat Friedman founded Ximian (Helix Code) in 1999 to develop GNOME’s infrastructure and applications, and in 2003 it was purchased by Novell. He then started Mono project for the .NET implementation on the Linux platform. After Novell’s acquisition by Attachmate, Miguel started his own company called Xamarin which focuses on the mobile space. I met Miguel during FOSDEM and he agreed for a quick interview. I had many more questions, but we did not have that much time. Here is an interview with an extremely pleasant, friendly and nice man…
Swapnil: Miguel you started Gnome. Now we have Gnome Shell 3 which offers a completely new approach. What is your opinion about Gnome 3, about the mega open source project that you started??
I think the most important thing for me was to see a graphic designer going from an idea about how he can enhance the desktop and implement it without having to convince a programmer to do it for him.
At the Gnome summit they were discussing UI design changes for new class of gadget. What was interesting that designers, for the first time, were able to implement changes without convincing a developer. It was very interesting to watch these designers tweak the desktop themselves, they are not really hacker or programmer; they are designers but are now able to actually improve the usability without having to go after someone, file bugs or wait for six month. So that’s a great step in that direction.
Swapnil: You have formed your own company Xamarin. How does that affect the Mono project? Have the goals of Mono changed now?
Miguel: The goals of the Mono projects are the same, you should not confuse Mono project with the fact that I have started a company. Those are two different things. I also participate in other efforts, I do a lot of different things 🙂
What we wanted to do with Mono was to bring a better development environment to Linux users, to bring the best of the breed tools. We realized that Mono addressed those problems, C# and .NET addresses those problems. The reason was it was an evolution of some best practices from the Java world so it was basically an enhancement of that. They[Microsoft] have been evolving the framework in a very tasteful way for many years so that’s what it basically is. So on top of that what we basically did was we took the core and build extensions so that you can build native Linux applications and that’s how it started. That was the original goal — to improve the developers experience on Linux.
Over time the Linux on the desktop did not quite materialize the way it was expected. It did not take over the world by storm. A lot of focus shifted to the Linux on the servers, that how do we bring .NET to the Linux servers. So a lot of efforts were spent in this direction…all that stuff goes in server programming.
Couple of years ago with the iPhone revolution we brought Mono to the iPhone for one of our customers, Unity. They are very focused in the gaming space. We created an equivalent of what we did with Linux — Mono plus native bindings to native libraries. We did the same thing with the iPhone and we did the same think with the Android as well. So, there is a whole history of Mono as being used as a developer technology in all these places.
Swapnil: There has always been a concern around Mono, that it may be attacked by Microsoft. How and why do you think Mono is safe?
Miguel: Microsoft has given a patent grant for people to use it. These are very specific patent grants — there is community promise, there is Apache license and they also made those patents available in FRAND.
So, it has a very good patent protection. It is interesting because for many years Mono people were saying that Microsoft is going to sue us and Mono was a pariah of the Linux world. You have to remember that Microsoft made these three patent pledges but Java, which was the poster child of open source development, they did not make those pledges. And now they are suing Google.
So it is a little bit ironic because Microsoft platform actually have more patent grants than anything Java ever did. It’s a little bit sad that all that FUD that was spread around Mono — it turned out that it wasn’t Mono that wasn’t safe, it was Java that wasn’t safe.
I think the desktop Java doesn’t have those promises because of the LGPL license but it means that Java is not as free as people would like it to be.
Swapnil: One of the ambitious and promising Mono projects was Moonlight. What is the future of Moonlight?
Miguel: We are somewhere between Silverlight 2-3 support . The reality is that Microsoft has abandoned Silverlight and at this point they are not going to continue developing it and they are not going to continue to push it. So the point of having an open source implementation of silverlight is greatly diminished.
Swapnil: Why could Moonlight never get to run services like Netflix? As you stated about does that also mean there is no possibility of Netflix’ support via Moonlight on the Linux platform?
Miguel: We could never get Netflix to work on Moonlight because there is a whole stack or features that are not public — like the DRM system, the keys, etc. I heard from a third party that even if you could implement the DRM system they won’t give you the keys so it doesn’t matter.
Effectively Silverlight is a technology that doesn’t seem like getting a lot of push and I think that the world has switched to HTML 5 so it does not make any sense in continue working on Moonlight or to invest in developing Moonlight. There are more important problems to solve in Linux desktop and there are interesting people working on those problem, in particular Jonathan Blandford at Red Hat and teams at openSUSE are doing a great job.
The point is Moonlight is not that important anymore, just because Microsoft is not pushing it anymore, you don’t see a lot of adoption of it. It’s very rare to see a site that requires it so its better to use those resources in lot of other areas.
Swapnil: How is your company affecting the development of the Mono project?
Miguel: You should not make a mistake by confusing Mono with my company. Mono is an open source projects and we certainly contribute a lot to it but there is a bunch of other companies which contribute to it as well. Just because my company works in the mobile space doesn’t mean you should blend the two. One thing is mono, the project and other thing is my company. These are separate.
Swapnil: That makes me think where is the leadership of Mono now?
Miguel: The leadership of Mono is still with me. I wear two hats and that’s perfectly fine to wear two hats. So we continue to push Mono for where it is worth, and organize the community but that is separate from my work on the mobile space.
Swapnil: Why should a developer pick Mono over other technologies? What advantages does it have?
Swapnil: Looking at Google-Oracle court battle over Java, do you think the critics of Mono will change their opinion? Will there be wider adoption of Mono?
Swapnil: What is your opinion about SOPA and PIPA?
Miguel: Well, I think they defeated it so that’s good. Isn’t it?