Project Mono, an independent effort to create an open source version of the Microsoft .Net Framework, expects to release version 1.0 of its software this year, probably in the fourth quarter.
The project, launched in July 2001, aims to create a runtime environment for Microsoft's .Net Framework for a variety of operating systems, including Linux, Mac OS X, Windows and Unix, said leader Miguel de Icaza, CTO at Ximian, a Linux vendor spearheading the project.
By providing a set of open source tools for building .Net applications that run on Windows or any Mono-supported platform, Mono should allow open source developers to build .Net applications quickly that are operating-system independent.
In short, Mono's ultimate goal is to provide the full functionality of .Net on Linux and Unix systems across a variety of architectures to the open source community. Project Mono is to the .Net Framework what the OpenOffice.org open source office suite is to Microsoft Office, de Icaza said.
Achieving this would be remarkable, in part because it would lower the cost of deploying .Net applications by making available an open-source alternative to Microsoft's technology, said Stacey Quandt, a Forrester Research analyst. The challenge now is for the Project Mono team to build confidence for the software at the enterprise level, she said.
Ted Schadler, another Forrester Research analyst, said Project Mono is intriguing because, if successful, it will validate the Microsoft architecture in the eyes of open-source developers, even though Microsoft is typically at odds with that community.
By replicating the functionality of the .Net Framework through an open source toolkit, it will also make it possible for open source developers to take advantage of the .Net architectural improvements and functionality in a Linux environment, Schadler said.
The Microsoft .Net Framework is a key component of the company's .Net architecture. The .Net Framework is designed to simplify Windows software development, deployment and maintenance by giving developers a single approach to building desktop and Web-based applications, according to Microsoft.
The Microsoft .Net Framework has two main components. The first component is a common language runtime (CLR) with common services for applications that can be built using various languages, including C, C++ and C#. The second component is a class library with prepackaged sets of functionality that has three components: ASP.Net for helping to building Web applications and Web services; Windows Forms for user interface development; and ADO.Net for connecting applications to databases.
Mono 1.0 will not emulate all the functions currently in the .Net Framework, such as Windows Forms or enterprise services such as message and transaction queueing, de Icaza said. It's not clear yet whether it will feature support for SOAP (Simple Object Access Protocol), for letting applications running on different platforms to communicate, a key ingredient for Web services applications.