tags:

views:

315

answers:

5

In my research for getting Banshee to compile for Windows, I stumbled on this post. It seems there still lives a LOT of suspicion towards Mono in the Linux community for being a timebomb Microsoft has put under FOSS.

A few days back I read Microsoft released their Community Promise as to defuse these fears. Yet it seems not to be worth anything to developers.

I, as a C# developer, would love it to see my skills go cross platform. What exactly are the arguments against the Mono platform?

A: 

It'll always be lagging behind?

Don't get me wrong I love the idea of mono, just trying to think of possible arguments against

David Archer
As I understand from the post I linked to, it seems that the fear is more towards a legal problem.
borisCallens
Not sure if it always will. It started after .net on Windows but as far as I know they will support C# 4.0 when it's released. Most important libraries are supported.
@boris I would not expect Microsoft to sue Mono, Microsoft wants .net to be platform-independant. For more information you can listen to the latest SO podcast: http://blog.stackoverflow.com/2009/07/podcast-61/
The question is not will, but more "could". I can see the fears for oss devs to see their hard work be confiscated because MS plays it's joker.
borisCallens
@weiqure: mono is always going to be in a reactive position, so it will always lag.I seriously doubt MS wants .net to be truly platform-independent. They just want it to look that way. Their handling of ODF in office is a nice example of this trick: http://homembit.com/2009/05/microsoft-now-attempt-to-fragment-odf.html
freespace
Sure, they will lag some. But you can weigh it against the cross platform factor. But I don't think that is the biggest gripe at the moment.
borisCallens
A: 

Microsoft's track record with respect to open source and competitors in general, is one of the strongest arguments against Mono, due to Microsoft patents.

Microsoft has promised not to sue, but the patents are still there, and there might be other ways for them to be activated.

Martin Bøgelund
Can you back your statement up somehow? Isn't that what the CTP is all about?
borisCallens
The problem is that the MCP only covers parts of what is considered ".NET". Since mono implements a lot more than those core parts, there's nothing that stops MS from sueing them on those other parts.
Joachim Sauer
Boris, this is purely speculation, it's the nature of this kind of thing, please remember that. For example, Microsoft has promised not to sue OSS projects over these patents. They haven't promised not to sell the patents to a company that will sue. So as long as the patented technology is there, OSS projects will have a degree of uncertainty to take care of.
Martin Bøgelund
Aaron Digulla
True, but the thread can vastly hamper adoption. Less adoption means less support and will make the whole x-platform initiative die a slow death. I think we can all agree that one of the important factors of a technology lies in it's community and support (the reason we are on this website in the first place)
borisCallens
I have had microsoft partner vendors explain to me that we shouldn't use Linux because of the SCO lawsuit since all Linux users could be sued if SCO proved IBM had used their code. I laughed another company might have believed them.
Martin Beckett
+2  A: 

The Wikipedia article pretty much explains the current legal situation. See the Microsoft Community Promise for how much it covers. So from a legal point of view, you should be save using Mono but you can still be sued for technology you develop (as usual).

On the positive side, developing with Mono should make your code usable for more people.

On the negative side, Mono will always lag behind .NET. Mono will never be 100% compatible ,which might bite you in areas where it doesn't lag behind. Mono also has a bad reputation within the Linux community (i.e. they're labelled as "traitors" bringing Evil(TM) to the free world).

Aaron Digulla
A: 

It sounds pretty good for the parts of mono covered by the specifications mentioned. It does boil down to "We won't sue you." It doesn't mean they won't compete with you nor slander you as ingenuine. Also it doesn't promise what other licensees of their patents might do, though I think they wouldn't have much of a case given the promise.

It clearly states that if they get sued, they no longer abide to the promise for the party that is suing them. So if someone invented something patentable that is under the specs, and they patent it, Microsoft can start using it without having to worry about getting sued for patent infringement, because if they do, they can similarly sue. It's actually a lot friendlier than it sounds.

Basically the promise is contingent on a mutual agreement not to sue.

dlamblin
Lots of Sues there. Can you furhter explain your last paragraph? Do I interpret it right if I think you say their promise actually turns the table around? It enables MS to use the things that come out of Mono without being sued?
borisCallens
Yes the promise is contingent on mutual agreement.
dlamblin
+2  A: 

The argument against Mono is based on a notion that using C# will make your code fall under Microsoft patents, but using something else will avoid Microsoft patents. In my IANAL opinion, there's no reason to believe that avoiding C# will decrease the likelihood of infringement.

Therefore, it seems to me that using Mono is safer than not using it, since at least C# is explicitly covered by the Community Promise. Any other alternative technology is covered by nothing, and therefore is more at risk of liability.

ykaganovich