|
YOUR FEEDBACK
SYS-CON.TV |
TOP LINKS YOU MUST CLICK ON Interview Linux - Mono - .NET: An Exclusive SYS-CON.TV Interview With Miguel de Icaza
Mono is the leading non-Microsoft implementation of the Common Language Infrastructure (CLI) specification
By: Derek Ferguson
Oct. 20, 2005 09:00 PM
.NETDJ: So, given your love of .NET, why haven't you wound up working for Microsoft? MI: In 1997, I almost did! I was going to work on the Internet Explorer port to Sparc for Microsoft, because I had already been working on this in my spare time. The only reason this didn't happen is because I didn't have a legal visa, so I had to finish my degree in order to get one. Today I would say that Microsoft is a very interesting company, but right now my heart is in Linux and I still believe strongly in open source software. I really like the engineers at Microsoft and I think that they are fabulous people, though. The other thing I was thinking just the other day was that - if I really wanted to join something else at this point - I think it would be another startup. I don't think I would want to go from one big company to another big company right now. I could potentially see doing relief work for some big organization, but not joining another big corporation - my heart is not there right now. .NETDJ: So, where is Mono going, then? MI: We have a couple of big milestones ahead of us. Right after the acquisition, we had to add support for everything that SUSE Linux supports. Before this we just supported Power PC, x86, etc., but now, Mono is thoroughly cross-platform. The other thing we have been working on is an implementation of Windows Forms. This will be the centerpiece of Mono 1.2. The path we are taking is looking pretty good at this point, but we are trying to go through all of the open source stuff we can find that uses Windows Forms and verify that it runs on Mono. The people who are not doing Windows Forms are working on .NET 2.0 stuff. I would say that we are going to ship Mono 1.2 with Windows Forms, then we'll ship 2.0 support about nine months after that. We have pieces of that already: the VM is already Generics-aware and our C# compiler is C# 2.0-compliant, and you can use both of these technologies today. In terms of 2.0 support that isn't released yet, most of MSCORLIB is there, about 50 percent of ASP.NET 2.0 is done, and about 30 percent of ADO.NET 2.0 is also finished. We have pieces that we can use, but it won't be complete until about a year from now. We are trying to implement the most important features first. .NETDJ: What is the situation if someone wants to write applications on Windows today and have them run on Linux? MI: People who want to do this should just look out for a couple of things. First, file names in Linux are case sensitive, unlike on Windows. The other thing is that people on Windows often use hard-coded backslashes when they should instead choose the platform-specific path separator using code. The final issue is p/Invokes. The more p/Invokes you use for Win32, the harder it will be to port your application. I just ported Paint.NET and I had to remove about twenty p/Invokes. It took a few hours. If you stick to the public API and your file names and paths are right, it will work out of the box. In fact, this is what we did with iFolder - developed on Windows and ported to Linux. A big part of this kind of development is just paying attention to details. .NETDJ: You were at the Microsoft Professional Developers Conference (PDC) when we set up this interview. How did you like it? MI: It was like Christmas! There were a lot of interesting things. The thing I enjoyed most was Anders [Hejlsberg's] work on C# 3.0 and the LINQ project, which integrates queries into languages. We are having a hard time focusing our developers on just finishing our support for 2.0. Every one of my developers wants to start on 3.0! Infocard is probably - if they manage to deploy it - going to benefit everyone in the industry. I think the right person is in charge of it and they are opening up the specs and the intellectual property so that everyone can do single sign-on (SSO) across operating systems. This will benefit everyone. Of course, Avalon is looking flashier every day - so that is exciting as well! .NETDJ: How does Mono compare to Portable.NET? MI: I haven't followed much of the Portable.NET project. I believe that their compilers are written in C versus C#. The main developers stopped working on it about nine months ago, so the project hasn't really moved too far. I think that they are at about the 1.0 level. I don't think they did Generics. It seems like they haven't moved much. .NETDJ: Was the whole project just a replication of Mono's efforts, then? MI: I think that it was a replication of effort. It doesn't seem like it matters too much, though, since they didn't get too many contributions. One essential difference was the licensing, though. They used the GPL with special exceptions for the class library, which is the sort of thing that can make some corporations very nervous about writing code for a platform that uses that license. Java has the same problem. Open source Java was using GPL and people weren't comfortable with it. Therefore the Apache Foundation has had to start their Java class library effort from scratch. They need to have a clean implementation so that people who are using their platform won't have to open source their software if they target Linux. .NETDJ: Then wouldn't people have these same problems if they built on Mono? MI: Our libraries are licensed under the MIT license, which says, in effect: take it, use it however you want, just don't say that we endorse it. I think that we are at a different point in open source's evolution now where we don't really need to force people to open source their software any more. I think that this belief was the essential difference between Mono and Portable.NET. .NETDJ: Are there any final comments you'd like to make to .NETDJ's readers, who may not be familiar with Mono or even with Linux? MI: At the PDC I met all of these people who were really interested in getting their software moved to Linux. I think this would be a great place to make a call for people to work with us to get their software certified to run on Linux! We are already working with the people I met at the PDC, but we'd like to work with even more! .NETDJ: Is this related to the "Race to Linux" thing that I see the Code Project doing? MI: Mainsoft and IBM organized the Race to Linux. They use the Mono class libraries and they have a compiler that translates .NET Intermediate Language (IL) - except for unsafe extensions - into Java byte codes. Their product basically says: suppose you are a big bank and someone has decided that you have to use J2EE. Now, you want to use ASP.NET for productivity. Their tool will translate your code and put it on servers running J2EE. IBM is pushing this so that .NET code can run on their servers. .NETDJ: How should people contact you about moving their .NET applications to Linux? MI: They should contact mono@novell.com. We already have a whole process in place to teach them about developing for Linux and to get them up and running. LATEST ECLIPSE STORIES . . .
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||