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.



1%
1%






