Linked by Thom Holwerda on Tue 7th Jul 2009 08:51 UTC, submitted by PLan
Mono Project We've already seen some heavy discussion on Mono and C# here on OSNews the past few weeks, as it became clear the patent situation regarding the ECMA parts of Mono was anything but faith inspiring. This issue seems to be resolved now: Microsoft has made a legally binding promise not to sue anyone who uses or distributes implementations of said ECMA standards. Following this news, Mono will be split in two; the ECMA standard parts, and the rest.
Thread beginning with comment 372070
To read all comments associated with this story, please click here.
On Mono
by unavowed on Tue 7th Jul 2009 11:20 UTC
unavowed
Member since:
2006-03-23

It looks like this promise is legally binding and and unrevokable in many jurisdictions, which is definitely a good thing. However, it has some loopholes:

1. It only covers a *full* implementation of the required portions of the specs, which means that even if a small part is missing in an implementation, it could potentially fall out from under the promise.

2. It only covers .NET versions up to the current version. It does not cover any future versions, which means Microsoft can change their minds at any given moment, leaving Mono to either remain stagnant or continue with the risk of being sued.

I can imagine a scenario where .NET 5.0 comes out and some company invents a great way to make money using Mono, directly in competition in Microsoft. Do you think Microsoft would hesitate to discontinue the promise when they release .NET 5.1?

People using Mono don't give Microsoft any direct benefit. Microsoft's strategy may be to expect more developers turning to them for support or buying their software because they're already familiar with C#. What's of note is that Microsoft are in direct competition over these developers with Java. What happens when Java gets marginalised by .NET/C#? Mono will have no more advantage to Microsoft, and they may decide to act against it. It already happened to other unfortunate companies.

And even if this promise were to remove all lawsuit threats and Mono could be used without any fear, it will still essentially remain under Microsoft control. What many people fail to notice is that Microsoft is calling all the shots on the direction where .NET is headed. I would feel very uncomfortable with part of the Free Software ecosystem depending on something under their control. I feel uncomfortable even having it in the default install of Ubuntu. It's like everyone forgot who we're dealing with here.

Not to mention the technical deficiencies like encouraging closely coupling your program to native libraries, the inelegance of putting x86 DOS code into the header of every .NET program, and the mess of a standard library.

In my opinion, if we must use a statically-typed interpreted language, we should go with Java. Some folks have been maintaining Gtk/GNOME bindings for Java (http://java-gnome.sourceforge.net/4.0/), why not give them a try?

Edited 2009-07-07 11:34 UTC

Reply Score: 5

RE: On Mono
by google_ninja on Tue 7th Jul 2009 13:20 in reply to "On Mono"
google_ninja Member since:
2006-02-05


Not to mention the technical deficiencies like encouraging closely coupling your program to native libraries, the inelegance of putting x86 DOS code into the header of every .NET program, and the mess of a standard library.


P/Invoke is the absolute last resort in .net, just like JNI is for java, to say its "encouraged" is completely false. And .net compiles to IL, which get JITd to native code on the first run, just like java and bytecode. I think someone has been feeding you lies.

In my opinion, if we must use a statically-typed interpreted language, we should go with Java. Some folks have been maintaining Gtk/GNOME bindings for Java (http://java-gnome.sourceforge.net/4.0/), why not give them a try?


Because Java sucks? There are fewer and fewer people even in the java world that like java, which is why there is such an interest nowadays in stuff like scala, groovy, and javafx.

Java vs C#, C# is the clear and obvious winner. When it comes to static languages, scala is IMO the most elegant, modern, and downright cool language around nowadays. And while I haven't gotten into it too much yet, javafx looks like a fantastic language for UI, much better then general purpose languages.

Edited 2009-07-07 13:24 UTC

Reply Parent Score: 2

GPL compatibility?
by raboof on Tue 7th Jul 2009 14:29 in reply to "On Mono"
raboof Member since:
2005-07-24

It only covers a *full* implementation of the required portions of the specs, which means that even if a small part is missing in an implementation, it could potentially fall out from under the promise.


If this is true, doesn't this make Mono GPL-incompatible (assuming the 'promise' is needed beyond mere clarification)?

I seem to remember the GPL requires it must be possible to distribute modified versions. If the 'promise' only covers full implementations, modified versions which omit part of the Mono stuff are not allowed, thus violating that part of the GPL.

The fact that it's MS who introduces this restriction (rather than the distributor of the GPL'd software) shouldn't make a difference (section 12 of GPLv3, but something similar was in v2 iirc).

I might be mistaken here, but please, make a convincing rebuttal rather than just shouting FUD at me ;) .

Reply Parent Score: 3

RE: GPL compatibility?
by vivainio on Tue 7th Jul 2009 15:49 in reply to "GPL compatibility?"
vivainio Member since:
2008-12-26


I seem to remember the GPL requires it must be possible to distribute modified versions. If the 'promise' only covers full implementations, modified versions which omit part of the Mono stuff are not allowed, thus violating that part of the GPL.


A promise does not imply that the stuff not covered by the promise is forbidden. Therefore, this does not cause GPL incompatibility.

Reply Parent Score: 3