Developers from the loosely-knit Mono project this week made available more bits and pieces of their technology, as they slowly plug away at creating an open source version of Microsoft Corp.'s .Net initiative. Meanwhile, plans for a complete release of the technology have been put on hold.
Project founder Miguel de Icaza, chief technology officer at Linux software maker Ximian Inc., predicted earlier this year that Mono version 1.0 would be completed by now. But he said in an interview Tuesday that it won't be ready until the middle of next year.
"There's a lot of stuff in .Net," said de Icaza, who has led the effort to allow applications based on .Net to run on Linux and Unix servers. "I didn't anticipate how big it was."
In this case, size matters. Mono developers are attempting to recreate the vast Web-based infrastructure that makes up Microsoft's touted .Net initiative. It consists of development tools, underlying software infrastructure, as well as a virtual machine, known as the Common Language Runtime (CLR), which enables applications built using .Net to run on computing devices as diverse as mobile phones and large database servers.
Microsoft has released source code for some key infrastructure pieces of .Net as a way to promote broader uses for .Net, the company has said. Technology has been made available under Microsoft's Shared Source initiative, which carries a software license that limits use to research and educational purposes. With it, Microsoft intends to interest eager researchers to build .Net to run on platforms other than Windows.
So far, Microsoft has been successful at developing projects that use the Shared Source code. It has worked with Corel Corp. to recreate the CLR for the FreeBSD version of Unix and Apple Computer Inc.'s Mac OS X operating system. That project is known as "Rotor," and can be used under terms of the Shared Source license.
Mono would be the first group outside of Microsoft to reconstruct .Net. Without an endorsement from Microsoft, developers on the project are recreating the technology so that it is available for Linux and Unix. This will allow it to be used commercially without owing any royalties to Microsoft. With its go-it-alone approach, de Icaza admits that Mono is busy playing catch-up.
Since Mono was launched in July 2001, developers have made progress. It released an open source compiler that will turn code written in Microsoft's new C# programming language into applications that run on .Net on a variety of operating systems. Further work has been done to fine-tune that compiler, which now runs about 37 percent faster than the previous release, de Icaza said.
Mono took another notable step forward in its effort this week. It released its own take on Microsoft's ASP.Net (Active Server Pages), a popular Web development technology that allows developers to build dynamic Web pages, where content can change based on commands delivered through a Web browser.
ASP.Net applications can pull data from a database. One example is a weather Web site that pulls the most current weather conditions from a database and displays those on a Web browser.
With newly released Mono technology, developers are able to use a larger variety of software to host ASP.Net applications. ASP.Net is currently available for Windows servers running Microsoft's Internet Information Server. A company called Covalent Technologies Inc. has also released a commercial product that allows users to run ASP.Net applications on the open source Apache Web server.
"The big difference in this case is that this is full reimplementation of ASP.Net on the Linux platform," de Icaza explained. With it, the Web technology "can be embedded into any Web server."
Additionally, so-called database providers available for ASP.Net limit users to database server software from Microsoft, Oracle Corp., IBM Corp. and a few other vendor products. The new version of Mono includes some of the same database providers as well as open source databases including MySQL and Postgres, and standards-based databases technologies such as ODBC, or Open Database Connectivity.
Other work is in progress, including a Mono version of Microsoft's Windows Forms, which "showed its first signs of life" two weeks ago, according to de Icaza. "Not all the code is complete," he said. "It's in its very early stages."
A project to create a compiler for code written in Microsoft's Visual Basic .Net programming language is also moving along well, he said. Overall, increasing support from the development community is helping the cause along.
"In the last two months we've seen a peak of contributors," he said. "It seems that it's maturing a lot."