Mono Playing Catch-Up

Open-source version of .Net is late but moving forward.

While a 2-year-old project to develop an open-source version of Microsoft Corp.s .Net Framework is making progress, its still a long way from prime time.

The Mono Project incorporates key .Net-compliant components, including a C# compiler, a Common Language Runtime just-in-time compiler and a growing set of class libraries, including ASP.Net and ADO.Net. But officials at the projects leader, Ximian Inc., said the group is still incorporating new features being added by Microsoft into the next version of the .Net development platform, dubbed Whidbey.

"Yes, of course its late," said Miguel de Icaza, chief technology officer of Ximian, in Boston, and Mono project leader, at the OReilly Open Source Convention here last week. "We were supposed to release the ECMA components, but the project has grown."

Mono turned 2 this month. Project leaders had promised an initial working version of the technology as early as June of last year. The Mono team delivered Version 0.25 of the technology last month.

The first version of Mono is now expected by the end of this year, with a code freeze in November, and its development team hopes it will match the functionality in the latest version of Microsofts .Net development platform.

Microsoft, of Redmond, Wash., is expected to demonstrate Whidbey at its Professional Developers Conference in October. The company might also opt to distribute a beta of the code at the show, sources say.

Microsoft "has been working very closely with ECMA and everything that is part of the core run-time, and the C# language has been submitted to that standards body. So now they have things like anonymous methods in C# and generics," de Icaza said.

"We currently have support in Mono for anonymous methods. By the time Microsoft shows that stuff off in October, we want people to be able to run it on Mono and more," de Icaza said.

A Microsoft spokesman confirmed the company is working on a range of advances for its .Net platform, including generics, but declined to be more specific. Generics support involves the use of templates that make the reuse of code easier.

Microsoft Research is also working on a project that enables the companys Shared Source Common Language Infrastructure to support generic type definitions and methods. The next version of Java, known as Java 2 Standard Edition 1.5 and code-named Tiger, also will support generics.

But there are still a few pieces missing, de Icaza said: Windows.Forms, which is being developed and built by the community, and Enterprise Services, such as message and transaction queuing, which are necessary to make Web services reliable.

Some Mono observers say they are watchful of Microsoft in this situation, wondering whether the software company is merely tolerating Mono now. "They will either outpace it with rapid-fire revisions to .Net or simply let Mono languish," said one observer, who requested anonymity.

"In regards to using it as a standard to develop apps for the Unix world, I think that the effort is admirable but doomed," said Scott Risdal, a senior software engineer at Saturn Systems Inc., in Duluth, Minn., and a developer who said he has only recently become familiar with .Net because of a project that required some Pocket PC development using C#.