Feeds

Mono and dotGNU: what's the point?

A bit controversial, this one

  • alert
  • submit to reddit

High performance access to file storage

Opinion Neil Davidson is technical director of Red Gate Software. He can be reached at neil.Davidson@red-gate.com

Opinion Two open-source projects, Mono and dotGNU, are aimed at providing alternatives to Microsoft’s .NET framework and developer tools. While providing freedom of choice might be reason enough to justify a project, practical programmers could be asking: What’s the point?

Sure, these projects might be of theoretical or academic use, but only ideologues are going to use them for real work. Microsoft already provides the compilers and the .NET framework for free; you can download them from www.microsoft.com/net.

According to SD Times, one of the goals of dotGNU in 2004 is to “have System.Windows.Forms under XWindows.” Great. Microsoft is working on adding edit-and-continue to VB.NET, generics to C#, embedding the CLR into the next version of SQL Server, and making a stack of improvements to managed C++. In similar timescales, dotGNU will let you put a button on a form.

Last year, Novell bought Ximian, creator of the Mono project. Mono’s roadmap is to implement about five of the Microsoft namespaces in 2004. At a generous estimate, that’s under half of the system class libraries. There will be no remoting; no side-by-side existence of assemblies in the GAC; no code signing of assemblies; and no code access security – despite this being a fundamental piece of the .NET framework. By the time Mono is anywhere near 90 percent of the current functionality of .NET, Microsoft will have released Whidbey, Yukon and probably Longhorn.

Stopping a monopoly?

DotGNU’s motivations include stopping Microsoft from achieving monopolistic control of web services. Getting people to adopt C# probably isn’t a good way of accomplishing this. Every Java devotee that dotGNU converts to the C# cause is actually increasing Microsoft’s stronghold.

Even if Mono or dotGNU gets 99 percent of the way there, that’s not enough. It’s the extra 1 percent that matters. It’s the boring stuff like adding serialization capabilities to classes, implementing good security, and documenting class libraries that makes C# and .NET viable.

Mono has its own C# compiler, written using Microsoft’s C# compiler. I’m familiar with bootstrapping, but this I just don’t get. You take a fully functional C# compiler and use it to create a lower-spec C# compiler. Actually, one of the few applications that Mono claims it can run is its own C# compiler. The major achievement of this project appears to be using somebody else’s compiler to build a compiler that will compile the compiler.

People involved in these projects seem to be convinced that they are working to break Microsoft’s perceived monopoly. But how is porting a Microsoft platform to Linux going to achieve this? How is making C# a standard on Windows and Linux going to hurt Microsoft? Far from being alarmed, Microsoft execs encourage this activity, making a lot of the .NET source code available under the ROTOR program. Their enemies are now working, for free, to extend Microsoft’s monopoly onto new platforms.

Testifying for Microsoft

If, in Microsoft’s wildest dreams, C# on Linux kills Java, and Sun or IBM accuses Microsoft of abusing a monopoly position, all Microsoft will need to do is point at Mono (and hence Novell) and dotGNU. Can you imagine it? Novell executives testifying for Microsoft in some hypothetical anti-trust case?

If the open source versions of .NET start to struggle, then Microsoft will probably just bail Novell out with $150 million or so like it did Apple. Of course, Microsoft can enforce its patents any time if it ever feels really threatened.

Competition is good for the software industry, good for Microsoft in particular (as Adam Smith pointed out, monopoly is a great enemy to good management), and most importantly, good for consumers. It is great for everyone when the open-source movement provides credible competition. At times, however, I do wish that all that passion, energy and skill went into something, well, a bit more useful.

Mono and dotGNU are interesting projects for people who are interested in computer languages, compiler construction and other fairly esoteric, hard-core areas of software engineering. But they have no practical use, and exist only with the patronage of Microsoft. ®

Combat fraud and increase customer satisfaction

More from The Register

next story
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Oh no, Joe: WinPhone users already griping over 8.1 mega-update
Hang on. Which bit of Developer Preview don't you understand?
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
Ditch the sync, paddle in the Streem: Upstart offers syncless sharing
Upload, delete and carry on sharing afterwards?
New Facebook phone app allows you to stalk your mates
Nearby Friends feature goes live in a few weeks
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
prev story

Whitepapers

SANS - Survey on application security programs
In this whitepaper learn about the state of application security programs and practices of 488 surveyed respondents, and discover how mature and effective these programs are.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Top three mobile application threats
Learn about three of the top mobile application security threats facing businesses today and recommendations on how to mitigate the risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.