Linked by Thom Holwerda on Mon 6th Oct 2008 10:37 UTC, submitted by John Mills
Mono Project The Mono project has released Mono 2.0. As most of you will know, Mono is an open-source implementation of Microsoft's .NET framework for Linux, Mac OS X, Windows, and other operating systems. The 2.0 release comes packed with new features, the main ones being the compiler upgrade to C# 3.0 with support for LINQ, as well as the inclusion of ADO.NET 2.0, ASP.NET 2.0 and System.Windows.Forms 2.0. The release notes detail all the changes and new features.
Permalink for comment 333005
To read all comments associated with this story, please click here.
RE[7]: Amazing
by google_ninja on Thu 9th Oct 2008 13:16 UTC in reply to "RE[6]: Amazing"
Member since:

I see what you are saying about patent vs copyright. I am not entirely convinced that the exceptions in the law around reverse engineering do not apply to patents, but at the same time im not in the mood to go hunting down the info at this moment in time ;)

Mono is not a great platform at all for Linux if, years hence, when a number of mission-critical Linux enterprise applications have been written in C# and using Winforms, ADO.NET and/or ASP.NET, and Microsoft decides to sue.

You missed my point with this. There are two purposes to mono. one is to be like wine, and reduce the difficulties of porting to linux to writing a few lines of code. The second is to create an open implementation of the CLR. Nobody is saying they are not on shakey legal ground with the first thing.

if you go here you will see what I am talking about.
The .NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms.

Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.

The Mono project has gone beyond both of those components and has developed and integrated third party class libraries, the most important being: Debugging APIs, integration with the Gnome platform (Accessibility, Pango rendering, Gdk/Gtk, Glade, GnomeUI), Mozilla, OpenGL, extensive database support (Microsoft only supports a couple of providers out of the box, while Mono has support for 11 different providers), our POSIX integration libraries and finally the embedded API (used to add scripting to applications and host the CLI, or for example as an embedded runtime in Apache).

The core of the .NET Framework, and what has been patented by Microsoft falls under the ECMA/ISO submission. Jim Miller at Microsoft has made a statement on the patents covering ISO/ECMA, (he is one of the inventors listed in the patent): here (

Basically a grant is given to anyone who want to implement those components for free and for any purpose.

For people who need full compatibility with the Windows platform, Mono's strategy for dealing with any potential issues that might arise with ASP.NET, ADO.NET or Windows.Forms is: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless.

Not providing a patented capability would weaken the interoperability, but it would still provide the free software / open source software community with good development tools, which is the primary reason for developing Mono.

The patents do not apply in countries where software patents are not allowed.

For Linux server and desktop development, we only need the ECMA components, and things that we have developed (like Gtk#) or Apache integration.

Reply Parent Score: 2