A developer who’s spent five years working on Java/J2EE applications for the enterprise takes Mono for a spin. He’s a self-described Java lover, and isn’t afraid to say it. What does he think of Mono?
A Java Developer Talks About MONO
97 Comments
http://www.mono-project.com/FAQ:_Licensing
Quote…
Could patents be used to completely disable Mono?
Could patents be used to completely disable Mono? either submarine patents filed now, or changes made by Microsoft specifically to create patent problems.
First some background information.
The .NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms.
Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.
The Mono project has gone beyond both of those components and has developed and integrated third party class libraries, the most important being: Debugging APIs, integration with the Gnome platform (Accessibility, Pango rendering, Gdk/Gtk, Glade, GnomeUI), Mozilla, OpenGL, extensive database support (Microsoft only supports a couple of providers out of the box, while Mono has support for 11 different providers), our POSIX integration libraries and finally the embedded API (used to add scripting to applications and host the CLI, or for example as an embedded runtime in Apache).
The core of the .NET Framework, and what has been patented by Microsoft falls under the ECMA/ISO submission. Jim Miller at Microsoft has made a statement on the patents covering ISO/ECMA, (he is one of the inventors listed in the patent): http://web.archive.org/web/20030609164123/
you have arguments, too?
Just post one softwarepatent which is specified on the .Net implementation and not a general idea of getting a special thing done.
They’re right. Patents are for highly specific ideas. Patents aren’t for general ideas. You can’t patent software. I’d say the closest thing in software that’s patentable would be an algorithm. Patenting a program would be like patenting “the train.”
Ideas come easily. It’s implementing them and taking the risk on them that patents attempt to protect (theoretically).
I’d say the closest thing in software that’s patentable would be an algorithm.
And what is an algorithm? An idea of doing something, for example an idea of sorting data.
Now you have two options.
– This is the only way of sorting data, you don’t have an other idea how you could do the job. Than you have a problem, than you can’t sort data, completly independent if you want implement it in C, C++, C#, Java…
– You have an idea how sort data in a different way. Than you can implement your algorithm in C, C++, C# and every language you want.
You see it, the algorithm (which is nothing else lie a idea) is independent from the implementation.
The link to the MS “grant” is to an informal mailing list comment by someone who, although they are listed on the patent, is in no way legally able to give away any future claims on royalties from MS.
The day MS releases an official statement that they are releasing the use of these class definitions under terms that are deemed compatible with the GPL by the FSF then it will be clear that .Net and Mono are a *trap* set by Microsoft to bring down Gnome when the time comes.
Don’t say this sounds conspiratorial. Look at Microsoft’s history. These are exactly the sort of tactics that they are famous for and have employed many times before. And, until the day that they release this official statement, they are legally able and have the right to impose fees on .Net implementations.
Please post a further link that backs up the claim that :
“But Microsoft (and our co-sponsors, Intel and Hewlett-Packard) went further and have agreed that our patents essential to implementing C# and CLI will be available on a “royalty-free and otherwise RAND” basis for this purpose.”
that is not just another informal post on a mailing list. Please point to something that is legally binding to MS in any way.
Seriously, everyone please read this. *This* is the post everyone is talking about when they say MS gave them permission! What a joke! Even the post itself is not clear at all and this is in no way binding to anyone, especially to MS.
foo, ms knows about mono and hasn’t done a thing about it. It’s kinda creepy, you can get onto the msdn webcasts and see the Microsoft sponsered “classes” on Mono. I watched one of them live. It was rather interesting, guy swapped from writting a program in Visual Studio over to running the program on Red Hat.
I have the feeling Microsoft’s stance on the .Net platform is much like Sun’s stance on Java. There’s more developers writting code for the platform the better. Sure Mono runs your .Net code, but it runs better on the Microsoft runtime
And all of you arguing otherwise might as well get used to it. It’s a big part of the reason why software patents are such a problem. For example the One Click Shopping patent. It’s a patent on a method which submits payment for a shopping cart of items and starts the fulfillment process (no, that’s not an exact quote). You can implement it in any language you’d want to (or using a FPGA for that matter), you’re still infringing. Or look at the various different encryption and compression patents over the years. You can label them “algorithms” but the fact is that those patents don’t cover an implementation in a language they cover the idea itself. If Microsoft has patents on techniques used in .NET either they are specific to their implementation (and so Mono can work around them using a different method) or are going to cause problems no matter what language you use.
That is, in a nutshell, why so many people are vehemently against software patents. They completely shut out everyone from doing something now matter how they go about writing the code.
That is great that you have a “feeling” that there is nothing to worry about. The difference is that Sun has made official and legally binding announcements regarding the use of Java and MS has not. The other difference is that MS has a horrible track record of doing dirty underhanded things to groups/companies that threaten them.
Will you still have the “feeling” that there is nothing to worry about if in 5 years Gnome is taking 10% market share from MS? Do you still “feel” that MS would do nothing if they could eliminate such a strong competitor at will?
You are dreaming.
You cannot copy the API or class definitions of .Net without coming under MS patents. So, all I meant was that in this case reverse engineering doesn’t get you anywhere unless you also change the interfaces.
Who does MS sue if they want to? Novell? The same people that are confident about MONO’s future? Did you read my reference to DVDCSS? Oh ya, that was a booming success by the MPAA to stop the copyright infringers of the world, for sure!
Same for MONO. Bring It On(TM) Microsoft, I’d love to see the monster you could make out of MONO.
The difference is that Sun has made official and legally binding announcements regarding the use of Java and MS has not.
Perhaps because MS feels they have no reason to make legally binding announcements? MS is not exactly in the business of legitimizing competing projects / technologies.
You cannot copy the API or class definitions of .Net without coming under MS patents. So, all I meant was that in this case reverse engineering doesn’t get you anywhere unless you also change the interfaces.
I don’t think so. Many countries allow reverse-engineering to achieve interoperability. EU is an example of such places. While US (AFAIK) doesn’t allow ANY reverse-engineering.
As a pure work of theory, it’s hard that MS could prevent you to create a software (compiler) that outputs a CLR-compliant program. The same way they cannot prevent you to write a software which outputs a Word document. And infacts, they do that by keeping Word specs rather confidential and changing them from time to time.
However, my idea about this is: it is very unlikely that MS could threathen MONO with patents. And should MS do that, I’m sure Novell could easily license that technology.
I admit it, I am a naive dreamer. That said I’ve never gotten the “feeling” that Gnome or KDE would have 10% of the market share ever. Maybe Apple, but never anything that truely ran on X Windows. It hasn’t happened yet, and I doubt things will change.
If you think I’m an MS applogist, then you’ve horriably misjudged me. I’m of the firm belief that all operating systems suck. Every last one of them. That’s how I found this site. I was naively looking for one that was secure and was highly usable.
Microsoft does have a horriable track record. In the pre-antitrust days they would have done their best to crush Mono and Wine before they even got to version 0.2. But things seem to be changeing. Microsoft is getting kinda fuzzy these days.
There’s a great conspiracy theory running around that for the past 5 years Microsoft has been trying to get the whole Windows api standardized by ansi. Not only would it keep them from getting nailed by another anti trust, it makes good business sense too. Sure anyone could make a Windows compatable os (look at how far Wine has gone without open api’s) but once again, if you wanted your apps to run quickly and be fully compatable, why not get the real Windows from Microsoft.
That’s all rumor and speculation but so is the idea that Microsoft could and would try to crush Mono.
what he means when he says that ruby on windows is an afterthought. I used glade on win32 with ruby-gnome2 quite happily. (nothing wrong with the c# choice, anyway)
I agree. It makes perfect sense.
As I wrote while commenting other posts, this would have nothing to do with OSS but just with the very fact that MS is almost encircled, expecially in Western countries where it cannot growth anymore.
Whatever thing MS does, anit-monopoly sword is on its head. That’s why I believe too that we could have a free (maybe not OSS, I hope!) version of Windows in a few years. Maybe a scaled-down, entry level version.
There is a lot of Microsoft bashing and I’m obviously not a friend of them either. It is also clearly a fact that they used unfair and sometimes illegal actions to limit their competition. However, I can’t really recall any incident where Microsoft killed a competitor by legal action for implementing Microsoft-compatible software. Take office file formats for example. They make it really hard for competitors by keeping them closed, but nobody had yet to face legal action for developing office compatible suites. The same holds true for Wine or Samba.
Of course I don’t believe in goodwill from Microsoft, but as long as they have a reputation to lose (yes, they do care about their image), I will believe in their common sense. Also, as long as Mono is a win for Microsoft by driving developers towards .NET, they will certainly not have any interest in stopping it. The situation could become dangerous if Microsoft would ever lose a huge part of their marketshare, but that’s only a good reason to not totally depend on Mono (and to keep working on alternatives like GCJ), not to ignore it completely.
In any case, we have to move forward. Being afraid and repeating the problems over and over will not get us anywhere. The only way to stop Mono is to create an equally useful alternative.
This article has got sod all to do with Mono. He’s doing all his primary development on Windows for crying out loud.
He talks about MonoDevelop not being available for Windows (well, it’s called SharpDevelop and its really 100% MS.Net focused) and says it doesn’t matter because he can just use Visual Studio! What good is that for Linux desktop application development, and why on Earth did he bother to install Mono and GTKSharp at all? He could have just used MS.Net and Visual Studio and done a .Net/Java comparison, and then ported it to Linux with Mono and GTKSharp. That’s effectively what he’s doing anyway.
He’s using NUnit, which is used regularly for .Net development, and the screenshot of it is one that’s running under Windows. Considering that all of these tools (and many, many others), including MonoDevelop/SharpDevelop and NUnit are primarily focused on MS.Net first and foremost, it puts a huge amount of pressure on Mono to be MS.Net compatible now and in the future.
And the coup de gras:
I’d certainly avoid using this combination for anything commercial (targeting Windows) that needs to be shipped like within 6 months, I will continue to use this configuration for my home projects.
That about sums it up – no cigar.
Novell offers corporate Mono support, ask your sales representative about pricing for:
051-002847-001 Mono Kickstart (25 Developer Support Incidents and 1 Server Lic or 50 Desktop Lic)
051-002848-001 Additional Developer Support Incident.
051-002849-001 Additional Server License.
051-002850-001 Additional Desktop License.
Miguel.
1. The standard was submitted by MS, Intel and HP – so I don’t think MS can start charging for it without the cooperation of the other three.
2. Microsoft trying to change course and suddenly charge for what was submitted to ECMA years ago would be a.) completely reviled in the press and by the industry (even their allies) b.) might not stand up in court since they did not define the monetary terms from the start – especially considering Mono and DotGNU are pretty well known projects (mono interview with Miguel is in MSDN, etc.) and no cease-and-desist letters or bills have been sent out from MS Legal yet.
Now, technologies like Avalon and Indigo are what I would be concerned about. But these are add-on libraries in the mono world.
Patents can come from anywhere – which is why any software program could violate any of the hundreds/thouands? of patents IBM and the like generate every day.
Even java is not safe, and I’m not talking about Sun suing open-source implementations….
http://www.itworld.com/Man/2687/041004kodaksun/
“Kodak, in Rochester, New York, has indicated that it will ask Sun for US$1.06 billion in lump-sum royalties.
Kodak initially sued Sun in 2002, claiming that during Sun’s development of its Java programming language the company had violated three patents issued in the mid-1990s. Kodak acquired the patents related to object technologies from Wang Laboratories Inc. in 1997.”
Could Kodak find fault in Python or Ruby for the same “object technologies” if they get popular enough? Who knows – which is why you won’t ever get anything done worrying about any possible patent suits.
Also, name one patent lawsuit Microsoft initiated. I’m finding cases where they were sued for JPEG, Browser plug-ins, Java (sun), speech – at&t, smart tags, autoplay, expedia, data compression, codecs, force feedback joysticks, etc.
The only patent lawsuit I saw files by Microsoft was one against lucent..
http://www.infoworld.com/article/03/04/11/HNlucentms_1.html
“Microsoft this week filed a lawsuit in a patent fight involving Lucent Technologies, Gateway, and Dell Computer after being asked to intervene because the products involved use its own technology. “
We use MS Visual Studio and C# for all WIN32 development here. By targetting WIN32 we maximise the number of potential customers for our products. As a result our organisation is profitable.
It sure would be nice (but not essential) to be able to offer the same products to OS/X and Linux users. From the article I gather mono doesn’t provide the System.Windows.Forms namespace with associated classes. This is bit of a show stopper. We feel switching away from the visual studio development environment to glade/sharpdeveloper would be a significant step backwards, reducing software quality and increasing development times.
Until mono provides an accurate equivalent to System.Windows.Forms it will remain an interesting idea, but of somewhat limited use. Java at least provides Swing.
To think that Microsoft being “quiet” about Mono is a sign of bad things to come is an idea completely without merit. The fact is, before you consider the probability of an MS lawsuit, you must first consider why they would do so. If they do, it would be a HUGE deal, perhaps not on the same scale as SCO/IBM, but close. The press would pick sides, and in general MS would receive a lot more bad press than they need in the forseeable future. Old antitrust wounds would reopen, and the legal costs would far overshadow any benefits to supressing Mono.
Like I said earlier, I don’t think it would be hard to come to an agreement that establishes bounds for Mono development. It would be in free software’s best interest to move beyond fear and speculation, and it would be in Microsoft’s best interest to harness the mindshare of OSS to further the market penetration of their technology.
At the end of the day, joe user doesn’t care (or need to know) about what technologies were used in developing their favorite applications. As long as the developers like it, and the runtime performs well, it just broadens horizons and speeds development.
Miguel: you get my nomination if MS wants to talk to “OSS leaders.” Just don’t let Stallman do the talking…
I know that that patent stuff is juicy, but seriously, can anybody answer what does Mono offer that you can’t find in any other solution? Why choose Mono over others, what does it provide that others don’t?
I know that that patent stuff is juicy, but seriously, can anybody answer what does Mono offer that you can’t find in any other solution? Why choose Mono over others, what does it provide that others don’t?
1. The competitive multi-platform development. Yes, you can develop multi-platform applications with PHP, Python, Java, C++ (wxWidgets or Qt) but this thing are not comparable with Visual Studio. And the primary development platform probably will the Windows. If you want to create a business (or multimedia, etc) application, the most important platform is the windows, because most of users uses windows. But if you can port your code to other platform with relative low cost, you probably will do it. And the one of the most important thing for any operatitions system the number of the available applications.
2. Large user base. If only two people can write code for your OS, this OS probably will dead.
3. Language-independent. You can create C#, Java, VB, etc code, and this languages are equal. You can use Java code from C#, C++, etc.
4. Well designed core classes.
5. Good programming language (C#). C# similar to Java, but far better.
6. Big company behind the system. The .NET never will dead (like Kylix from Borland).
7. IMHO in the near future, the client-side .NET will replace Flash, Java applets, ActiveX. In this case probably nobody can browse the most websites withot .NET support.
– Maturity (Java)
And big design problems. Getter/Setter function instead of properties, etc.
– True cross platform (Java)
Java is alien on every platform. Let see swing.
– IDE (Java by far.)
IMHO Visual Studio is better then Eclipse or NetBeans or JBuilder.
– more and mature Open source apps (Java)
Yes, it is true – at this moment.
– Performance (Java)
I don’t know.
– Choice (SWT-Swing, different VM’s)
The most of java apps works only the SUN VM and class library. Is anybody can run Netbeans with gcj ?
Yes, you can choose SWT, Swing (or Qt bindings, GTK bindings). And you can use GTK#, WxWidgets.NET (and windows.forms in the next version) with Mono.
– Jobs, enterprise acceptance, commercial products.. (by far, Java) At this monent. But IMHO it will hardly chaged in the next 10 years.
Thanks, but… Some of the points you make are just your personal opinion (e.g. C# being “better“) or pure speculation, and at least a bit wild I must say (.Net replacing Flash and taking over the internet). “Large user base” is also not a feature of Mono that others don’t have (e.g. Java).
So the main reason remains Visual Studio. I personally don’t like it, sorry, but still that’s a valid reason. A personal one, but valid.
The thing is that, and the rest of your answers, mostly applies to .Net, but do they apply to Mono? The author of the article does not use Visual Studio, so we can cross that one out. “Having a big company behind”… Mmmm… not too clear the stance on mono from MS.
Don’t missunderstand me. I’m not trying to bash Mono, or even .Net, but I still don’t see there’s clear and strong reason to make the move to Mono.
Some of the points you make are just your personal opinion (e.g. C# being “better”)
Yes, it is true. It is matter of taste. But with C++, Object Pascal, PHP, Visual Basic background C# is sympatic for me.
“Large user base” is also not a feature of Mono that others don’t have (e.g. Java).
It is also true. But IMHO the .NET userbase the biggest and it will grow, because you can use any language with a common feature-ritch class library – and with common development environment.
The thing is that, and the rest of your answers, mostly applies to .Net, but do they apply to Mono?
Mostly. Mono also language-indepednet, processor-independent, the core classes are similar. And if M$ doesn’t sue Mono implementations of ADO.NET, ASP.NET, Windows.Forms, the porting of applications from .NET to Mono also not too expensive. And IMHO M$ never will sue Mono – because:
1. It is not too good advertisement for the company. Let see the common hate against SCO after similar suit.
2. Mono is good for .NET, because it is increase acceptance of .NET. The independent .NET implementation is not a too bad thing for microsoft. And IMHO the linux+mono never will real threat for microsoft – and not because of mono, but because of linux (bad driver support, different desktop environments /gnome, kde, etc/ with different user interface /when you start a Gnome applications from KDE or vice versa you can get a very different look&feel), etc).
I’m also wondering why this guy just didn’t use Netbeans with it’s awesome GUI designer. Using gridbag layout with it makes your life easy and UI look professional. Using 1.5 (or 1.6 even more) ensures you’ll have a UI which looks great on any platform, work quickly and is easy to implement. And also 1.5 has some of the features the writer wanted to use when going to C# from Java.
“And big design problems. Getter/Setter function instead of properties, etc.”
Please tell me what’s the big design problem with Getters and Setters?
“Java is alien on every platform. Let see swing.”
.Net is not?
“The most of java apps works only the SUN VM and class library. Is anybody can run Netbeans with gcj ?”
You just can’t get it more wrong. Is gcj really a JVM? So far I don’t know any Java program which doesn’t work with any of the available JVM’s (Sun, IBM, Bea JRockit, Blackdown,…)
For Java being faster than Mono there are many references on the web which prove it. The difference is sometimes really big. Same is true also for the performance of ms.net vs. java.
“For Java being faster than Mono there are many references on the web which prove it. The difference is sometimes really big. Same is true also for the performance of ms.net vs. java. ”
which one??
Please tell me what’s the big design problem with Getters and Setters?
Not too RAD-friendly. You can set value to Text property in property editor, but you can’t do it in your code: you can only use SetText function to do this. IMHO it is very ugly thing. And I don’t know why: when Java was born the properties (in Object Pascal, Visual Basic) are exitsts.
Net is not?
It is depended on your program. IMHO the Windows.Forms based .NET or the GTK# based mono is more OS-friendly then swing based java. Yes, you can use GTK with java, but the swing and other java classes will remain on your system. Java is OS in your OS, mono is only a CLR + compiler and a very small base library. Any other components (windows.forms, ado.net, etc) are optional. If you don’t want to use it you not install this libraries.
So far I don’t know any Java program which doesn’t work with any of the available JVM’s (Sun, IBM, Bea JRockit, Blackdown,…)
IBM, Blackdown VJM’s are based on SUN JVM. But what about Kaffe + gnu classpath ? This is a really different JVM. You can run Netbeans on this combo ?
Yes, gcj not a JVM, but IMHO the biggest problem the classpath compatibility.
For Java being faster than Mono there are many references on the web which prove it.
I don’t know. I’ve seen independent speed tests with many systems (python, C, C++, PHP, Perl, Java, Mono, etc) and in this tests mono seems better in the most case then java.
I don’t tested this (and I don’t remember the URL), but it was an independent speed test (and the source of test apps was available for every platform).
“Java is OS in your OS, mono is only a CLR + compiler and a very small base library”
sometimes we dream just too much
“Yes, gcj not a JVM, but IMHO the biggest problem the classpath compatibility. ”
ever heard that Fedora Core 4 will ship Eclipse and Tomcat along with all of OpenOffice.org 2.0 Java parts compiled with GCJ. there goes your smoke
“I don’t tested this (and I don’t remember the URL), but it was an independent speed test (and the source of test apps was available for every platform).”
come back when you can “remember” the URL
sometimes we dream just too much
Yes, the original idea behind the java concept was a totally new architecture with java processors, etc.
ever heard that Fedora Core 4 will ship Eclipse and Tomcat along with all of OpenOffice.org 2.0 Java parts compiled with GCJ. there goes your smoke
Yes, I know. But I speak about Netbeans, JBuilder or any similar application.
Performance test:
http://shootout.alioth.debian.org/benchmark.php?test=all&lang=all&s…
I don’t know how reilable this site.
The difference between you and I is that my beliefs are founded upon the legal team of Novell
What legal team? Have they provided a full explanation of the way the ECMA standards are licensed?
and several executives there
Who?
while your claims are founded on “possibilities” and fears.
Until those possibilities and fears are allayed, and gone through one by one, they are not unfounded.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dn…
http://msdn.microsoft.com/chats/transcripts/vstudio/vstudio_051602b…
ansonh_MS: Hello, I’m Anson Horton from the C# team, I work on the language and compiler.
ansonh_MS: … the Mono project is working on an implementation for linux. They will often email, or call and ask questions, which we’re happy to answer.
“Yes, I know. But I speak about Netbeans, JBuilder or any similar application. ”
you havent tried. SUN for obvious reasons isnt interesting with Netbeans being compiled with GCJ and parts of Jbuilder was just released as open source the other day or so. Any significant application which doesnt use the sun private API like some of the openoffice.org code could easily be made to work with gcj.
Now that we’ve agreed that that was just your opinion, do you have any facts on those things you affirm, like the .Net community being the largest?
And then, you could really answer my question and give a reason to go Mono that goes beyond your own taste or speculation, maybe? Not that I have anything against your taste, of course, but I won’t suggest shifting 2000+ programmers here to Mono (or even .Net) only based on your taste.
I am new to Mono and .NET so I was wondering what is the point of MONO if you can not reuse .NET binaries in it? I mean if you need a GTK# library even in windows for your graphics then it means that there is no standard native (platform independent) graphics library in .NET/MONO like SWT in java.
That means further you need to have two set of codes for different platform if you want to use native libraries(using windows graphic libs in windows and GTK# in linux).
In that case Mono should really copy SWT. And also go further and help 3rd parties like QT to make their libs available for MONO.
.. just my thoughts.
Managed.Windows.Forms, mono’s clean room implementation of SWF, is progressing and will mean SWF gui apps on non-windows systems will be a reality soon.
People are missing the point about Mono and the stuff submitted to ECMA. Regardless of whether it is licensed RAND and royalty free, with submission to the ECMA of these standards the tech involved remains the intellectual property of the company that submitted it. With other standards bodies, organisations have to give up a certain amount, or all, claims on a standard, both then and in the future to protect those using it.
Not so here – there is simply no protection whatsoever for independent open source developers or projects. There’s also very little in the way of hard rules and guidelines, and it amounts to little more than a gentleman’s agreement within a corporate club.
Note that this is applicable to any ECMA standards themselves, so this ECMA/non-ECMA split people talk about is totally irrelevant here.
This means that if Microsoft decides to revoke this agreement, or if something invalidates it at any time, the worst that can happen to them is that the ECMA revokes their standards. That doesn’t stop them using them, nor are there any legally binding consequences for Microsoft to anyone else using them. Anyone who has then implemented anything with the former ECMA standards (and anyone depending on them) is all at sea, on their tod and subject to any restrictions from then on, and for open source developers (i.e. not at Novell or any company used to this sort of thing) that is just unacceptable. Have a good look at these two sample documents for submission regarding patent declaration to the ECMA:
http://www.ecma-international.org/memento/typea.pdf
http://www.ecma-international.org/memento/typeb.pdf
These aren’t actually necessary for submission of a standard (they simply assume you agree if you don’t reply), but accurately reflect the rules, terms and conditions of the RAND/royalty free grant that is agreed to. Additionally, RAND/royalty free is not defined anywhere. Note the following paragraphs:
This declaration remains valid only as long as the corresponding Ecma Standard remains valid.
This declaration remains valid only as long as the corresponding Ecma Standard remains valid, and applies only to such parties that have signed or will sign this Ecma patent declaration.
Basically, the RAND agreement exists only for as long as the C# and CLR ECMA standards remain ECMA standards, or as long as Microsoft is a member of the ECMA. In essence, there is no life for ECMA 334 and 335 without the ECMA standards remaining legitimate and without Microsoft. As an associate member, without the right to vote on the General Assembly, Novell has no say here and of course, neither Gnome or the open source community has any sort of voice here at all.
Interestingly, any licensing of such technology in the future would, of course, be done by those at Novell if required (they’ve stated that) and a side-effect of that would be that the open source community would be at the behest of any terms Novell grants to the community as a result of any agreement. Effectively, if Gnome at large adopts Mono on a large scale then those at Novell developing Mono are put in control of a Mono dominated Gnome, and in turn, Microsoft can put the squeeze on Novell, Gnome and software developed with it with each subsequent agreement.
I agree with Seth here. Although he works for Red Hat, and wouldn’t be as affected as any independent open source developer by such issues, he is honest about the effects to the community beyond the corporate sphere. He realises that they are the lifeblood of open source software, and Red Hat depends on them. Those at Novell haven’t addressed any of that and everything is simply waved away with ‘scare-mongering’ or ‘Oh, you can be sued for anything’.
The more I’ve read of this the more I think that Gnome (or indeed any open source developer or project) cannot ever adopt Mono ever, especially at its core. It’s a hiding to nothing.
Here’s one link to performance comparisons between Java, C# and C++. Take a look especially for the updated tests.
Great article, if a but long I do want to echo the author’s sentiments, why is such a great development tool not included in more distributions? Unlike MP3, etc. it is not patent laden. It has the potential to be, but no more so than any other software. I think eventually users and developers alike will demand it, developers because of it’s productivity provision, and users because of the applications that will only be available written in Mono.
I love mono but I wish GTK# would be more consistent with it’s method naming. In java you can pretty much guess common method names. In GTK# you usually find either ‘.open’, ‘.Open’ for example where in java it’s always going to be ‘.open’
I agree with the author’s final words. I, too, am baffled by the lukewarm reception given to the Mono project by the free software community. Here we have the opportunity to move to a truly state-of-the-art development framework, and we get cold feet. What if there’s legal action? Won’t this piss off Microsoft?
This is crap. We have to stand up for our rights, and developing a runtime and development toolkit compatible with .Net is within our rights. This is not the time to run scared. We have the Redmond PR squad spinning about interoperability with Linux, and the need to come to a common agreement about how both camps can get along. One of the top items on the agenda should be an agreement concerning Mono.
How many OSNews readers have win32codecs installed on their Linux boxes? Now how many have Mono installed? Wouldn’t it be nice to be able to run .Net applications natively? Well, we can, so why not actually use it?
i think more people should adopt mono after reading this.
You are wrong to say:
“Unlike MP3, etc. it is not patent laden. It has the potential to be, but no more so than any other software.”
Actually there is a *much* greater potential for legal issues wrt to .Net/Mono than other free software projects since unlike other projects, where there is of course the potential for some currently unknown infringement to exist, in the case of Mono they are knowingly living in a legal grey area. Microsoft has refused to issue *any form* of assurances that .Net will remain unencumbered. And Microsoft has a long and ugly history of crushing their competitors by any unethical means possible! They have billions in the bank to press their claims if they feel like it. The frequently referred to legal green light that Ximian/Novel point to is nothing more than a comment by a .Net manager on a mailing list!
For a lot more info and insight into the very real danger than Mono adoption represents to Gnome and Linux see:
http://www.gnome.org/~seth/blog/mono
Bottom line is that Miguel and Co are being reckless and irresponsible with their continuing push of Mono and instead of being embraces, Mono should be dumped fast by all gnome developers.
Talking about Mono, probably 10,000 more are not paying any attention to it. Besides, they should focus on a specific piece of the .NET platform, such as ASP.net, and provide work on that. Otherwise, it’s just way too confusing given the confusion around .NET in general. .NET is a marketing term, and MONO seems much too eager to use it. SignIn.NET? What does MONO have to do with that? The actual word “.NET” should never be used by MONO to describe what they are doing. They should stick to CLR/C# and just try to create their own identification of it (Mono) without reference to what Microsoft is doing. Otherwise it gets much too confusing. Furthermore, all of the projects/frameworks on top of the .NET stack means that it’s not clear what pieces they want to focus their limited resources on. Just doing the GUI stuff alone could occupy the entire Novell engineering staff and then some. But then they are talking about doing all the other pieces around it as well. Good luck with all that, but don’t get me near that tar baby.
I am not really sure why he did not just use Netbeans and Swing. A nice IDE. He can use the same persistence engine. Does not need to use J2EE or any heavy frameworks if he does not want to.
I think the author just want to do something different than Java at home.
“developing a runtime and development toolkit compatible with .Net is within our rights”
Actually it is not clearly within our rights at all. Microsoft has patents on the .Net api and copyright on the impelentation as well. It is only within our rights to use these APIs to the degree that Microsoft has allowed us to do so.
The fact that some of these libraries have been submitted (and accepted) by standards governing bodies does not mean that they are free to use either! Microsoft is only required to lincence in a “reasonable and non-descriminitory” way. That may mean *hundreds or thousands* of dollars per developer or they could apply a per-user fee! This is not fantasy! Many people have exactly this kind of license because this kind of licensing scheme in the context of proprietary software *is* “reasonable and non-descriminatory”. For gnome and linux however, this kind of license will not work obviously and if it is applied after mono has been widely integrated into gnome it will mean the *end* of gnome.
There is no assurance whatsoever that MS will not do this. In fact their silence on this issue (where they could have very easily issued a statement) is ominous and indicated that their intentions are not good. We are talking about MICROSOFT here people! Remember? Convicted of being an *illegal* monopoly? Have we forgotten what that means? It means they engaged illegally in using their market dominance to squash and kill their competition. Who is more famous than MS for unscrupulous attacks on any and all threats?? Who is more famous than MS for *succeeding* in this regard!? Remember BeOS, OS2, WordPerfect, etc, etc! All dead or dying because MS killed them.
The *only* assurance anyone has ever recieved regarding Microsofts stance on this was from an informal comment on a .net mailing list by a developer/manager at microsoft. Legally that is worth *nothing*!
Playing with mono is just dumb.
Is Mono intented specifically to make .NETed Windows applications run under other OSes? I ask this because to me Java already looks like a reasonable platform to develop portable applications, so I don’t see the need for another one.
@foo
You are wrong to say:
You’re no more right than I am, since your claims are no more proveable than mine. The difference between you and I is that my beliefs are founded upon the legal team of Novell and several executives there, while your claims are founded on “possibilities” and fears. I know who I’d rather believe…
The CLR/CLS is a fantastic platform to develop on, which isn’t true of the Java platform, and C# is a really nice language (much moreso than Java). So it’s not just about getting MS Windows software to run on other operating systems (System.Windows.Forms support is greatly lacking), but rather to have a superb development environment on *nix. A great deal of *nix software is written for Mono already (a third of the most popular Gnome applications, for example).
My personal impression is that you like to go to forums and talk bad about Mono, which is a very bad thing, since you are not telling the people the entire history between Seth’s opinion and the answer from Mono community.
So, before you begin to flame again, please, please, please, please, go and read all the things, and stop being afraid of Mono.
Don’t let the afraid convince you.
foo pretty much sums up the rabid hatred of Mono from a few people. Mono is one of the best things to come out of open source in a long time, and they hate it because it’s Microsoft tech. They also are very angry that more and more Gnome developers, among others, are embracing it. Their fud campaign is ineffectual though
It’s very difficult to agree with Balazs Fejes. As a Java developer I can’t find any strong reason to migrate from Java to Mono, and the author don’t show any rational (or sexy) reason neither.
Db4o works perfect with Java and if you want GTK so much you can use the GTK-Java binding (a really weird idea having frameworks like SWT or Swing natively). IMHO GLADE don’t worth a platform and language migration.
I don’t want to troll but Mono fans need better arguments to seduce Java developers, really.
I see nothing in the article that looks like he’s trying to “seduce Java developers”. He tried an alternative, liked it, and wrote about it.
Things you say is useless FUD.
“The CLR/CLS is a fantastic platform to develop on which isn’t true of the Java platform, and C# is a really nice language (much moreso than Java).”
Not true at all. language and technologies are too similar for reaching to these conclusion.
“So it’s not just about getting MS Windows software to run on other operating systems (System.Windows.Forms support is greatly lacking), but rather to have a superb development environment on *nix. A great deal of *nix software is written for Mono already (a third of the most popular Gnome applications, for example).”
There is NO advantage using .Net over java in non MS OS’es, and it is pretty equal for MS OS’es. period.
Let us compare Java with mono..
– Maturity (Java)
– True cross platform (Java)
– IDE (Java by far.)
– more and mature Open source apps (Java)
– Performance (Java)
– Choice (SWT-Swing, different VM’s)
– Jobs, enterprise acceptance, commercial products.. (by far, Java)
The author seems to be not so familiar with java nowadays IMHO.
Can’t we all just learn to love one another?
Get some solid corporate support and corporate developers will follow. Until then it is another cool open source project.
Don’t site Novell as your corporate support they have almost no market share left. Shame, I used to love Novell, and still have fond memories.
Matt, I’m pretty sure that Novell will offer support services or even write code for you if you sponsor it.
foo pretty much sums up the rabid hatred of Mono from a few people.
That was “rabid hatred”?
Mono is one of the best things to come out of open source in a long time, and they hate it because it’s Microsoft tech.
The people who hate it because its “microsoft tech” are generally people who arnt developers, dont contribute to any open project, but like to talk alot on boards.
The reasons its not a good idea have already been beaten to death, but for those of you who are a little slow, here they are again:
1) The fact that it is an ECMA standard means next to nothing. Unlike ANSI, ECMA does not take ownership of what they are standardizing, and allows for a “reasonable” fee (as foo already mentioned). The fee doesnt have to be a thousand dollars/user or anything like that, all they need is to charge 0.000000000000001$ per developer. More then reasonable. Also, more then enough to make it GPL incompatible.
2) GNOME was founded back in the days where Qt had liscencing problems. Considering that it came about because of the need for a completely free platform, it wouldnt make sense to tie it to a patented technology.
3) The argument was about inclusion into the core of GNOME. As foo mentioned, the only thing we have to say Microsoft wont do #1 is that one of the .net developers said they wouldnt on an unofficial mailing list, and Miguel trusts them. Microsoft has a terrible record of breaking the law to sink competition. GNOME means nothing to them, but by using mono, the GNOME developers are giving them a weapon if/when they choose to use it. Considering the current state of linux, that would be years from now, at which point it would be a total disaster trying to remove a core technology.
4) Microsoft has EXPLICITLY said that they will use their patent portfolio as their weapon against opensource. Mono mostly consists of microsoft patented technology, and the *only* safty ECMA gives us is that they wont start charging exhorborant sums to use it.
Those are the four main reasons. The only real reason to include it is that C is a dead language to the new generation of coders, and GNOME needs them in a serious way.
They also are very angry that more and more Gnome developers, among others, are embracing it.
Really? Link? The only anger Ive seen with this issue is standard language holy war stuff, and that was all Havocs fault by bringing java into the debate. You will note that java didnt get included either, and java is a hell of alot more safe (from a liscence point of view anyways).
Their fud campaign is ineffectual though
Their FUD campeign as you call it has been quite effectual, the novell guys are the only core gnome people touching it. If/when the day comes that microsoft decides to do what I described in #1, we will lose a bunch of gtk apps, not core applications in the GTK DM.
The popularity just shows that both miguel and havoc were bang on when they said gnome needs an API in something more modern then C. The sudden deluge of really great gtk# apps shows us that theres alot of people who want to write for the gnome environment, but dont want to use the current toolset to do it. Its an issue that still needs to be addressed.
This was just a recap of the highlights of a debate that went on for quite awhile. Lumburgh was aparently clueless, even though it was in virtually every gnome blog for a good month, and all over the lists, and even on this site.
Let’s talk about facts. There are two points you mentioned: patents and copyright.
So let’s go:
copyright is about copying. If MS writes there implementation by it’s own and the Mono Hacker does it too, than there is no copyright problem. Mono Hackers have the copyright for there code an MS have the copyright for their code too.
Patents cover ideas. That’s no Mono problem at all. MS has patents of ideas which they have implemented in .Net, C++, C and maybe other languages and you can infringed this patents if you implement this ideas in Mono, C, C++, Lisp,… Patents are absolutely ideppndent from a special language or framework, patents covers basic ideas.
So where remains a special mono-risk ?
So what if mono developers get sued? What does that have to do with Gnome having mono in its core?
I’m no legal expert, but are you really sure that patents in this case is a threat? How much can they sue for? Is it possible to just drop the code, to avoid legal action?
This is OSS, if a company choses to risk leagal action, it’s thier choice. Why Gnome whould care is beyond me.
I read the article. And while it is indeed interesting, I don’t really see the need of the author to go Mono. He nicely explains the How, but not so much the Why he turned to Mono.
I mean, ok, he didn’t like Swing or SWT so he wanted to depart from Java for a bit. But that’s just why he leaves Java, not why he chooses Mono. He considers Ruby and then hop, Mono. What about anything else? What about Python? Maybe a XUL toolkit for Java? WxWidgets? And I’m not saying that any of these is better than Mono, but did he have a look at them? Did he not choose them for a particular reason?
Still, if you’ve already decided to go Mono, not searching for alternatives, the article gives a nice introduction.
The CLR/CLS is a fantastic platform to develop on, which isn’t true of the Java platform, and C# is a really nice language (much moreso than Java).
I would absolutely *love* to hear your justification for those statements. .net is a baby compared to java, it will take years before its API is mature enough to even be comparable. by contrast, the java api has pretty much anything you could want, and theres over a decade of third party development and frameworks out there. as for c# vs java, considering they are like, 95% the same, i dont see how one can be “much better” then the other. There are a few things that are more elegant in C#, but nothing earth shattering. You also didnt mention what kind of use we are talking about, java is pretty much synonomous with enterprise development at this point, and java/NIX/oracle is pretty much the stack of choice. java is robust, mature, and secure. .net hasnt been around long enough to have even a fraction of the credability that java has.
AFAIK, all products which will be labeled as “Express edition” will be free, not sold for a very low fee (as in this article… which also expects to be something about $50).
Such products should include VB, C# Developer Ex. Ed., Web Developer Ex. Ed. (ASP.NET) and SQL Server 2005 Ex. Ed.
http://www.mono-project.com/files/7/7b/Monocomponentsmap.png
the red stuff is under microsoft patent.
So what if mono developers get sued? What does that have to do with Gnome having mono in its core?
I’m no legal expert, but are you really sure that patents in this case is a threat? How much can they sue for? Is it possible to just drop the code, to avoid legal action?
This is OSS, if a company choses to risk leagal action, it’s thier choice. Why Gnome whould care is beyond me.
Its not them sueing thats the problem, the problem is they have the ability to charge a fraction of a cent, and make mono gpl incompatible. that would require removing mono from all gpld apps, which would be pure and total hell if mono became part of gnome.
I hope ‘jack’ was a pure misspelling…
But still. So? Major pain, but not impossible.
…was his conclusion. He said Ubuntu linux doesn’t install it by default. This proves, to me, that the Linux community is afraid to embrace Mono because that would give Microsoft too much credit and they simply cannot do that. After all, someone might like it and decide to use it over Python or Ruby or even (grasp) bash!
Whatever…
If this was just about patent portfolios then nobody would using any open source software because there are so many idiotic patents that cover so much stuff, that chances are that any large program infringes on some patent.
So let’s examine the FUDsters for what their arguments really are:
(1) Bitter java developers who can’t stand that the CLR is superior to the JVM and that C# is a little better than the Java language
(2)Rabid hatred of anything microsoft, so any tech that comes out of it is automagically tainted in their eyes
(3)RedHat propaganda artists who don’t want to give up control over the future of Gnome because Mono inclusion would give Novell and the Mono crew a large say in what goes on.
(4) Various malcontents who demand that everybody use Python, or Ruby, or wait for vaporware Parrot, or whatever pet language they think everybody should be using.
My thoughts exactly. Let’s say that GNOME is completely coded in MONO, and MS launches their attack. What can they do to GNOME? It would be like DVDCSS all over again.
I say bring it on, let’s see what MS could do to kill MONO. The worst thing that (to my knowledge) MS could do is get Novell and any other other corporate sponsors to cease and desist. And the results of legal action would have the exact reverse desired effect on MONO in the end.
The ambiguity and silence from MS could have a different interpretation than MONO critics espouse. Microsoft could have just predicted that, if they stayed silent, MONO development and acceptence would be stalled or halted altogether if they took the current actions taken by them today. That is to say, MONO critics could actually be contributing to a self-fulfilled prophecy. They could be the weapon to defeat MONO, not MS!
If it is true that Microsoft (or ECMA) could kill a major part of the visible OSS world with one blow, I hardly think the world would just sit by and be ok with that. It could be the trigger to finally ‘off’ software patents.
lol, yeah, sorry about mangling your name.
It would be more then a major pain, it would have a chance of sinking gnome. Entire applications would need to be re-written, and until they were, wouldnt be able to be distributed. If all thats there are a few applets and image/music managers, that sucks but its not a huge deal. If something like beagle were included, and gnome apps all integrated with it, then it would require changing every gnome app.
I do think theres a significant amount of Not Invented Here Syndrome going on too. It would most likely be about as big a pain to get java adopted.
While Mono and .Net are great for business apps, it wouldn’t be to hard to make some simple games for the platform. Sdl has .Net bindings that run cross platform. If the .net world became flooded with indie .Net games that could run on Linux, you could bet that interest in Mono would sky rocket.
Of course I could also be horribly naive.
I’m not holding my breath.
i knew i remembered your name from somewhere. went off on you for trolling in another thread. gotta make a list or something so i dont keep feeding the osnews trolls…
> http://www.mono-project.com/files/7/7b/Monocomponentsmap.png
the red stuff is under microsoft patent.
We have to be precise. Not the red stuff is patented, the red stuff is not part of the standard. MS have patents of ideas which are implemented in the red stuff but also patents of ideas which are implemented in the other stuff and in non .Net stuff too.
As i said before, patents covers ideas and not a special implementation.
For example let us look at windows.forms. There is no patent that says “everything that looks like windows.forms is owned by MS”, this is not possible. But maybe they have a patent of a “special” and “new” widget or just about a way like they doing thinks in windows.forms.
But that’s totally independent of the language. MS maybe have implemented this ideas in .Net but they could also implement this ideas in C++, C, Java,… and you can do this too.
So if you implement one of this ideas in C++, C, Java, Mono,… you infringing an MS patent.
If you do the same think “with other ideas” in C++, C, Java, Mono,.. you doesn’t infringing an MS patent (but maybe a patent from Sun or an other company).
If the patent is so general that you can’t get around in a windows.forms like implementation, than this patent will also cover all other toolkits like Qt, Gtk+, Swing,…
If one of this toolkits have a different idea of implementing a GUI than you can also use this idea in your windows.forms implementation and avoid the patent problem.
That’s the problem of patents. It’s a big problem. But it makes no difference if you coding in C, C++, Java, C#,… the danger is always the same, because it’s about ideas and not about a language, framework or implementation.
Rewritten… exactly how much? Couldn’t it be fixed by some automated refraction to massage the code inte a diffrent non/less patent infriging api?
How would MS or any government be able to enforce a ruling that would effect freely distributable and downloadable software? In many cases it wouldn’t even be legal for MS or the US government to attempt something like that. Any attempt would be impractical and futile.
It would be more then a major pain, it would have a chance of sinking gnome. Entire applications would need to be re-written, and until they were, wouldnt be able to be distributed.
you can’t just rewrite the program in C or another language. The ideas would be the same and you would infringing the patents again. You would search a way around the patent and if you have find the way you can implement in in C# again.
How often does people have to say it: Patents are about idea its completly indenpendent of a language or framework.
Pinky, stop saying that you can patent ideas.
http://en.wikipedia.org/wiki/Patents#Patentable_subject_matter
“A process could be a method for making something, a method for using something, or a method for doing something. Processes include business methods, most software, medical techniques, sports techniques and the like. Machines include devices and apparatuses. Articles of manufacture include mechanical devices, electrical/electronic devices and compositions of matter such as chemicals, medicines, DNA, RNA, etc.
However, laws of nature, physical phenomena, and abstract ideas are not patentable. Software inventions implementing algorithms are not patentable for this reason unless it produces a “useful, concrete, and tangible result” (US law) or technical effect (European law). The US standard for the patentability of software is more liberal than that in Europe. Japanese patent law lies between the US and Europe.
The patentability of software (and business methods) is quite controversial from a global perspective. Case law in the United States permits patents for software and business methods. Yet computer programs as such are not patentable in Europe, although some inventions that use software can be patented in Europe.”
Pinky, stop saying that you can patent ideas.
i think the same.
But we are talking about “Software-Patents” and this are patents of ideas.
I don’t think this is good and i don’t like it, but this is the fact in the US and maybe in Europe soon too.
Mono is being adopted quite well. There are several mono projects on gnome-files.org and sf already. Some people are worried.
You can’t expect there to instantly be 100 projects on Mono. Developers are always slow to adopt because they can be quickly forgotten if they’re not careful.
But really, I’ve seen a lot of Mono adoption. Most of the nay-sayers don’t seem to be writing any code in anything .
http://web.archive.org/web/20030609164123/