A huge ‘discussion’ took place on the desktop-devel mailing list of the GNOME project about a possible replacement for TomBoy, the Wiki-like note taking application-thing-program-utility written in Mono – it being written in Mono was the prime reason for the whole debate, which started here, and only got considerably nastier later on. “It would seem that lately there are a lot of FUD-spreading trolls crawling out of the woodwork trying to frighten people into thinking that GNOME somehow depends on Mono. Let’s take a look at their most widely repeated claims.”
ignored the initial dumbfsck comment that whole pointless exercise could have been avoided.
That was hardly a discussion
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.
I’m pretty sure the public perception is:
“WTF is Mono” and
“Who cares?”
There’s a vocal group of users who have a strong opinion on Mono it surely isn’t the general public.
“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? It’s way ahead still – esp now the 4.x series are out… I could see the point of the blog author about mono being dangerous.
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.
“(I) begin to believe that the reason why people are using Linux is (not because of) the obvious advantages of the technology”
That’s a funny thing to say in a post where you advocate the use of a Microsoft tech
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.
I take it you didn’t bother reading the article then?
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.
Ditto.
And might I add that, with Vala, a programmer gets all the syntactic sugar of C# without having to throw yet another runtime into the mix.
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
The point that the Mono people are trying to get through is that in JVM you just have Java while in Mono you can program in any language including Java, Integer BASIC and even IL directly.
Also, performance is not bound to language but to implementation. Of course it is easier to write fast code in ASM than in C. But .NET and Java are on their own slow division. Maybe someday, when their compilers get better, they manage(pun intended) to be just as slow as C++.
You mean except JRuby (Ruby), Rhino (Javascript), Jython (Python), Scala and Groovy (and perhaps JavaFX script)? The Java VM may be more limiting, I don’t know, but I do not think the JVM is uncapable of hosting other languages than Java. So that point is not valid I think.
Edited 2008-02-27 09:28 UTC
Still, Java needs proper GTK+ bindings before its usable for Gnome applications. Swing just isn’t good enough (FOR THAT USE). I am aware of the Java-gnome bindings and I am following its development closely, but at its current state I would not use it. Looking forward to them though, but I also think people should be encouraged to use them otherwise they won’t be used. Saying “no this application can not be a official part of the Gnome project because its Java instead of python or C” will send developers back to whatever platform where Java is accepted in a minute.
I DO think Gnome should adopt a runtime whether its the JVM or the .NET runtime and take an official stance on this. However, having somewhat unclear and questionable relationship with both helps none. Too bad Java wasn’t opensourced earlier or this whole mess probably wouldn’t be a mess at all.
Edited 2008-02-27 09:36 UTC
And did I mention that Java is GPL, while Mono is not?
Please stop spreading FUD. Mono is available under the GPL while Java still doesn’t have a fully GPL version available anywhere. Icedtea is the closest thing Java has to a GPL version and there are still some things stubbed because some propietary parts have to be reimplemented and haven’t yet.
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”
It’s just the language and the CLR. You can’t really use a language without cloning its features. The libraries are completely different.
How come no one writes Java-based desktop apps then?
Because you are comparing server-side popularity vs desktop-side popularity.
You’ll note that Java only clearly beat Mono in 2 tests:
1. BigNumber. Unfortunately, the Java implementation cheated by using JNI in order to use libgmp while Mono used the fully managed implementation. Once the Mono test was rewritten to P/Invoke libgmp, they were matched for performance. No real surprise there… because the test is really just a test of libgmp vs libgmp.
2. RegEx. If you read a fairly recent blog (from just last week?), you’ll discover that the Mono guys have just recently optimized their RegEx implementation and it is now #2, only outperformed by Tcl – it blows Java’s implementation away.
You’re right, Mono is licensed under LGPL and MIT/X11. Damn those proprietary licenses! Oh, wait…
Java is indeed a great language, but Microsoft’s clone (C#) is an improvement over Java and Mono’s clone of Microsoft’s clone makes it possible for us to use the better version of Java on Linux
“And did I mention that Java is GPL, while Mono is not? ”
This statement destroyed your whole argument, you clearly do not know what you’re talking about. Mono IS under GPL.
Hello Daveyz,
The Tiobe and LangPop surveys have a problem with the way they measure popularity, they both search for the term “LANG programming” either in Google or in books. And although C# is the main language used in .NET, people do not identify it as “C# programming” but as ‘.NET programming’. Re-running those queries would give you an idea of the actual language popularity.
Of course, if it makes you sleep better at night, you can just ignore this post and move on.
As for the licensing, the Mono VM is LGPLed, the class libraries are MIT X11, both FOSS licenses.
As for faster, it is fairly subjective, as the test that you linked mentions it will depend highly on the test that matters to you and to whether memory usage is important to you (Mono comes ahead on most tests here while being mostly within 10-20% of Java performance or matching it).
But like the Ruby crowd likes to say, what matters is how efficient you are with a language, and Java has sadly not evolved and in some cases regressed. For instance Generics in C# are a pleasure to use, thanks to its design and the fact that generics were integrated into the VM from the get go. You will be hard pressed to find someone that can tolerate generics in Java.
But all of that is old talk, C# has moved and its now incorporating plenty of functional language features and language integrated query (which also brings built-in map reduce to the language).
That is why perhaps C# and Mono are getting traction.
Miguel.
[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.
Actually I never thought of it like that and your right but try and convince Novell that Miguel de Icaza, thats all he ever talks about(mono). It seems that the Novell SUSE, ximian gang dont blog much about GNOME at all.
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
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.
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.
Care to share what those patents are?
Easy; Winforms, Indigo, WMA/WMV (which is required for Silverlight), WPF and numerous others. Basically if you took out all the patented stuff from Mono you would end up with something pretty much worthless.
Uh… other than Windows.Forms and WPF (altho WPF is not implemented afaik), none of those are part of Mono and neither of them are installed by default on Ubuntu (and I doubt on Fedora either).
Who needs Windows.Forms or WPF to write Linux-based Mono apps? No one, that’s who.
Those are only ever used to help people port their apps from Windows over to Linux, where they will likely use Qt# or Gtk#.
Talk about trolls trying to spread FUD, wow…
You know, this is starting to sound like the life of brian:
.NET is patented; I know it, the Mono developers know it (hence their focus on ensuring people don’t become too reliant on Winforms etc), Novell know it, Microsoft know it, most of the people on the planet know it – except you. You’re adamant that all the above is simply a figment of my imagination. Well, I guess we must be all wrong and little old you is right. Talk about an ego trip if I ever saw one.
Edited 2008-02-27 14:18 UTC
There’s no proof that core Mono (e.g. non Windows.Forms) infringes on any patents.
There is a *possibility* that Mono infringes on patents… but there is also the *possibility* that the Linux kernel, gcc, Python, etc infringe on patents as well.
No software is 100% known to not infringe on patents, that is simply a fact in the software industry.
No piece of software that any of us uses on a daily basis is free from the threat of patents.
Does that mean none of us should be running software? I hope not…
Edited 2008-02-27 15:21 UTC
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.
I’ve already gotten it so you can type stuff in a text field, so it already almost has all the functionality you need in a note taking program.
Classic!
There’s something to be said for ignorance.
Edited 2008-02-26 16:08 UTC
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.
Can you tellme which patents do you hold that Microsoft infringers so that Microsoft fears sueing you?
It’s a cost-benefit calculation. See ACCESS and Zeta: ACCESS said that Zeta was never officially licensed but ACCESS didn’t sue because a law suit had costed way more than a victory in court would had given to ACCESS.
No, they don’t. Apple and MS have a cross-licensing deal, you know.
“I looked up the salient point at Wikipedia”
Fail.
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.
I think that on any controversial topic Wikipedia is inevitably an incomplete and often inaccurate source, and should not be cited alone as an authoritative source in any kind of discussion, especially a controversial one. This is…not an uncommon position.
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.
Is how far I think my IQ just dropped after reading some of these posts. I don’t think half of the people who posted even read the article.
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
Please pardon the thread title. 😉
But one thing that gets lost in all these politico-legal brawls is the quetion of what Mono brings to the table.
Look at the Beagle project. It is a Mono app. Their indexing engine was handed to them on a silver platter in the form of Apache Lucene. They just had to port it from Java. The project has the resources of Novell behind it. And had a big head start on the Tracker project. But the tracker guys, a small team without a major corporate sponsor, writing in plain old C, have come from way behind, and are currently passing up Beagle for performance, features, and stability.
So… where’s all that programmer productivity that Mono was supposed to facilitate?
One does not need to look to politics, religion, or patent law to find good reasons to avoid Mono. One need only ask “Where’s the beef?”.
Edited 2008-02-27 01:32 UTC
That’s a pretty misleading way to phrase that Novell sponsored a single developer to work on Beagle (ok, they had 2 for a short while). Their last remaining developer also left quite a few months ago and the one before that left years ago.
Beagle still is able to index a larger variety of file types and doesn’t peg my cpu the way Tracker does.
Edited 2008-02-27 02:51 UTC
Well, as a current KDE user Beagle is where the beef is. Tracker has no KDE frontend that I know of and strigi is just, well, crap so far.
I just checked, and you’re right.
My condolances. 😉
I think .NET IL has some interesting features, much better than Java, but why clone the Microsoft implementation if it’s not as a Wine package? I am sure some coder in the OSS world could come with a better “.NET”.
Also hell: Python, Perl, Ruby, Java and now .NET.
DE writers should stick to at most two technologies, one being native code. Why should we need five interpreted language runtimes installed and running at the same time? If you believe .Mono is the way to go, start porting existing managed code.
Well, they haven’t yet…
Why only 2? The more languages a DE has bindings for, the more people who are able to contribute. Don’t know C, but know C#? Use the Mono bindings. Don’t know C, but know Python? Use the Python bindings. End-users don’t care what language programs are written in as long as they work and get the job done.
The great thing about Mono is that you can run Java, Python, Ruby and many other languages on top of the Mono VM – I think another poster already brought this up in an earlier post.
Well, now they have Mono, backed by Novell and GNOME…
This is if you have previously compiled the code. If you are compiling at runtime you have 5 compilers instead of five runtimes.
However, if Mono means we will get ready-to-jit .NET IL code instead of tons of text files I am all for it.
IMO there’s another reason that is (at least to me) as important as legal reasons:
Run a benchmark on .NET and Mono. There’s a really huge difference (take something numerical like nbody or spectralnorm from the language shootout). I don’t want linux to be a worse replacement for Windows, I want it to be better than Windows. Mono is way behind regarding performance, language and framework and infrastructure (say garbage collector).
http://live.gnome.org/Vala
Showing a lot of improvement and its patent free !!
No more fuss
The entire thread is really embarrasing. Why do seemingly intelligent people take baits like that? Haven’t they been round the internet long enought to learn dealing with trolls?
Also, C# is quite awsome and the Dot.Net libraries are a dream to work with. It feels like Java done right. I have been positively surprised by how well moving applications between Microsoft Dot.Net and Mono works.
I’m glad that people are concerned about Mono creeping into Gnome.
.Net is Microsoft’s horse to steer; leave it alone.
The CLR and the C# language are open, ECMA standards. Mono does a clean room implementation of both, using zero code from MS or anybody else. The Mono runtime is LGPL, and the libraries are MIT/X11.
Completely safe.
GTK# is merely Mono/C# bindings for GTK. This code has absolutely nothing to do with MS.
Completely safe.
WinForms, ADO.Net, and ASP.Net are not open standards, and MS holds patents on them. However, the documentation is published, and the Mono implementations of them are clean room codings for the sake of compatibility (compatibility has stood up in a court of law as making reverse engineering, or re-implementation based on public documents, legal).
Plus, it’s probably not in Microsoft’s best interests to sue over Mono implementation of WinForms, ADO.Net, or ASP.Net, because MS will always be ahead of the curve in their own implementation, and having another implementation out in the wild only brings in more developers and mind share for their own technology.
And the good news that it benefits Linux and open source as well, as it makes Linux and open source more attractive to Windows devs, and gives a migration path for ISVs to port.
Wow, a win-win for both FOSS and MS.
Not completely safe, but nothing to worry to much about.
Finally, there is Silverlight. For Silverlight to gain any market traction, it absolutely has to be cross platform, and run on Windows, Mac, and *nix. MS did the Windows and Mac parts, and is helping Mono/Novell do the *nix part, via the Moonlight project, which is a 100% clean room implementation, and fully GPL. This is crucial as Flash/Flex/Air, as well as Java/JavaFX, run on all platforms. Linux is big and important enough that it needs to be supported with any RIA platform.
So if MS tries to kill or damage Mono, or Mono users, with patents and/or FUD, they also kill any chance of Silverlight succeeding, as it needs Moonlight for *nix capability, and Moonlight is built on Mono.
And back on the technical side – I do think in some ways that C#/.Net is a better Java than Java, and that Mono is a better .Net than MS .Net (since it runs on all platforms and has GTK and Cocoa bindings ).
Until the WMA format gained popularity, MS had a Mac player. Now, as the format is now widely used over the net, MS has pulled out the support for the Mac player. Same happened with IE.
It is the usual strategy. Make it popular on all platforms. Then support only Windows.
It has been repeated so many times and still we maintain a very short memory of the past.
God only knows what all patents and how they are affecting Mono. Once it gets popular, it easy for MS to sue a few minor companies and spread fear.
And is there an absolute necessity that we use Mono? What is it providing that Java does not? Easy to use P-Invoke? If you think C# is a better language, then try Scala on Java platform. It is far better.
Do you think that Windows programmers would simply switch to Linux thro’ Mono? Generally, Windows development uses so many assumptions about Windows OS that porting is not easy. And anyway, far too few Windows developers are really interested in the GUI development on Linux. It is not worth due to the low market share.
Mono was a viable alternative before GPL Java. Now it is not. There is no more excuses for Mono. If you like GTK#, then maybe we should work more on Java GTK. We should not be choosing whole platforms and future strategy on a library wrapper.
Mono is actually being used internally by enterprises in mixed environments, which are many. These organizations have a mix of Windows and *nix and perhaps mainframes and AS400s. They have IT investments typically in both .Net and Java, and sometimes they want to re-use their .Net stuff on their *nix boxes. Enter Mono.
If MS hardballs Mono, they will piss off existing customers.
There’s already been some confusion so I’ve logged in for the first time in months so that I can clarify that JeffS is not me 😉
(Not that he seems to be claiming that he is, but because JeffS could also be short for Jeff Stedfast, I’m making it clear that we are 2 different people).
That said, I agree with a lot of what JeffS is saying
I now return you back to your regularly scheduled discussion…
Edited 2008-02-27 20:43 UTC