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.
>
|