Mono and C# so whats the big deal?

There has been a controversy brewing for quite some time in the Open Source world. I’ve sort of stayed out of it because I didn’t fully understand exactly what was happening, and I wasn’t sure that I cared. Still there is good reasons if you are a programmer looking to do anything in the non-MS world with C# to at least be aware of this. I currently don’t have any C# training, but I am scheduled to take a class on it in the Spring. Finally I found an explanation that didn’t resort to needless flame wars. I think it is fair and balanced. Please click through, but I’ll post a few highlights. So you know mono is an open source project that ports .net framework to Linux and Mac. So this is where the controversy lies. It is porting over a Microsoft technology, and MS does not have a good track record with Linux or open source. Also, by way of background, there are a few very notable programs that are written with mono and are being considered as default programs in Linux distributions (tomboy, banshee, fspot, and gome-do).

Mono, the free software implementation of .NET (C#), has been the subject of bitter debate for eight years. Yesterday, that debate ended — or at least shifted to another level — with Microsoft’s announcement that it was extending its Community Promise to include the patents that left Mono possibly encumbered.

The greatest fear has been that Mono-based programs like GNOME’s Tomboy or F-Spot could be the source of a patent violation case by Microsoft against some or all of the community.

In 2001, Microsoft released a letter to ECMA in which it promised that use of the patents involved would be available on request on a “royalty free and otherwise RAND ‘Reasonable and Non-Discriminatory’ basis.”

However, as Miguel de Izaca, the founder of Mono and a Novell vice president, points out, “The problem with ‘RAND’ is that it doesn’t say what ‘reasonable’ means. It has to be reasonable, but it doesn’t have to be free. Microsoft stated publicly and on the ECMA committee that nobody had to pay, but they never actually went and published the license.”

And there is the problem. While C# looks like a great language with awesome capabilities the fact that MS holds patents and is a commercial entity leaves the door wide open to forcing Linux users to pay up.

As described on his blog, de Izaca plans to divided Mono source code into two repositories. One will include the ECMA-covered libraries, and the other Mono’s implementation of ASP.NET, ADO.NET, and Winforms. By making this division, de Icaza presumably hopes to make clear to developers at a glance what code they are working with.

I’m excited to learn C# and really have every intention to use it, but this does give me pause especially if I were starting a large project that needed mono (i.e for any platform other than Windows).

Advertisements
Explore posts in the same categories: IT, Linux, open source, programming, Tech News

2 Comments on “Mono and C# so whats the big deal?”

  1. turtlewax Says:

    When on holiday in Majorca a few summers ago, I was seated at a table with a British WWII veteran. At some point, he commented that “the only good german is one with a bullet in his head”. Trust once lost is not easily recovered.

    I think Microsoft has made some serious mistakes. Even if they maintain a perfect track-record moving forward, it will be a long time before the FOSS community trusts them.

    Of course Mono is not Microsoft. To continue the analogy, its more like a German family living in New York (in 1949). Mono is guilty of being C#.

  2. mrosedale Says:

    Yes, MS has a long way to go before Open Source begins to trust them. Thanks for the post @turtlewax


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: