HomeDigital EditionSearch Dotnet Cd
ASP.NET C# Certification Exams The CLI Data Access Editorials Extending .NET Fundamentals Interoperability Interviews Migrate Mobile .NET Mono .NET Interface Object-Oriented Programming Open Source Optimization Product/Book Reviews Security Source Code UML Visual Studio .NET

As I write this, .NET Framework 1.1 and Visual Studio 2003 have just been released; these will have little effect on the open-source implementations of .NET, but there is still much to talk about this month. Keep in mind that when I mention future release dates, these are often more wishes than plans. It's tough enough to predict software schedules as it is; imagine predicting a schedule when you do not even pay your workers (as is the case in open source).

.NET Framework 1.1
Version 1.1 of the .NET Framework is mostly cleanup, bug fixes, and performance enhancements. Most of the changes in v1.1 are changes in the implementation, which typically do not affect open-source projects (since open-source projects have their own implementations). Many of the interface changes are minor, such as a change in visibility (i.e., private to protected), or the overriding of a function that was inherited in v1.0. In some cases open-source projects are already working to the v1.1 specs (System .Windows.Forms in the Mono Project for example); in other cases open source is ahead of the commercial Microsoft release, for example both Rotor and DotGNU already have "experimental" implementations of generics (i.e., templates).

Portable.NET
Portable.NET has released v0.5.4, which has the beginnings of support for generics and a number of other improvements. A full list of new features can be found at http://dotgnu.org/pipermail/ developers/2003-March/010286.html. Portable.NET has also set a schedule (end of April - v0.5.6, May - v0.5.8, June - v0.6.0) to be ECMA compatible with version 0.6.0 at the end of June. This is definitely a "stretch" schedule, and is as much to help the team focus on completing the core standard as it is a promise to make the actual dates. I think it is great that the Portable.NET project has given itself this challenge to focus on the final drive to ECMA compatibility.

Mono
Mono is also looking forward to some big releases. The next release (v0.24) should include a new compilation engine that is going through final testing and will include some packages such as System.Windows.Forms (if some remaining issues with Winelib are resolved), and some sample applications that have previously been available only from CVS. The new compilation engine, temporarily named "Mini," will be released as Mono. Mini converts Intermediate Language to native code and should not be confused with C# (and other compilers), which generates the Intermediate Language input to Mini. Mini is cleaner, more modular, and more compliant with the standard than the old Mono engine. This will make it easier to port Mono to other processors, and has already enabled the addition of a number of optimizations not supported by the old code. For a description of the new features, including the new supported optimizations, see http://lists.ximian.com/archives/public/ mono-list/2003-April/013269.html.

About the time you read this, Mono plans to release v0.25, which will have support for the latest Gnome releases and better integration with the latest Linux releases. As I mentioned earlier, these are target dates, not promises of completion.

Bits and Pieces
There is a new Mono community Web site at www.gotmono.com. This site currently consists of a bulletin board that has a lot of the same information available on the Mono mailing list, but is better organized.

For .NETDJ's German readers, there is now a book devoted exclusively to Mono, Mono. .NET-kompatible Anwendungen mit dem Open Source-Framework. It is in German only (ISBN 3827264928).

For readers without CVS access, all of the Mono source code can be accessed via a Web browser at http://cvs.hispalinux.es/cgi-bin/cvsweb/ ?hidenonreadable=1&f=u&logsort=date&sortby= file&hideattic=1&cvsroot=mono .

Mono has added a link (https://mailserver.di.unipi.it/ pipermail/dotnet-sscli/msg00218.html) to its site (as reported by Derek Ferguson in the April issue of .NET Developers Journal) where Microsoft has stated that all patents related to the ECMA standards will be royalty free. Microsoft had offered the patents royalty free to the ECMA committee, but ECMA turned them down, preferring to keep their standard RAND (reasonable and nondiscriminatory) terms. This is the first time I have seen a legally binding offer (between HP and Microsoft) for the royalty-free patents. I think this is great news for open-source implementations of .NET, even if it only covers the 10% of .NET classes that were included in the ECMA standards (the C# language and .NET runtime are also included in the royalty-free ECMA standards).

About The Author
Dennis Hayes is a senior software engineer at Raytek Corporation in Santa Cruz, CA, where he writes process control software. He has been involved with the Mono Project for over a year, and is in charge of the System.Windows.Forms and System.Drawing namespaces. dennish@raytek.com

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.

  E-mail: info@sys-con.com