Novell Inc. recently announced an upgrade to its Mono software that should make it easier for developers to port .Net desktop applications to Linux. Mono is an open-source implementation of Microsoft Corp.’s .Net development soft-ware. It aims to let developers take advantage of Microsoft’s .Net programming tools to create applications that will run on Linux and other non-Microsoft OSes.
The software was conceived as a way to bring .Net applications to the Linux desktop, but initial versions supported primarily server applications because that side of the development work turned out to be faster and simpler, said Miguel de Icaza, leader of the Mono project and a vice-president at Novell, which acquired Mono in 2003 through its purchase of Ximian Inc.
The new version of Mono released late last year, version 1.2, adds support for Windows Forms, the graphical user interface APIs (application programming interfaces) in .Net. That will make it easier for developers to port client applications written in .Net to Linux and other OSes, de Icaza said. Version 1.2 also adds support for applications written in C# 2.0, the current version of the .Net programming language. Other enhancements include significant improvements in Mono’s performance and memory management, de Icaza said.
The update is available now and is compatible with prior versions. “Any program that worked in Mono 1.1 will work in Mono 1.2,” de Icaza said. Like the prior version, it will also allow .Net applications to run on Mac OS X, Solaris and other flavours of Unix.
Its release comes after Microsoft and Novell announced a broad agreement intended to make life easier for customers running Windows and Novell’s SuSE Linux operating system. There’s nothing in that agreement about Mono — de Icaza said he learned of the deal only a week before the release of Mono 1.2 — but he hopes it will produce some positive knock-on effects for Mono.
Mono is a tricky proposition for Microsoft. It can benefit its customers by making it easier for developers familiar with Microsoft’s tools to create applications for Linux. But Microsoft would also be reluctant to wholeheartedly support a technology that makes it easier for customers to switch to Linux. Novell made its announcement at Microsoft’s Tech Ed Developers’ Conference & Expo in Barcelona, where it had a booth on the show floor. But de Icaza said he gave his presentations to developers in hotels away from the event. “I don’t think Microsoft would really want me to be a speaker at their show,” he said.
Still, the Mono team has a good relationship with Microsoft developers and plans further products based around the company’s software. De Icaza has contacted Microsoft about doing an implementation of its WPF/E (Windows Presentation Foundation Everywhere) technology, which allows graphics created for Windows Vista applications to run on other OSes and on the Web. He also wants to do a version of CardSpace (formerly InfoCard), a new authentication technology planned for Vista.
Mono’s development lags behind that of .Net. While it has yet to fully support .Net 2.0, Microsoft has already released .Net 3.0 to developers. And the version of Windows Forms supported today is version 1.1, which is already about a year old. De Icaza expects to release a technical preview of Mono 2.0, which should offer full compatibility with .Net 2.0, in March, with the final software likely to ship before the end of 2007. That would put Mono about 15 months behind Microsoft’s development of .Net, de Icaza said. “I’d like to narrow [the gap], but it’s not too bad because it still takes a long time before people actually adopt new technologies after they are released,” he said.