Post a Comment
I believe that people FUD'ing about Mono and Gnome doesn't know what they are talking about. Mono is what it is and its not bound/limited/slaves by Microsoft in any way. Even though its not a complete .NET implementation it is still one of the best frameworks for application development there is, and with the GTK+ bindings the developers can create complete applications without any risk of exposing to to Microsoft patents and such.
When I read FUD like that begin to believe that the reason why people are using Linux is because they hate Microsoft (many people hate those with success. its called jealousy and is as common as it is sickening) rather then the obvious advantages of the technology and concept of free/open source itself. Its like: "my list of why I use Linux: Its not big old evil Microsoft. The end.". Throw in a few dollar signs and a few "omgz! MONOPOLY" and you got yourself a brand new 14 year old Linux fanboy without a clue.
Update: fixed a typo..probably more though..
Edited 2008-02-26 15:43 UTC
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.
"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.
The patent issues surrounding Mono are actually fairly complex, and for this reason I don't think it's right to treat people as stupid, malicious or whatever else just because they're not 100% up to speed on the matter. There are plenty of understandable reasons for a person to be nervous about Mono, even if a more well-informed individual would know that they needn't be.
Microsoft has maintained a very aggressive stance towards desktop Linux for a while now, and lately they've been rattling their patent sabre rather loudly. Now, in this case the patent threat is not valid for most of the Mono project and those apps that use it, but given Microsoft's history, don't you think the paranoia is the least bit justified?
Bashing and flaming people and saying they are just jealous of Microsoft is only going to further alienate them and make the problem worse. Try to empathise with those who are probably just trying to defend their software freedoms, even if they are going about it in the wrong way.
if they just wanted good technology, why not take advantage of KDE and Qt?
You're not comparing like with like.
Qt is a cross-platform toolkit, and Mono is a runtime which supports multiple programming languages as well as C#. GTK+ and other Gnome libs form a cross-platform toolkit and it makes perfect sense to complare that with Qt.
You can write Qt apps in Java via the excellent QtJambi bindings, and you can write Qt apps in Mono/C# via the Qyoto bindings (with Kimono the KDE superset coming in KDE 4.1).
Mono isn't part of Gnome and has no dependencies other than the GTK# bindings. Those bindings don't make Mono part of Gnome any more than the Qyoto/Kimono bindings make Mono part of KDE.
Obviously there are some nice apps written in GTK#, but they are all optional and none of the core Gnome libs depend on Mono. In the same way none of the core KDE libs depend on any language other than C++ which is fine, as C++ is a great language for writing libs.
The more Gnome or KDE applications (as opposed to libs) which are written in non C/C++ languages, the better as far as I'm concerned, as they are too hard to learn for most people, particularly casual programmers. If Mono helps use break away from needing to write apps in such primitive languages, that is all to the good in my opinion.
People are complaining about more and more applications being made on mono and included in ubuntu/fedora/gnome.
MONO is a microsoft technology and although it is under the ECMA - mind you microsoft still holds the license for it. Being under ECMA *does not mean* it is royalty free. A legal license is still required from Microsoft for using any C# technology.
Novell has received those license from microsoft so novell has nothing to fear but other vendors who didnt sign up with the microsoft threats are vunerable.
Novell is pushing mono technology in gnome - since it has the cross-patent license from microsoft.
MONO is a microsoft technology and although it is under the ECMA - mind you microsoft still holds the license for it. Being under ECMA *does not mean* it is royalty free. A legal license is still required from Microsoft for using any C# technology.
Novell has received those license from microsoft so novell has nothing to fear but other vendors who didnt sign up with the microsoft threats are vunerable.
Novell is pushing mono technology in gnome - since it has the cross-patent license from microsoft.
I struggle to see how this could be the case.
Novell also support the openSUSE distro which is NOT covered by the novell-microsoft deal. So why would Novell seek to harm its own community distro? Novell uses openSUSE basically as the test-bed for SLES and SLED so in that sense the openSUSE project is very important to Novell. I dont believe Novell has evil intentions with the microsoft deal. I believe they just saw an opportunity and a wad of cash and agreed it was the right way to go. I'm dont necessarily support their decision but I dont judge them for it either.
Mono seems to be just another toolkit ported across to linux. We are happy to use every other tool under linux, many which have links to the windows world in some way, and yet we see Mono as somehow evil just because MS created it. Normally I'm with the anti-MS crowd but I have to take this on its merits and say that if Mono is as good as people say, then why not use it?
Why people dont like mono is because it's Microsoft technology, it maybe a good language and easy to write but the fact remands it's their tech.
Despite all this the mono apps in the article/blog are very good but one has to wonder why mono was even created in the first place. I think OSS devs take first and ask questions later like it's a great new toy to make apps faster. To me it's just like the Installer for Ubuntu inside WIndows, they did it without even thinking of the ramifications of installing Linux on ntfs, this seems like the same thing so me.
If people get stabbed in the back by Microsoft because of this then it's their own fault, dont say you wasn't warned.
Edited 2008-02-26 15:48 UTC
Well, some people don't care that it's a "Microsoft technology" and simply don't like Mono because it's huge, bloated, over-engineered and completely unnecessary. It's like a great big middle finger raised at the beauty and simplicity of the Unix tradition. A tradition that Linux is, unfortunately, slowly sliding away from. Writing a simple note-taking app with Mono is like using a jackhammer to kill cockroaches. It may work, but it's not even close to the right tool for the job.
I guess then Java, Python, Perl, etc also qualify for this argument granted they are not from Microsoft. If I install Gnome, it pulls in Python and Perl. I personally would have preferred if they kept to simple C for all the stuff but there are many who don't agree with me 
I don't think that anyone can honestly compare Perl or Python to Mono in terms of simplicity or bloated runtime. Perl code isn't even byte-compiled last I checked.
However, I think Java completely blows. But which Gnome apps use it? None. I've been using and programming on Linux for 12 years now, and I have never installed a Java runtime. Python and Perl (though Perl code is fugly) are very useful, fairly simple, quick, and well-suited for many tasks. Not at all like Mono/C#. If it can be done in C#, it can be done much better in C or C++. C# is like "C++ for Dummies". If you can't handle thinking about pointers and memory management, you shouldn't be writing application code.
What if I can handle pointers, memory management and C++ just fine, yet realize that there are many occations when it is unnecessary and error-prone to insist on doing so by hand. What if I further realize that C# and the whole CLR concept can potentially speed up my development time and strike a very elegant balance between languages like C and C++ and languages like python. And what if I think that trying to write something off by calling "... for Dummies" simply because it makes the users life easier is a very weak argument indeed. Can I write application code then?
"If it can be done in C#, it can be done much better in C or C++. C# is like "C++ for Dummies". If you can't handle thinking about pointers and memory management, you shouldn't be writing application code."
I can be more arrogant that you. If it can be done in C/C++, it can be done much better in assembler. C/C++ is like "Assembler for Dummies". If you can't handle thinking about machine instructions and memory allocation, you shouldn't be writing application code.
You twit
To be honest I think this whole mess could be sorted out by embracing Java and actually put a real effort into making it a great alternative. For enterprise people either use .NET or Java. Thats a fact, and by pushing python, perl, <insert any other weird flavor of language here>, rather than Java people WILL use the best supported language of the two enterprise languages...that being C#.NET and therefore Mono, because at least Miguel seems to have figured out that people will use what's best supported of these two.
This is not a matter of opinion really. What the end user and the hobby programmer prefers are irrelevant unfortunately. Java is the most used programming language in the world (and therefore has the largest potential to attract new programmers to the platform), but as I understand C# and .NET are gaining market at a rapid speed.
J.R. wrote
"This is not a matter of opinion really. What the end user and the hobby programmer prefers are irrelevant unfortunately. Java is the most used programming language in the world (and therefore has the largest potential to attract new programmers to the platform), but as I understand C# and .NET are gaining market at a rapid speed."
---
According to Tiobe.com Java is king of the hill (by a fairly significant margin) and C# is number 8
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
In the enterprise work I personally do I see a general drift to J2EE and .NET (with a smattering of other stuff). Since using .NET for enterprise work means sticking to x86 hardware, and most large customers have a mix of hardware (x86, mainframes, Solaris etc) it usually means that even if they adopt .NET many if their back-end systems will still have to be developed in Java. Some see reason and just decide to adopt Java (enterprise developers aren't always code ninja so one language is often more than enough for them).
For free software I think that Java is a better choice given there is no question about patent issues (unlike .NET which has not been fully resolved). Plus, the JVM is damn fast these days and if you are writing software for Windows *all* Java 2D graphics operations are hardware accelerated using DirectX shaders as of Java 6uN (in beta and will have final release in a three months or so).
I agree.
Java is more popular than C#.
In terms of evidence:
http://www.langpop.com/ (no shortage of stats here)
http://www.tiobe.com/tpci.htm
http://www.ohloh.net/languages/compare (C# bareley registers in lines of open source code committed compared to Java)
..Otherwise do your own search on dice.com
Java is also faster:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all
Miguel even had a blog post admitting as much last December!
If you prefer a cleaner language for the JVM, which is more elegant than C# see Scala:
http://www.codecommit.com/blog/scala/roundup-scala-for-java-refugee...
And did I mention that Java is GPL, while Mono is not?
Why would I want to use a clone of a Microsoft product (Mono website even uses the word "clone"!)
"we will be cloning the .NET development"
http://www.mono-project.com/Mono_Rationale
which is, in turn derived from Java:
http://www.regdeveloper.co.uk/2007/10/30/asp_net_java_project_cool/
...which Microsoft lied about (see above link).
also see:
http://www.news.com/2100-1001-242268.html
Edited 2008-02-27 08:50 UTC
[quote]I guess then Java, Python, Perl, etc also qualify for this argument granted they are not from Microsoft. If I install Gnome, it pulls in Python and Perl. I personally would have preferred if they kept to simple C for all the stuff but there are many who don't agree with me
[/quote]
I definitely agree with you.
But my opinion is that although python is nice, I don't like it when people use python as an excuse run away from C and make their work easier to complete.
I do prefer something that works now than something "faster" later. Note that when later will come, I probably had the time to gives the same features to my apps and write C were it was critical to reach near same performance.
But as you said, this is "just" an opinion. Beside Mono which is more a legal/precaution/FUD issues.
Writing a simple note-taking app with Mono is like using a jackhammer to kill cockroaches.
Nicely stated. That cracked me up. But couldn't the same be said about Java? You can write a simple note-taking application with it but something like Python or C with GTK toolkit would be a faster and slimmer route. I like to use Java for server side code but using it for GUI work is awkward. The apps just never perform the same as native GTK.
Edited 2008-02-27 02:59 UTC
Nicely stated. That cracked me up. But couldn't the same be said about Java? You can write a simple note-taking application with it but something like Python or C with GTK toolkit would be a faster and slimmer route. I like to use Java for server side code but using it for GUI work is awkward. The apps just never perform the same as native GTK.
Indeed the same could be said about Java.
One problem with writing apps in Python is that they typically use more memory and are slower than the same apps written in C#.
I will give you this tho... C# isn't as much of a step in the RAD direction as Python is... Dare I say that IronPython is the best of both worlds? Faster runtime and faster development time ;-)
I would use Boo
http://boo.codehaus.org/
You do realize that GTK is GTK nomatter what language is used? Its not like the gtk_main() is reimplemented using Java: GTK itself is still native!
Besides...Java comes close to native performance. Sure you can still say that Swing is slow, which I agree, but then its no longer a discussion about GTK but about Swing.
Edited 2008-02-27 08:40 UTC
Has nothing to do with that. The issue is not the technology; everyone I know within the open source community love the technology, love the ideas behind it, love that it finally fixes a lot of Java issues which developers have demanded to be fixed.
What these people hate isn't Microsoft but the CEO's threats of litigation against those who either recreate their technology from scratch (clean room implementation) or simply just offer a product which provides compatibility (Microsoft has threatened Samba for example).
These aren't made up boogieman scare tactics, these are documented incidents and policies which Microsoft managers have signed off on. This isn't the lone Microsoft hater in the corner acting emo, what I have said is backed up by speeches from Balmer and this threats to those who provide compatibility but are unwilling to pay the Microsoft tax.
Until Microsoft offers a signed memoradum stating that they have no interest in persuing groups creating compatible implementations of their technologies - I wouldn't rely to heavily on compatibility products. Personally, we as a community should stop trying to catch up to Microsoft and create a superior product.
Why try and work with SMB when it would be better if developers created an NFS server and client for Windows which hooks into the Microsoft technologies - retain Windows whilst migrating off Microsoft technologies at the same time. Heck, why not use iFolder for example, its opensource and available for all major platforms; addresses the issues and leaves no one subjected to the threats of Microsoft.
These are the types of issues that need resolving. To continuously chase Microsoft for the illusive compatibility is, IMHO, going to end in tears one day.
Yea, we should all stop using Linux too because they've stated that Linux infringes on 235 of their patents and have threatened to sue.
Wake up and smell the coffee.
Yea, we should all stop using Linux too because they've stated that Linux infringes on 235 of their patents and have threatened to sue.
Wake up and smell the coffee. "
Pardon? the patents I AM REFERRING TO ARE ALREADY PUBLICLY KNOWN TO HAVE BEEN INFRINGED!
Did I make that clear for you to understand. The 235 you refer to are not disclosed. The patents regarding what I am talking about are known.
Did I make that clear for you to understand. The 235 you refer to are not disclosed. The patents regarding what I am talking about are known.
Care to share what those patents are?
I was mostly following your line of reasoning, but feel obligated to point out that iFolder is now built with mono, so it might not be the best alternative to point to in the context of your argument.
Since I don't know anything about this, I looked up the salient point at Wikipedia: Is Mono traditional FOSS or not? Is it open to manipulation from Microsoft? Does it have a legal back door?
Microsoft's shared source license may be insufficient for the needs of the community (it explicitly forbids commercial use).
and
On November 2, 2006, Microsoft and Novell announced a joint agreement whereby Microsoft agreed to not sue Novell’s customers for patent infringement.[9] According to Mono project leader Miguel de Icaza,[10] this agreement extends to Mono but only for Novell developers and customers.
http://en.wikipedia.org/wiki/Mono_(software)#Mono_and_Microsoft.E2.80.99s_patents
That last part implies that Microsoft COULD possibly sue people or organizations that use Mono.
So... given the relationship between Microsoft and Novell, and how Novell is the big organization pushing Mono, maybe there IS something to be concerned about. This situation does look suspiciously like Microsoft worming its way into having power in the FOSS world.
Edited 2008-02-26 16:25 UTC
Erm, they won't. And there's a very, very simple reason as to why they won't.
You see, everybody infringes upon everybody's patents in the software world. That's just how it is. Apple infringes on thousands of Microsoft patents, Microsoft infringes upon thousands of IBM patents, and so on, and so forth. Companies like Microsoft or Apple do not sue other players on patent infringement, because they know full damn well they themselves are liable too.
It would cause an all-out patent lawsuit suefest that will hurt everyone, and benefit no one. And Microsoft, Apple, and so on realise that pretty darn well. It's a silent, unwritten covenant.
Wordplay there, did you see?
Edited 2008-02-26 16:47 UTC
And everybody with half a brain knew that SCO didn't have an snowball's chance in hell of winning... didn't stop them from doing something stupid. Betting on Microsoft to do what's rational makes the fatal assumption that Microsoft's management is rational, and will continue to be in the future. After Balmer's recent bellowing in the press, I'm not convinced that this is a reasonable assumption.
I'm sorry, but the resources expended by the Mono faithful to play perpetual catch-up to Microsoft's superior .NET implementation could have been much better spent augmenting one of the many free and unencumbered VMs out there. ParrotVM comes to mind as needing some love.
What makes you think that Microsoft's management is irrational?
I'd say that they're pretty solidly in the rational camp. Instead of gaudily spending personal and corporate money (like Ellison of Oracle) or publically and personally deriding the competition in the press (McNealy of Sun), they generally work relatively quietly to make it so that the rational choice is to choose Windows and other Microsoft technologies. Sometimes it's figuring out what the competitors do well and adopting that, and surprisingly often it is noticing what the competitors do poorly and doing the opposite.
Look at yourself. Look at what you just said. Do you think it is ignorant to put down Wikipedia like that?
Or do you think Encyclopedia Britannica is a better source for Mono license information?
Or perhaps people should listen to YOU instead of an encyclopedia edited by the public and moderated by peer-reviewed users.
Did you not believe the article at novell.com? Did you think Miguel de Icaza's blog was hijacked? Do you think these sources cited at Wikipedia are invalid?
Please reply with a source on this topic that the public can trust. I want to read that source. Please share it. OR, if you think you made an ignorant post, you could apologize.
You completely misinterpreted one of the quotes. If you had only read what came before it you would understand that Mono doesn't use Microsoft's shared source licesnse therefore isn't susceptible to Microsoft in that respect. Mono is pure GPL. This is the entire quote:
Microsoft has a version of .NET available for FreeBSD, Windows and Mac OS X called the Shared Source CLI (Rotor). Microsoft's shared source license may be insufficient for the needs of the community (it explicitly forbids commercial use).
Cleary this changes everything. Shared source has nothing to do with Mono. Mono is simply a C#/CLR standards based implementation with its own libraries. Mono doesn't depends on anything by Microsoft other than standard language features of C# that happened to be created by Microsoft.
So... given the relationship between Microsoft and Novell, and how Novell is the big organization pushing Mono, maybe there IS something to be concerned about. This situation does look suspiciously like Microsoft worming its way into having power in the FOSS world.
Microsoft didn't worm its way in anywhere. Mono was created by Ximian not Microsoft. Novell/Ximian are pushing Mono because of the ease of programming with the Mono environment. There is no conspiracy here despite what all the FUDsters want you to beleive.
Oh well, as a user I guess I just ask, "How well does this work?". The mono proggies I've tried in gnome are OK but I wouldn't say they were more than that. Each one has counterparts - in KDE for example - that are equally good and in some cases better, imho.
Tomboy is often held up as a poster child, but in my experience it sits awkwardly: neither a quick and basic stickies nor a more fully fledged info manager. The nearest Linux has to the whole nine yards is basket, I think, but that has problems too (slow screen redraw, eg) or maybe tiddlywiki and tiddlysnip - darn useful because darn easy to use.
So if I don't like mono I'm not missing out, and if others do like mono then that's really none of my business. Live and let live, etc. It does seem to bring a lot to the party, and so long as participation is voluntary, what exactly is the problem?
I think the article is slightly to one side, though. If you read Planet SuSE it is sometimes difficult not to get the impression that "novell = mono + gnome" is just about the only thing going on there. This combo is certainly prominent on Planet SuSE by virtue of the weight of postings. But the key, imho, is not Novell but Red Hat. Where Red Hat goes, most of the rest of us will eventually follow. Novell seem to have tried pushing mono to the front of the queue as part of their business strategy and it hasn't worked. So there's really no chance Red Hat are about to copycat the same mistake.
the part that bugs me the most is that mono is a default install on pretty much every distro now. but, as a dependency for what? a freaking note-taking app! on a recent install, i found tomboy to be the *only* installed package depending on mono.
i choose not to use mono for my own personal reasons. to have it hurled upon me as a default install because of a freaking note-taking app is pretty insulting.
now, considering what a big controversy surrounds mono, why are all of these distros installing it when so few of their supported applications require it?
besides tomboy, maybe f-spot, and possibly beagle are being installed commonly. these are all applications with countless alternatives that are not surrounded by controversy. it just seems pretty silly (and flamebaiting) to place mono in a default install set, when nothing particularly important requires it.
This is slightly off-topic, but a showcase app for .NET - FreeTrain - now builds (although not quite runs) on Mono, which will further strengthen the case for Mono as a platform.
More info here:
http://freegamer.blogspot.com/2008/02/develicious.html
FreeTrain:
http://freetrain.sourceforge.net/
http://www.kohsuke.org/freetrain/
Edited 2008-02-26 17:16 UTC
Are flamewars started by obvious trolls and obviously totally clueless trolls at that (see the comment from JCooper) really newsworthy?
Now if there had been a discussion between some actual Gnome contributors about the issue, I'd sure would like to read it, but this pathetic little trolling? Please...
When it comes to the ECMA standards for the CLR and the C# language, and the GTK bindings (GTK#), I'm not in the least bit worried about an MS patent attack - they're standards, and MS would not have a legal leg to stand on. As for interest or usage of Mono, these are the areas I'm interested in.
As for WinForms, ASP.Net, and ADO.Net, I'm less interested.
And these are non standardized MS patented, specifications. Thus, they have more risk. However, as with the CLR and C# implementations, they are clean room implementations of public documentation. And they will never be up to the implementation of Microsoft's latest. And because of this fact, it's probably advantageous for MS to have behind the times limitation, so they can attract more developers. Thus, I doubt they would want to sue.
Apart from legal issues, I think Mono is good technology. I completely distrust MS, and I hate Windows, dislike Office, and I think they're not customer focused. But I do think they make good development tools, and the .Net runtime and libraries, and the C# language, are good examples of MS doing a good job of putting out something that is excellent for developers. I prefer Java, as it is fully open, and cross platform, and multiple open source and proprietary implementations. But .Net/C# are good, and even have some niceties above and beyond Java.
And I think Mono is a really good implementation. I especially think MonoDevelop is excellent - the best IDE for Gnome development, IMHO. As a user, I'd rather use C based apps, because they have less overhead and run and start faster. But there is some good software being developed for the Gnome desktop using Mono (Banshee, Blam, F-spot, Monodevelop).
To add to that, I like the fact that the existence of Mono gives a familiar tool for Windows devs to transition over to Linux. This has proven fruitful, as many proprietary software companies have made Linux versions of their .Net based software using Mono - see this link:
http://www.mono-project.com/Software
Look at the commercial applications section.
Those are extra apps that would otherwise not be supported on Linux.
Finally, I'd like to make the point that if people are so worried about MS patents on the CLR and C# and WinForms, ADO.Net, and ASP.net, these same people should also be worried about Samba patents, and Win32 patents (Wine), and Exchange patents (Evolution's Exchange server interface), and so on. If you're going to avoid Mono like the plague due to perceived legal issues, you'd better avoid Samba and Wine like the plague as well, for the same reasons.
The fact is, we as Linux users can't completely isolate ourselves out of the Windows ecosystem. We need to inter-operate in this Windows dominated world, if we expect anybody to use Linux. We can't run scared of MS patents. No, nobody can ever trust Microsoft, except to always do what's good for their bottom line and their shareholders. And suing individual customers or competitors is bad for their business, and would only trigger a patent war.
As much of a Linux fangirl as I am I don't really have much against Mono. .NET apparently is a great language, lots of companies use it so it's nice for developers to be able to practice C# under Linux also, it allows somewhat shorter development times et al. I personally just choose not to use Mono apps because there's only like perhaps 2 Mono apps I would use anyway so I don't think the additional consumed memory by the VM is justifiable. I have so little memory on all of my machines that if I can save 20MB by choosing a non-Mono app instead of a Mono app then I will.
Patent concerns aside (which may be valid), I don't think people understand the purpose and strength of .NET/Mono in open source development and in development in general. I keep seeing people talk as if it is an alternative to Java. The design goal of the Java language was to provide a single language that could run on any hardware that had a JVM ("Build once, run anywhere"). The .NET Framework on the other hand is about multiple languages targeting the same platform/runtime. Although the MONO project does its best to allow for C# written on windows .NET to run in MONO, that's not the primary goal of the platform. The real crux of the platform is that one developer in one part of the world can write libraries and frameworks in one language, and then a developer on the other side of the world can use/extend those libraries/frameworks with another language. That bit is not that apparent right now because VB.NET and C#.NET look similar and there is are very few idioms that don't exist in both languages. There are other .NET languages coming down the pipe (F# for example) which look drastically different than C# which will allow developers to solve problems using a drastically different mindset, but the code will still run on the CLR and will be able to be used/extended by other developers using other languages.
Edited 2008-02-26 22:12 UTC






