Mono is here to stay.

I couldn’t agree less with the idea that Mono is dead. That is the nice way that I say that I think someone is so dumb that they should not be allowed to write and communicate their opinions with others. I’m talking to you Neil McAllister. Mono is here to stay. I refuse to type the title or subtitle of the article to which I am referring.

Open sourcing Java under the GPL has no benefits compared to the state of Mono. At least half of the points regarding Microsoft and patents in the article are addressed on the Mono website under the Licensing FAQ. Neil McAllister is worse than the slime of the Open Source community that is Bruce Parens. Bruce just makes very stupid comparisons of closed source to the abomination of slavery. Neil just flat out lies. Alright, I retract that. Neil is not worse, he is equally low slime.

Neil seems to think that Java is just as good as the CLR (the runtime which runs .NET and Mono applications.

…recent releases of Java have done much to close the gap. Why go over to the dark side when established, mature technology is already available?

I’ll quickly point out that words like ‘dark side’ should immediately trigger the readers FUD detector. This type of illogic is no different than the FUD that Microsoft marketing once propagated which said that closed source was less than secure and written by uneducated teenagers.

What is worse is to realize that Neil believes that Java has done much to close the gap. He obviously has not spoken to anyone who has used both technologies. With Mono and .NET I have the choice of using C#, VB.NET (I can still use the ms compiler and run my code on mono), Iron Python, Boo, F#, and countless other languages. With Java I can choose to program in Java, or… well maybe Groove. Sorry, JPython doesn’t work with modern JVM. Now consider all of the features of all of those languages and compare. Java has TONS of catching up to do.

On this point I’d like to comment that I hope Java catches up and blasts past .NET. It will only mean that Microsoft will be forced to do the same. A healthy game of competitive leapfrog could be very great for developers using both technologies.

Another licensing issue which I would like to pull directly from the Mono licensing faq is just why Mono is NOT licensed GPL. Mono uses an interesting mix of licensing. The compiler and tools are licensed under the GPL. Runtime libraries are licensed under the LGPL. The class libraries are licensed under MIT X11. This means that I don’t have to worry about the GPL unless I am modifying the compiler. I can write software, even closed source, and I can link to the LGPL Mono runtime. I can ship my software closed source, along with an open source mono runtime. With Java under the GPL, technically any software linking to the java libraries must also be GPL. I am not a lawyer but does this means it is illegal to use the GPL version of Java with closed source software? It sounds like it.

The Mono class libraries are licensed under the MIT X11 license for exactly this reason. From the Mono Licensing FAQ:

Originally, the class libraries were released under the terms of the GNU Library GPL (LGPL). The problem with the GNU LGPL is an outdated wording related to “derived works”. A derived work of the library must be covered by the same license as the library itself. This definition was fine before object oriented frameworks existed, but with the introduction of object oriented frameworks, different people disagree whether some code that uses object-oriented inheritance is an instance of a “derived work”.

This is completely ignoring that a high number of the best Linux desktop applications are written in C# and run under Mono. F-spot is the iPhoto application for Linux. Tomboy is sticky notes merged with a desktop wiki. Banshee is quickly becoming an alternative to iTunes for syncing audio with an ipod and does things like transcoding from lossless codecs that iTunes does not do.

On the commercial front, Mainsoft actually uses Mono and IKVM to sell an application that helps people take their ASP.NET applications and run them on a J2EE webserver. At this point the line between Mono and Java is getting blurred. IKVM is an awesome bridge. All those existing Java libraries are accessible from Mono and visa-versa.

It is a shame that ComputerWorld would publish such an uninformed piece, but sensationalism sells.

4 thoughts on “Mono is here to stay.”

  1. “Microsoft marketing once propagated which said that closed source was less than secure and written by uneducated teenagers.”

    Can you get me a quote on that? I want to send it to all my clients 😀

  2. Actually Sun is releasing their class library and vm’s public apis under the gplv2 with the classpath exception. So yes this means that it is still ok to use close source with suns jvm. Try reading this FAQ http://www.sun.com/software/opensource/java/faq.jsp#g It would be nice if your condemnation of others lack of fact checking, didn’t contain FUD about a competing product.

  3. Buddy, before you insult others, you would do well to inform yourself rather than making ignorant posts.
    First, obviously you have programmed more in Mono/.NET and have a vested interest. But that does not make your cheerleading any truer. While flawlessly mentioning the languages available for the CLR, you proceed to ‘contrast’ this with the languages available for the JVM: Groove and JPython. I don’t know about others, but I never heard of Groove, could you mean Groovy? And JPython has long been superseded by Jython, a very much active project. Then there is JRuby, Beanshell, Rhino and many others. To get a clue, visit http://www.robert-tolksdorf.de/vmlanguages.html
    Whether the ‘dark side’ comment is FUD or not is irrelevant. That is how the majority of the open source community feels about MS. Mono already had problems overcoming the suspicions of the open source community before Novell decided to stab it in the back by making a noxious deal with MS, and the subsequent comments from MS executives about this ‘pact’ confirming that the open source community is infringing on MS patents, and that everybody but Novell can get sued. With this, the suspicions of the open source community have been confirmed, and nobody will touch Mono except for toy projects outside of Novell. Just because of this, the monkey is dead. And to put the dirt on the coffin, there comes Sun and annouces that Java will be open-sourced under the GPL, taking away any reason that may have remained to use Mono.

  4. Thanks for the replies. I’m especially thankful to Nathan and Anthony for putting me in my place. I was overly inflamatory on my reply. I still maintain that the original post was nothing more than FUD.

Comments are closed.