Mono-man brings .NET to Linux

Miguel de Icaza, Novell newsmaker 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 pre-written 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 ZDNet Australia sister publication 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 synchronisation 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 centralising on Mono as our internal development platform.

Given that Mono is a port of technology that Microsoft submits to Ecma for standardisation. 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.

Page II: Novell's Miguel de Icaza is working on a technology that he says can replicate Microsoft's vaunted software development platform on Linux.

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 standardised, 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.

Page III: Novell's Miguel de Icaza is working on a technology that he says can replicate Microsoft's vaunted software development platform on Linux.

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.

Talkback

Add your opinion

In order to post a comment, you need to be registered. (Sign In or register below)

Post your comment

Terms of Service - As a ZDNet registrant, and by using this service, you indicate that you agree to our Terms and Conditions and have read and understand our Privacy Policy.

ZDNet Australia Live

What happens when you have 'too many cooks' while creating software: http://t.co/8ITO4zZs

SAP buys Ariba http://t.co/cQy8nVWp ^ST

Google closes Motorola Mobility deal - ZDNet Australia: http://t.co/njPFGeOB.auGoogle closes Motorola Mobility de... http://t.co/V6ygypla

by http://t.co/vmlLt4bh: SAP eyes cloud super network with Ariba buy: SAP America is looking to develop "the busi... http://t.co/9OhJ6p9V

SAP eyes cloud super network with Ariba buy http://t.co/7NL5eFce

BYOD too immature for us: Human Services http://t.co/s3x2cthG via @zdnetaustralia

Google closes Motorola Mobility deal: Google has finally closed its acquisition of Motorola Mobility, installed ... http://t.co/U2G7DO7D

The federal government has released guidelines for a community cloud to be shared by agencies http://t.co/57skHLug ^ST

Fed Govt steps up on shared cloud plan - Communications - News - ZDNet Australia | @scoopit http://t.co/s0x8e1hr

Now that Google has closed its acquisition of Motorola Mobility, what's next on the company's to do list? http://t.co/5aWbp9qe ^ML

Fed Govt steps up on shared cloud plan http://t.co/dY5uxJuh

I'm a payed up lib member who has voted Labor in the last 2 federal elections. I had the previlege of speaking to Mr Turnball 3 months ag...

32 minutes ago by spazmanaught on NBN contracts may be left alone: Turnbull

Good to see Westpac's concentrating on the real IT issues !

36 minutes ago by jeff_syd on Westpac board goes paperless with iPads

Fed Govt steps up on shared cloud plan - ZDNet Australia: The Australian Government Information... http://t.co/lIRepJnI #cloud #news #AU

by http://t.co/vmlLt4bh: Fed Govt steps up on shared cloud plan: The Federal Government has proposed advancing it... http://t.co/YO4h9UI8

Google closes Motorola Mobility deal http://t.co/BkGBmagB

Fed Govt steps up on shared cloud plan: The Federal Government has proposed advancing its shared cloud strategy ... http://t.co/Yc2QBYPx

Fed Govt steps up on shared cloud plan - ZDNet Australia: Fed Govt steps up on shared cloud planZDNet AustraliaT... http://t.co/5bb7Wz1G

BYOD: What the people think | ZDNet http://t.co/0EMHmiCg

Anonymous hacks Bureau of Justice, leaks 1.7GB of data - http://t.co/HFqI12Q9 #InfoSec

Fed Govt steps up on shared cloud plan: The Federal Government has proposed advancing its shared cloud strategy ... http://t.co/dq95elts

Fed Govt steps up on shared cloud plan: The Federal Government has proposed advancing its shared cloud strategy ... http://t.co/ReA93WL9

Consumer Reports recommends Nokia Lumia 900 for dads and grads http://t.co/LsWkcsU0

#Spotify finally goes Live in Australia http://t.co/VFP8Xq8U

"@ZDNet: SAP gets huge cloud and extended business process boost with Ariba acquisition http://t.co/Ro04GlP4" ->#SAP strengthening its cloud

RT @zdnetaustralia: The Westpac board have gone paperless using iPads and a secure, home-grown app environment: http://t.co/F1d17bvF ^LH

BYOD: What the people think http://t.co/5Mh2x0u9 via @zite #byotchat #edtech

Interesting..Who uses Twitter for job search? http://t.co/KuWVItXK @zdnetcharlie

SAP gets huge cloud and extended business process boost with Ariba acquisition: SAP is focused on global cloud g... http://t.co/75ps1wG3

Microsoft exec: Dynamics CRM, AX aims to feast Oracle, SAP switchers http://t.co/XiC912eT

#SAP wants to be the biggest cloud player by 2015... http://t.co/fLwejro7

RT @playbiggeradv: #SAP wants to be the biggest cloud player by 2015... http://t.co/fLwejro7

Handy overview of #Android 's major #security flaws: http://t.co/oiVrKSHb #mobile #infosec

The implications of NZ school Principals demanding access to student mobile devices | ZDNet http://t.co/jMSJXzpT

Google closes Motorola buy: http://t.co/9ezoLnSg

War talk dominates #AusCERT 2012 - http://t.co/WbuTt174 - #security #cyber

Nuance launches in car voice activated platform (Zack Whittaker ZDNet) http://t.co/9mFEA93c

I am not sure how this issue becomes an attack on Mr Turnbull. But I guess he is fair game. In any event I would have thought a Ddos woul...

11 hours ago by Doubt on National Botnet Network coming: Earthwave

I still use 98SE. Windows ME was an abortion in a bucket and Vista was ME without the bucket. My screen may look boring, but I jumped str...

11 hours ago by Treknology on Microsoft admits Vista was 'cheesy'

This story has been voted 10 times in the last 24 hours!

11 hours ago, CeBIT 2012 opens: photos

This story has been voted 15 times in the last 24 hours!

12 hours ago, Lenovo ThinkPad 3G tablet (32GB)

Well I don't know what they have done with their EFTPOS machines, local one in WA Coles Express I used this morning and I normally do "ch...

12 hours ago by harryinthesoup on Coles ditches PINs in payment pilot

6.7 M last ditch attempt - interesting - The Auckland region (population 1.4 mil) has estimated to have spent less than this in total ...

15 hours ago by debsteele on Vic scraps HealthSMART system

Interesting - no mention of Win 98/ME/2000 ... which heralded Internet access for millions of users ? I thought Win 98/ME would be the mo...

16 hours ago by gouranga on Microsoft admits Vista was 'cheesy'

An Application like Good from Good Technologies does the same thing, working with the enterprise email server and is off the shelf.

16 hours ago by Helpdesk123 on Westpac board goes paperless with iPads

Never mind a "B+" version, go for "C" and put in a few extras. I'd like a high speed ADC (100Msps) but that's just me... Final size? Equ...

17 hours ago by sa_penguin on Raspberry Pi architect mulls design change

what a non-story. these thing happen all the time. is zdnet short on material?

18 hours ago by paulwrussell on Spotify launch suffers redirect bungle

4 months old phone died. Took 6 weeks, three visits to the authorised repairer (Fonebiz) to "fix it". 2nd hand untested parts used, I say...

18 hours ago by paracin on Sony Ericsson Xperia Arc S

It's easy to rubbish an old operating system long after the rest of the world has already passed judgement upon it. I would be far more i...

19 hours ago by ramnet on Microsoft admits Vista was 'cheesy'

If Vista is cheesy, Metro is an over-ripe Stilton.

19 hours ago by meski on Microsoft admits Vista was 'cheesy'

you are kidding right - what qualification do you have to make such wildy stupid statements - do you really have customers who pay you fo...

19 hours ago by rant rant rant on National Botnet Network coming: Earthwave

Exactly. There are two topics of discussion, that are co-mingled; 1) Unauthorized software was put on the company device, by an IT person...

23 hours ago by lamont on ABC's Bitcoin miner tackled in minutes

First off, Bitcoin is not a virus. Second off, the only way to generate Bitcoins, is by using a Bitcoin miner. More information on this h...

1 day ago by rizowski on ABC's Bitcoin miner tackled in minutes

When an operating system is sold it should not launch until an approved security service is purchased online with a list of approved supp...

1 day ago by Kevin Cobley on National Botnet Network coming: Earthwave

Admits? Don't fall for their marketing. Vista was beautiful. Microsoft has a history of trashing their older OSes.

1 day ago by anonymuos on Microsoft admits Vista was 'cheesy'

Gotta agree. For our Burnie, Tas. internet, we have a 1.5MB download speed adls connection through exetel using testra copper line. ADS...

1 day ago by brozza on Broadband Speedtest

Well the message certainly is clear. Never do anything because something might happen. Seriously it seems to me "Earthwave" just want to...

1 day ago by Hubert Cumberdale on National Botnet Network coming: Earthwave

Facebook Activity

Keep up with ZDNet Australia

ZDNet Events Calendar

ZDNet Events Calendar