• On MovieTome: See the TRAILER for TERMINATOR 4!

July 15, 2004 10:46 AM PDT

Newsmaker: More than an open-source curiosity

See all Newsmakers
More than an open-source curiosity More than an open-source curiosity
To the uninitiated, the basic idea behind the open-source Mono project--to bring .Net to Linux--is kind of hard to grasp. How can Microsoft's .Net development platform, which is all about making life easier for Windows programmers, be used to write applications for Linux, Microsoft's bete noire?

Yet after three years of toil, Miguel de Icaza, the founder of the Mono project, has managed to bring at least some of Microsoft's slick tooling to the Linux camp. And now that Novell has taken over the stewardship of Mono, after acquiring Ximian last year, Mono has the potential to be more than just a curiosity for open-source zealots.

Mono is not a development tool, like Microsoft's Visual Studio. Rather, it's a port of the guts that underlie Microsoft's development tools. That includes Microsoft's C# development language, "libraries" of prewritten code and Microsoft's common language runtime, software that allows a programmer to combine code written in different languages in a single application.

To de Icaza, replicating Microsoft's hard work--much of which has been published to standards body Ecma International--will make other operating systems, notably Linux, more attractive to developers. And with the "universal virtual machine" of .Net, programmers can have a greater choice in languages.

In his office decorated with small stuffed monkeys ("mono" means monkey in Spanish), de Icaza spoke to CNET News.com shortly before the company began shipping Mono version 1.0.

Q: Now that Mono 1.0 is done, what can you do that you couldn?t do before?
A: Oh, Unix is a world of pain for developers. Now, basically what we got is very modern IDEs (integrated development environments) for developing software on other platforms.

So, for example at Novell--and this was a choice that I really wasn?t involved in--but they looked at the (Mono) technology and they found exactly what they were looking for implementing this thing called iFolder 3.0, which is a new version from scratch with many new features, similar to the Longhorn WinFS with synchronization of data, backups, all kinds of interesting things. They could write in C++, but the schedule would just go out the window, or they could do it in C#, but it would be Windows. And when Novell acquired Ximian they had the option of building the same software that runs on Windows and on Linux.

So today they support Windows, Linux and the Mac OS with the same tool base. It helps developers focus more on what they are doing instead of with the nitty-gritty details of the specific platform. There's a lot of new development happening on Mono. We (at Novell) are centralizing on Mono as our internal development platform.

Given that Mono is a port of technology that Microsoft submits to Ecma for standardization. How are you going to keep up with Microsoft and what they are doing?
Well, Mono 1.0 is just shipping now in about middle of 2004, and we started three years ago. Microsoft released their products a year and a half ago. So, we are late. We are very late--we are 18 months behind Microsoft. But we still shipped, and people are still using it.

In general, and I like what Alan Cox says, which is "free software is always late." The moment you write the first line of code, you are writing that line of code because you have a need. And you have the need now and not in six months or in three months when you are finished. You always have to put things for later. Free software is always like that.

We are already working with .NET 2.0 features. (Mono) 1.0 is already done--we are just going through packaging. But my team is not waiting and sitting, not doing anything. My team is already working on 2.0 features. Like, for example we have been working with Microsoft on the C# 2.0 specification.

Has Microsoft been regularly submitting updates to .Net to Ecma?
Well, they have been relatively good citizens. All of the core pieces that they did for 1.0, they've been submitting to Ecma in advance (for .Net 2.0). So, actually by the time they unveil their first production compiler for generics, we actually had a generics compiler. It was not finished, but we had a generic compiler and now we are complete. They still haven't shipped their generic compiler as a product; it was only a beta. So, we think that we are going to have the same functionality in the compiler and the VM (virtual machine) by the time they ship. But that only helps me in some pieces.

What about all the changes Microsoft is talking about in Longhorn?
Yes. There are always things like Longhorn. I love Longhorn--Longhorn is just changing continuously. That cannot be standardized, right? Actually, we are not touching Longhorn yet, until we know what's happening there and see whether developers need or don?t need some of those features.

All of their APIs (application programming interfaces), they are calling WinFX. And there is this tiny little chunk that they call WinFS. We have an equivalent technology in Novell called iFolder. So, since this thing is still changing, we don't know if we can implement WinFS on top of Ximian or not. Since that thing is still evolving, it's hard to tell. When things are relatively quiet, then we are going to start implementing, because the goal here is to be as compatible as possible.

Are people in the open-source community ticked off at you for having done something with Microsoft's C#?
Well, there are many positions of course on these situations, and I wouldn?t say it is the open-source position versus the rest of the world.

What about patents? Is there a danger that Microsoft may at some point demand that you license portions of .Net?
Well, at this point, we don't know of any patent infringement that Mono has (committed).

Have you looked into it specifically?
We have looked at some of it, and we haven't found any infringement. But in general, the problem is that Microsoft at least has 30,000 patents. I don't know if you have ever seen a patent or how it works, but they basically have these law claims where they say this is the invention, and the claims are relatively hard to read.

So it?s not possible to enforce?
It has to be brought up to your attention. That's the problem in general with patents. Even if you try to do a patent review, which we looked at some, the scope wasn?t really anything that we infringed on.

Then there is prior art. The question is have these been done before? For example, in this particular case, you have a multi-language VM (virtual machine). It turns out that it?s a very old concept and it?s actually being used in production. The OSF (open software foundation) commissioned a development that did exactly that. It never made it to market. Well, it made it to market--it just was a complete failure.

The problem with J2EE really is that it became very, very academic and the complexity of all these perfectly designed systems in schools does not necessarily map when you have deadlines and all kinds of other things.
So what is your policy then?
The moment we are made aware of an infringement on a valid patent that cannot be worked around and there is no prior art, we will remove the code. So that has been our policy. We will remove any infringing code and as a user of Mono, you will have to work around the removal of the code. So today we don't have that because we are not aware of any infringements, but that's the situation.

Has Novell thought about legal indemnification like you did with Linux?
No. The legal indemnification for Linux is different, though, because there is a claim that property was stolen.

People always talk about the battle for the hearts and minds of developers, who choose between Microsoft's .Net and Java. Do you think Mono will attract Java developers to the .Net fold?
Today what's happening is that ASP.Net (Microsoft's system for building Web applications) is replacing, it's basically pushing J2EE (Java 2 Enterprise Edition) aside. We did a study at Ximian when we were trying to find customers for Mono. We found that people said that it was 25 percent more efficient to build in ASP.Net, because they have to do all this academic crap (with J2EE). Microsoft later funded a similar study and they came up with 30 percent. We interviewed about 25 customers about why would you buy Mono, why not J2EE, and we came up with that.

The problem with J2EE really is that it became very, very academic and the complexity of all these perfectly designed systems in schools does not necessarily map when you have deadlines and all kinds of other things. Twenty-five percent means we can develop it in a shorter time period. We can actually hire less people to do this thing. So those shops that spend $200,000 to $2 million say it's a one-year project. We are talking about relatively small shops--four or five developers or six developers to maybe 20 developers. If you can save 25 percent, it's a very big savings there. So, it's just because the technology is not as pretty as it could be or as nice as it could be, but it gets the job done. So, it's not Java's fault; it's more the framework has not been designed for these users.

But don't developers have a lot of options in the open-source world?
Yeah, and you see a lot of people using all the alternative technologies with Java like Struts. The problem is that other than a couple of O'Reilly books, there is nothing else there. It's not something that you can attend a course on. It's not something you can just pick up training or support anywhere.

Basically, the ASP.net technology and J2EE have become players because there is enough money behind them to push them. All the other ones might very possibly, like Plone, could absolutely be a very good high-level platform, but it's just a niche thing right now. What we are doing basically is, if you can get trained on ASP.Net or are familiar with Microsoft tools, you can get your software running on Linux.

If you want to run J2EE, run J2EE. If you run ASP.net, we will run it. So, Linux becomes our perfect choice for running both J2EE and .Net, as opposed to being a disadvantage to Windows.

Will you be able to port everything that Microsoft does on Windows to other operating systems?
The new UI stuff, I have struggled a lot with what we are going to do with our toolkit.

More Newsmakers

See more CNET content tagged:
Mono, Mono 1.0, Novell Inc., Ximian, Linux

Add a Comment (Log in or register) 28 comments (Showing first 20 comments)
Mainsoft provide ASP.NET on J2EE
by July 15, 2004 3:46 PM PDT
Mainsoft ( www.mainsoft.com ) use the power of J2EE to run ASP.NET. You gain both productivity and enterprise scalabilty.
Reply to this comment
Mainsoft provide ASP.NET on J2EE
by July 15, 2004 3:46 PM PDT
Mainsoft ( www.mainsoft.com ) use the power of J2EE to run ASP.NET. You gain both productivity and enterprise scalabilty.
Reply to this comment
In comparison to what?
by July 16, 2004 2:18 AM PDT
"Oh, Unix is a world of pain for developers."

To me, this statement from Miguel illustrates
just how horrible GNOME/Gtk is for developers.
He spent years saying you don't need an OO
language to do OO GUI development - he finally
figured out he was wrong.

Developing in KDE/QT/C++ is _easy_. Don't
believe that because one team (GNOME) made
terrible decisions that there is only one way
(Mono) forward in Linux development.

I've used Mono/Gtk# and Java/SWT, and they *are*
very nice. But they are only revolutionary when
compared to the stone knives and bearskins that
is the GNOME/Gtk API.
Reply to this comment
In comparison to what?
by July 16, 2004 2:18 AM PDT
"Oh, Unix is a world of pain for developers."

To me, this statement from Miguel illustrates
just how horrible GNOME/Gtk is for developers.
He spent years saying you don't need an OO
language to do OO GUI development - he finally
figured out he was wrong.

Developing in KDE/QT/C++ is _easy_. Don't
believe that because one team (GNOME) made
terrible decisions that there is only one way
(Mono) forward in Linux development.

I've used Mono/Gtk# and Java/SWT, and they *are*
very nice. But they are only revolutionary when
compared to the stone knives and bearskins that
is the GNOME/Gtk API.
Reply to this comment
Big winner
by July 16, 2004 2:33 PM PDT
" So, we are late. We are very late--we are 18 months behind Microsoft. But we still shipped, and people are still using it."
and you will be alway late...

if you really need .net as much used another product like ms.net.... at least you will not be late

"We did a study at Ximian when we were trying to find customers for Mono. We found that people said that it was 25 percent more efficient to build in ASP.Net, because they have to do all this academic crap (with J2EE)."
we know now Miguel de Icaza is a ******* and they said ********

that very winner to compare j2ee and asp.net...

why not jsp vs asp.net?


big looser
Reply to this comment View reply
Big winner
by July 16, 2004 2:33 PM PDT
" So, we are late. We are very late--we are 18 months behind Microsoft. But we still shipped, and people are still using it."
and you will be alway late...

if you really need .net as much used another product like ms.net.... at least you will not be late

"We did a study at Ximian when we were trying to find customers for Mono. We found that people said that it was 25 percent more efficient to build in ASP.Net, because they have to do all this academic crap (with J2EE)."
we know now Miguel de Icaza is a ******* and they said ********

that very winner to compare j2ee and asp.net...

why not jsp vs asp.net?


big looser
Reply to this comment View reply
Open Source is a Joke
by July 17, 2004 1:44 PM PDT
open source is actually a big joke or i can say a way to harm a company, create a rip off and give it free in order to harm your compititors. and way every open source project is linked a word speelled like "MICROSOFT", way way, every open source project is just linked to creating alternative to microsoft, but these open osurce people still hates microsoft and its technologies, no wonder open source is a tactic to big down microsoft funded directly and indirectly by microsoft compititors. i think they should now dump the idea of linux to create an alternative to longhorn. bye
Reply to this comment View reply
Open Source is a Joke
by July 17, 2004 1:44 PM PDT
open source is actually a big joke or i can say a way to harm a company, create a rip off and give it free in order to harm your compititors. and way every open source project is linked a word speelled like "MICROSOFT", way way, every open source project is just linked to creating alternative to microsoft, but these open osurce people still hates microsoft and its technologies, no wonder open source is a tactic to big down microsoft funded directly and indirectly by microsoft compititors. i think they should now dump the idea of linux to create an alternative to longhorn. bye
Reply to this comment View reply
Wondering about this
by July 18, 2004 9:45 AM PDT
Hi.
im wondring about things mr Miguel de Icaza
said ,Mono would never catch .net and it will never complete , its obvious , MS dont like competitor
and linux is another annoyer of microsoft ,
So how will MS let MONO to complete?
Does Mr Miguel de Icaza , has all technical design documents of .net to implement its core services ?
Mr. Miguel de Icaza when you could run Yukon , or any other MS .net based Commerical products on linux he can claims that mono is goiing to complete .
Reply to this comment View reply
Wondering about this
by July 18, 2004 9:45 AM PDT
Hi.
im wondring about things mr Miguel de Icaza
said ,Mono would never catch .net and it will never complete , its obvious , MS dont like competitor
and linux is another annoyer of microsoft ,
So how will MS let MONO to complete?
Does Mr Miguel de Icaza , has all technical design documents of .net to implement its core services ?
Mr. Miguel de Icaza when you could run Yukon , or any other MS .net based Commerical products on linux he can claims that mono is goiing to complete .
Reply to this comment View reply
courses on J2EE for anyone
by September 11, 2004 1:20 AM PDT
quoting Miguel from the article:
"Yeah, and you see a lot of people using all the alternative technologies with Java like Struts. The problem is that other than a couple of O'Reilly books, there is nothing else there. It's not something that you can attend a course on. It's not something you can just pick up training or support anywhere."

au contraire: try CIS 278 at Washtenaw Community College in Ann Arbor. or try Sang Shin's online course; it cycles three times a year.

No courses, Miguel? Come on, why are you spreading this FUD?

-- TT
Reply to this comment
courses on J2EE for anyone
by September 11, 2004 1:20 AM PDT
quoting Miguel from the article:
"Yeah, and you see a lot of people using all the alternative technologies with Java like Struts. The problem is that other than a couple of O'Reilly books, there is nothing else there. It's not something that you can attend a course on. It's not something you can just pick up training or support anywhere."

au contraire: try CIS 278 at Washtenaw Community College in Ann Arbor. or try Sang Shin's online course; it cycles three times a year.

No courses, Miguel? Come on, why are you spreading this FUD?

-- TT
Reply to this comment
 See all 28 Comments >>
Powered by Jive Software

Latest tech news headlines

Resource center from News.com sponsors
Aligning CIO & CEO visions
What CIOs need to know

Click Here!
It's a simple truth. The closer you and your CEO see things, the greater your chance for success. Our exclusive report can help you get there—and help your business grow. Get the report featuring the views of 765 CEOs on innovation. learn more

Click Here!
What CEOs think: Innovation Insights for CIOs

Learn How CIOs can deliver strategic success for their enterprises

The New CIO: Beyond Technology

Learn how CIOs become heroes

Podcast: Chris Gorog of Napster

Learn about the impact of technology in strategy execution

The future of the Enterprise

Read more about tomorrow's organization

CIO Vision Series:Innovating within a retail industry disrupted by the Web

Video: CIO of Virgin Entertainment Group, Robert Fort

CIO Vision Series: Innovating around social search

Video: Yahoo CIO Lars Rabbe

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.

More feeds available in our RSS feed index.

advertisement

Inside CNET News

Scroll Left Scroll Right