To view parent comment, click here.
To read all comments associated with this story, please click here.
"Actually, there are three parts to Mono:
1) ECMA Mono which is little more than POSIX for the CLR virtual machine
2) The Gtk+ Bindings for Mono or the Mac Bindings for Mono
3) Microsoft technologies like ASP.NET, ADO.NET, WinForms, etc which is not covered by any standard Microsoft has repeated stated that it owns and will defend.
"
Interesting. Can you clarify how the license relates to 1,2,3. I heard Novell got a license agreement from microsoft...what does that apply to? How 'free' as in licensing are the apps produced by mono?
The reason I avoid Mono is that I can't find a single Mono application that is better than the non-Mono alternatives
That is not avoiding mono, that is avoiding applications that do not meet your requirements. Unless of course, not being mono based is a requirement.
And yes, indeed i would point to Tomboy and Muine, applications i couldn't live without, because they are so incredible usable (which is a big plus in my requirement book). Now, you wouldn't need mono for that (i couldn't care less), but they just happen to be based on mono.






Member since:
2005-07-09
Actually, there are three parts to Mono:
1) ECMA Mono which is little more than POSIX for the CLR virtual machine
2) The Gtk+ Bindings for Mono or the Mac Bindings for Mono
3) Microsoft technologies like ASP.NET, ADO.NET, WinForms, etc which is not covered by any standard Microsoft has repeated stated that it owns and will defend.
Mono's original mandate was (1) and (2) because the Mono team thought the CLR was good technology and could help accelerate the desktop and provide a migration path for Windows programming refugees who wanted to move to Linux without losing their skills. They also repeatedly denied (3) as being pointless, since (2) could be ported to Windows and allow for Windows users to migrate to Linux easier because they already use the tools.
With this original mandate, most people, even people with Microsoft-phobia tolerated it the way that WINE is tolerated (as long as it didn't become a technology core to Linux so if Microsoft attacked, in the worst case would be an inconvenient complete rewrite issue and not a "Linux doesn't work anymore" issue).
The key controversy arose when Mono gradually shifted focus to support (3) as a full class citizen and Miguel praising (3) as being fantastic technology that is better than anything on Linux without qualification. This is something most Linux developers and users strongly disagree. He, more than anyone else is responsible for making Mono appear to be (1)+(2)+(3) without distinction, so he is primarily responsible for people's fear of too strong a dependence on Mono and giving Microsoft the power to shut down Linux (because of the repeated threats about (3)) if Linux depends too strongly on (3).
Of course, you and I know that Mono in most distros only includes (1) and (2) and avoids (3) like the plague, but you can't blame the public for being confused by the Mono message that the Mono leader has blurred, and more than you can blame the public for misunderstanding what "Java" and ".NET" means when Sun and Microsoft named all their products with Java and .NET, even if they have nothing to do with the JVM or CLR.
ECMA's promotion, defense, and standardization of OOXML which by all accounts is a joke standard, also makes their standardization process a bit suspect. From what I've read on the Mono lists (at least the early days), their CLR standardization is *a lot* better but there are still several underspecified areas (e.g. the part that allows VB.NET to interface to C#.NET) that have to be reverse engineered and a few places where Microsoft diverges from the standard. But regardless, it appears to be a legitimate standard. But unless you do this research, it is natural to assume that C# is as flawed as OOXML given the ECMA track record, so you can't blame the public for thinking that even (1) is bad.
Personally, I avoid Mono technology like the plague. It has little to do with the above (although, all things being equal, I don't see a compelling reason to chose Mono over more standard and safer technologies for programming).
The reason I avoid Mono is that I can't find a single Mono application that is better than the non-Mono alternatives, and the Mono apps tend to use up a lot of resources (especially if you leave them running a long time) -- far worse than Java based apps. Of course, any mention of this would be called FUD by Mono supporters who point to Tomboy (which is useless to me, especially when compared to Dokuwiki) or F-spot (which is as bad as Picassa for wanting to manage "all my pictures" instead of just the small set I want) or Beagle (which grinds my machine to a halt the way Tracker never did) or Banshee (which is as bad as Amarok -- I prefer a few fine grained special purpose apps that do the job rather than one multifunction utility knife that you end up pinching yourself no matter how you use it). So even if you can clear up the (3) misunderstanding and the (1) suspicion, you'll have to give people a compelling reason to so that there's a reason for Mono to exist at all for there to be any enthusiasm for Mono.