Mono - an implememntation of the CLI

Allan Kelly : Mono - an implememntation of the CLI

Mono gives us .Net-compatible programming facilities and runtimes

The Mono Project is a very successful implementation of .Net based on the ECMA standards for C# and the Common Language Infrastructure. What this means, it that you can develop .Net stuff for many platforms - in particular Linux and MacOS X.

Personally, I find this very interesting as there is really no reason that this should not have been done for Java. With Java, we saw an emphasis on platform independence but only one language. With .Net we saw an emphasis on language neutrality but only one platform. With Mono, we have both - language and platform neutrality. This means you can write on any supported platform in any supported language and run on any supported platform.

The key appears to be two-fold: firstly Microsoft submitted the key technologies to International Standards bodies, a step Sun have never taken for Java. Secondly, Microsoft spent vast sums of money marketing .Net and have largely done as they have said - new Microsoft products are .Net products. This gives the industry confidence that .Net is a safe bet, whilst Standardisation enables the Mono implementers to be confident that what they are doing is guaranteed to be compatible with .Net.

The key personality behind Mono is Miguel De Icaza, who originally came to prominence with the Gnome project. Miguel is "one of those guys," who is a world-class software engineer with management skills and a commercial awareness. Miguel started Helix Code with Nat Friedman in 2001, and later renamed the company Ximian. In 2003 Novell aquired Ximian, and they have supported Mono since then. There are about 15 Novell employees working on Mono and 150 active contributors.

Very interestingly, Microsoft made a "Shared Source" version of .Net called Rotor for FreeBSD, Windows and MacOS X available. However the licence this was released under makes it unusable as a commercial application. The community tacitly regards Rotor as an attempt at a spoiler - Microsoft didn't think anyone would better Rotor, and even if they did then large chunks of Rotor would be copied and so copyright would be infringed. In fact, Mono is very stringent about excluding the possibility of Rotor code inclusion - Miguel is quoted as saying "We have a rule: If you look at Rotor, you cannot contribute to Mono. It's as easy as that", and that any large code contribution is reviewed by a third party to ensure it is not copied or derived from Rotor.

Of course this could be overly cynical - there's no doubt that there are people within Microsoft who would like to see Microsoft participating in the Open Source movement. However Mono and other projects cannot be too careful, as the SCO Lawsuit is reminding us. Large corporations can change their stance quickly, and wield the full weight of the law when they choose to.

I'm not going into this here, but the SCO case is very controversial and potantially very damaging to Open Source software of all kinds. SCO have removed many documents from their web site which oroginally provided details of the case, but most simply these 2 documents put the 2 sides of the case: Google's cache of the original SCO complaint against IBM and the Open Source Initiative's response to the case.

www.flickr.com
allanpaulkelly's items Go to allanpaulkelly's photostream
   
Last Updated
Sun Sep 26 21:18:35 2010