Mono 2.0 Brings Microsoft C#, .Net To Linux

Version 2.0 expands its support for .Net APIs, such as ASP.Net for building Active Server Pages, a Microsoft interactive Web page technology, and ADO.Net 2.0.
Mono, the project that brings Microsoft's C# and .Net to Linux, has released version 2.0 of its development framework. The framework provides a runtime system for C# and Visual Basic code to run on the Linux operating system instead of Windows, although it doesn't attempt to duplicate the complete .Net environment.

The code became available for download at the Mono project site on Monday. Mono is now a project sponsored Novell, and project leader Miguel de Icaza is now a VP of development at Novell.

"The goal is to get Windows developers to move to Linux," said de Icaza, by allowing them to use the development tools with which they're familiar, such as Microsoft's Visual Studio and the .Net languages, to develop applications that can run on both Windows and Linux.

Mono 2.0 includes the Mono Migration Analyzer, which dissects the executable code of a .Net application and offers feedback on how much work it will take to make it Linux-ready. Surprisingly, many Windows Server applications can migrate to Linux servers and run in the Mono framework without much adaptation. It's the desktop applications "that are tricky," de Icaza said in an interview.

Based on 6,000 analyzer reports, about 45% of Windows desktop applications can run out of the box on Linux in the Mono 2.0 framework. Another 17% to 18% can be rejiggered to run on Linux with what de Icaza called "a week's worth of work." Another 20% can become Linux applications with three months of work, he added. The remainder are "very difficult to convert" without a major reengineering of the application.

Mono 2.0 expands its support for .Net APIs, such as ASP.Net for building Active Server Pages, a Microsoft interactive Web page technology, and ADO.Net 2.0, a database access technology. Mono 2.0, on the other hand, does not attempt to support the Microsoft Windows Foundation, the combined API that covered SOAP, Windows binary, transactions, and other methods of communicating between Windows applications.

De Icaza said Mono has enjoyed a growing acceptance among game programmers and other groups that started out learning Windows tools but now want to transfer that knowledge to the Linux environment, without learning another toolset.

Shortly after Novell acquired de Icaza's firm, which had produced the Mono 1.0 release, the project consisted of 10 full-time developers. Now it has 40 at Novell, although some of them work on related projects, such as Moonlight, a runtime for Microsoft's Silverlight to enable it to run on Linux. Second Life has announced its servers have started running Mono-based code. MindTouch, supplier of the Deki collaboration platform, is also a Mono user.

Mono is open source code offered under the LGPL license, a version of the Free Software Foundation's GPL license. The Mono runtime represents a basis for producing applications that can run in either the Windows or Linux camp. The runtime can be used in producing code that will run on Unix, Mac OS X, and Solaris systems as well, de Icaza said.

Editor's Choice
Sara Peters, Editor-in-Chief, InformationWeek / Network Computing
John Edwards, Technology Journalist & Author
John Edwards, Technology Journalist & Author
James M. Connolly, Contributing Editor and Writer