Mono is a Freedomware implementation of Microsoft .NET and is apparently an increasingly significant part of GNOME Desktop Environment. This stirs some controversy on both the technical and political front. Technically some say Mono is an unwelcome performance and resource draining bloat and that applications done in Mono can be just as good, yet lighter and faster if written in C or Python.
Politically there are concerns that, being an implementation of .NET done by Miguel De Icaza and under supervision of Novell which is Microsoft's patents partner, increased proliferation of Mono in popular Freedomware like GNOME helps add weight to Microsoft's patent infringement claims towards GNU/Linux.
On Nuxified.org we're first and foremost concerned with helping people have the best possible experience with Freedomware, so perhaps the technical argument above is more fitting. But of course, some of you may be sensitive to the latter argument as well.
In any case, let's see what everyone thinks. Is Mono in GNOME a good idea and how much?
I guess Mono applications may actually be faster than Python applications, but they will be much slower than C, C++ and Objective C.
Is Mono a useful addition to the *nix toolbox? C# doesn't impress me, but compiling other languages to a common format may be useful, needing only one bytecode interpreter could potentially save space and make bytecode interpreted languages more efficient because all the effort on improving interpreters is focused on only one interpreter. But is Mono a good choice for that? Or is the Java virtual machine a better choice? Anyway I think bytecode interpreted languages will always work faster using their own custom interpreter instead of a standard one.
So Mono is not helping. Not for me anyways. If it's useful for someone else, then I guess having the choice to use it is good.
However, I don't think we should be endorsing any Microsoft technology or imitation of it, not even if we would be 100% sure it's not a trap. It makes it look like useful things are invented at MS, and Free Software is not inventing but imitating. The truth is .NET is an imitation of Java, which in turn also isn't too original.
I consider a threat (patent or otherwise) to be a threat. I don't like playing with people threatening me. I don't like to take chances and think I am too clever to fall into a trap. Plus there is more than one way to skin a cat. Every so often you come across a particularly gruesome one that perhaps you best just drop and forget about. Why hassle with something iffy when there are so many other alternatives? The last thing I ever want to believe is that something was invented that is so good that we can't do better tomorrow working together with those that respect us. To the extent dotnet is good technology, it simply serves to drive me more to find a different solution (but honestly, I just haven't really felt I am missing out on very much).
If I violate a patent accidentally, I don't feel too bad and would even fight it. But working closely with dotnet under the less than gracious circumstances is not something I accept of myself. I would in fact feel a little guilty if I violated a patent then because I was warned ahead of time. Yes, I don't like patents, but part of the reason has to do with independently rediscovering things (more or less since no one is an island). Eg, I would not want to work on mono but would not have a problem working on a JVM or Parrot. Those are welcoming communities. And of course, if I am going to stay away from something, the more of it there is, the more head-aches that means for me.
OK, with that out of the way, I'll say that it's not my business who codes for mono and for what platform. There are arguments in favor of mono and all things are useful to someone, even as an in between step. I don't support mono, but it should anyway always more or less be possible to eliminate mono apps and replace them. I would do such things if I was in the distro making business and wanted to use gnome.
Mono is not all bad. Mono can be very useful to people that actually are heavy into dotnet already. I really wish the mono supporters would aggressively court these Windows developers and seek their help. Over time, I just think most devs would find that mono is not worth the headaches for what it gives you back, but mono could introduce more people to freedomware.
I voted the "Mono applications suck, totally bad" but my real choice would be that I don't care about the apps but mono is mostly bad news. I was even tempted towards the "who cares" column as that is roughly how I see it today since mono seems to be somewhat marginalized (I think).
I tend to agree with both of you.
I personally voted that Mono applications are great, but Mono is bad news. The reasoning is that I quite like some Mono apps, but I think they could be lighter, plus all the risks that come with increased proliferation of Mono which I just don't want to, at least just in case, contribute to.
The latter may be a result of not just MS's FUD, but FUD against Mono itself too, but I can't tell exactly. It's probably a bit of both.. and it did start with Microsoft's threats. So even if I could blame sites like Boycott Novell for spreading FUD, on the other hand I can't judge them too harshly considering the long history of MS's FUD attacks.. it seems like a natural development that someone would strike back by any means necessary.
And I do think Boycott Novell project provides a perspective that may at least be useful to consider... At least they don't go about paying research firms and publications for false reports.
Technically, mono is just some interpreter-thingy (technically incorrect that).
Politically, on the one hand, it eases the liberation of enslaved developers, on the other hand, it endorses Microsoft somewhat.
But, who cares ? IMHO, Miguel de Icaza has the right to write whatever he wants, no matter what kind of political complications that creates.
>> on the other hand, it endorses Microsoft somewhat.
It is difficult to ever know if had mono and similar efforts (moonlight as well as other efforts not led by the same group) not existed would MS dotnet be chosen by businesses as a whole (much) less frequently. To what extent does mono serve as a security blanket for IT decision makers to believe they have a viable path off Microsoft? The security blanket might have the effect of allowing them to push further into MS dotnet when they might have gone for some other tool that was more cross-platform. Mono in this sense helps eliminate worries that people have of being locked in. Unfortunately, there are a ton and a half ways to be locked in to a closed source platform that is as encompassing as is Microsoft's family of platforms.
>> So even if I could blame sites like Boycott Novell for spreading FUD
What I see with Novell and some others (eg, Citrix, Apple, and various others to smaller degree) is Microsoft trying to find friendly companies (companies that will take Microsoft's money in exchange for certain conditions) where all half-decent paths that can lead users and developers off MS products/platforms are corralled. The groups that are partaking in the corralling are paid (they are) in accordance with them supporting standards that Microsoft controls and which cannot diverge from Microsoft's goals. Microsoft has a huge investment in something like dotnet (ooxml, etc). It would be disastrous for them if people decided to move to a different technology.
This is why a lot of people dislike Novell. Yes, Novell is doing what is in the best interests of their stockholders (at least short term.. possibly.. though this is debateable as they may have underestimated the response by many in the FOSS community), but they are helping to keep Castle Redmond from getting too weak and decaying. This goes against the work others are doing to run down the walls.
Business is business. People on all sides of the fence have to feed their families, so you are naturally going to find many spirited debates and efforts (not all conducted cleanly).
Mark Shuttleworth not bothered by patents or mono inside Ubuntu:
In a comment reply by Roy Schestowitz, there was also this..
>> The issue was raised in the GNOME Foundationâ€™s mailing list and ended with a promise (from Shaw, IIRC) that Novell will be asked to abstain from making GNOME dependent on Mono or strategise on it like it did. I canâ€™t recall the exact details, but I could recheck. The issue was actually raised there by â€™some guyâ€™ called Richard Stallman.
[Disclaimer, I posted twice on this thread and got very wordy the second time. I was interested in providing some balance to the various posters that were attacking Roy with a pro-mono bent. I tried to be balanced, but I showed a mostly anti-mono bent. Anyway, the posters at the bottom (feb 24) mention an alternative to mono (dotGNU) which some might be interested it, especially if they already have dotnet skills since at least one subproject is based on dotnet.]
I don't mean to dredge this thread back up (believe me when I say I want to forget about this), but it would be fitting to link to current snippets of Shuttleworth's current views on the matter as well as a tiny bit of RMS feedback too (plus, if anyone wants, a bunch more people arguing). It was also discussed on LT http://www.linuxtoday.com/developer/2008022300326OSDBLL
Mark's stance isn't very surprising. He actually said before that GNU/Linux and Microsoft will end up eventually being on the same side when it comes to patents because small "patent trolls" are the biggest threat to both. Microsoft's patent leverage isn't worth all that much in the long term because they can't sue without sacrificing a piece of themselves as well. Only value is in FUD, which is hot air and as such quickly evaporates..
Personally, I'd just avoid Mono for both whatever risks there are in strategy and for their technical shortcomings. I don't feel particularly motivated to go any deeper than that, and I doubt there would be much point in it anyway.