The tomato war between Red Hat, Novell and the developer Gnome community about Mono and its legal safety continued today. Novell's Nat Friedman and Miguel de Icaza replied to yesterday's editorial by Red Hat's Seth Nickell. Later, Red Hat's Havoc Pennington replied to Nat and Gnome's Andrew Sobala also threw a few (metallic) cents too. For future episodes, bookmark PlanetGnome (unverified rumors circulating on IRC claim that eggs might be used next if there is no sign of their lawyers meeting with Microsoft to try to give an end to the saga). In any case, you don't want to miss this.

While Mono is indeed dividing their software stack up between [ECMA+Original] and [ASP.NET, SWF, etc] ... this does not mitigate or unencumber the essential issue. Let me explain.

Even the ECMA parts of Mono are not unencumbered. MS holds patents on the core of Mono ie, the ECMA standards. Now, Miguel has been told (and willingly believes) that Microsoft will license the use of these patents in a RAND+ROYALTY FREE manner. However, he has not produced such a legal agreement for the rest of us to observe. Thus the community is relying upon Miguel's word ... while Miguel is, in turn, relying upon MS's word.

However, even if Miguel were correct and MS did agree, in a legally binding way, to license the use of the patents in a RAND+ROYALTY FREE way... that does not mitigate the problem.

See, the crux is this. RAND is an ambiguous term. We don't know what the licensing terms will be and they could very well be incompatible with FOSS software licenses. Indeed, MS executives have already said they will likely be incompatible with the GPL. Further, MS could require that all potential licensees agree to the license on their own, in a cumbersome manner. Get the picture?

Now, Miguel has offered two points to counter this concern.

1. He contends that all FOSS software is equally at risk of patent infringement by Microsoft. So, why bother worrying.

2. Seth and Redhat are whiners who are just fear-mongering.

Neither is an appropriate response.

What Miguel fails to mention with regard to the first point, is that Mono is one of a kind with two other MS technology clones. Wine and Samba. These are great projects, but neither Wine nor Samba is actively lobbying to become the foundation for the future of FOSS software. Mono is. Wine and Samba are content to be compatibility projects which add to the linux platform. Mono seeks to embed the heart of MS technology directly into the core pieces of the FOSS desktop.

As for Miguel's disrespectful attitude towards Seth and Redhat? Well, that speaks for itself.

I think hohum above makes a very valid point when noting the difference between Mono and Wine or Samba. I've always had this feeling when reading ra-ra's about Mono that the desire is to remove other options from the table.

It scares me a bit that given legal questions *no one* can entirely dismiss, someone would gamble gnome or other large oss projects on this. I know mono has its fans, and I can also appreciate some of its technical aspects, but this is the one thing in the oss world that has me casting a weary eye.

If this is all true (the letter) then it certainly is the last bit of relief I needed. After all, I was never interested in the non-EMCA stuff and I'll gamble and say most linux fans aren't. Hopefully this will convince Redhat to adopt the non-emca version.

On another note it's too bad that the gnome community has become chearleaders for their companies. I would like to see gnome first but I guess this is bound to happen. What's important is that they can overcome their differences.

...is what's going to happen if nobody can settle on Mono, for whatever reasons (polital, social, legal). Are people really willing to drop back to incomplete language bindings (have to be rolled seperately, you know!) with a dozen different wrappers that all work strangely and require its own set of documentation, or poorly implemented Java clones that only do "a little" of Java, or having to make a seperate binding for each language that wants to hook into a UI, and having to learn that language's different use of string?

Hey, that's a good question!

Me? I'd just stick with Microsoft's .NET until something better comes along. I'm primarily a Windows person, but since my applications run so easily under Linux via Mono, I don't have a real problem with supporting them, or slapping on a GTK# front-end. Not that I've done anything particularily noteworthy, but its still fun, since I don't have to learn anything new "just for" Mono.

Hey, Mono hackers: what would you do if your favorite VM ceased to be for whatever reason, eh?

"...is what's going to happen if nobody can settle on Mono, for whatever reasons (polital, social, legal). Are people really willing to drop back to incomplete language bindings (have to be rolled seperately, you know!) with a dozen different wrappers that all work strangely and require its own set of documentation, or poorly implemented Java clones that only do "a little" of Java, or having to make a seperate binding for each language that wants to hook into a UI, and having to learn that language's different use of string? "

You mean, what has been working for years? I guess not. I guess Mono is too good, and they will risk everything just to have the pleasure of running it and to offer a better development and deployment environments to the developers locked with the MS proprietary technologies.

"Are people really willing to drop back to incomplete language bindings (have to be rolled seperately, you know!) with a dozen different wrappers that all work strangely"

This is not fair. Are you aware of the fact that gtkmm(GTK+'s C++ binding), PyGTK(Python binding), and Guile binding is generated from the *same* interface definition? What do you mean by "have to be rolled separately"?

Yes, it's not completely automatic now, but the suggestion should be to improve interface definitions and wrapper generators, not spreading fear and promoting Mono mindlessly.

Concerning bindings require their own documentation and string usages and so on: That's inevitable. That's what makes gtkmm a true C++ binding, PyGTK a truly Pythonic binding, etc. I want a Pythonic binding for Python, not a syntax-skinned C# bastardized to look like Python. If I wanted to use C#-like string, I would use just C#, not Python.

Here's a nice quote from Havoc Pennington:
The issue here is risk management. Sure, C/C++/Python could infringe some patents. However, the risk is a heck of a lot lower. Those technologies are not invented by and driven forward by the single most powerful and open-source-hostile company in the tech industry.

And here's the translation:
"For all these years that Mono has been being developed it didn't matter if ECMA 334 and 335 were free and clear, since it was from Microsoft we were never going to touch it with a 10-foot pole."

Couple that comment with another choice comment from a redhat executive that proclaimed that it's competitive advantage of Redhat Desktop is that it's 100% opensource compared to Novell or Mandrake. So let's get this straight. I'm trying to get businessmen to buy my product and I'm saying the reason they should is because we are 100% open source. Too funny. Either this crackhead executive isn't speaking for redhat's official position or RedHat is doomed with attitudes like that.

Oh well, so now it's official. The current incarnation of Gnome being controlled by Redhat fudsters will most likely never have Mono as an official runtime AND won't even be shipped by RedHat.

The best thing to happen is for Novell to continue to do it's thing, producing apps powered by Mono and one day fork Gnome unless Java can somehow get into Gnome at some point, which seems very unlikely since it's apparently just as legally encumbered.

I'll predict that once Gnome is forked that many developers will jump ship, because whatever cobbled together crap that Havoc and crew come up with, such as gobject introspection and Python is doomed for failure.

Oh well, I'm just glad I never had an investment in any of that crap. Maybe the KDE guys will be more reasonable and not such pussies.

It's obvious the the US is not a suitable place to do software development of this kind.

Shift Mono overseas, base it in a country where software patents don't exist, and the 'Mono project' won't have a problem any more.

Obviously, US software companies who choose to distribute Mono will have Microsofts axe resting on their necks, but if the US Government is so hell-bent on restricting freedom, by promoting corporate interests in the face of the common good, then so be it.

The problem with Mono as I see it, is that its fine for Novell or Redhat to license the technology from Microsoft for their distributions, but it basically leaves Debian/Gentoo/Slackware and all the other US non-commercial distributions, along with all the independent software developers in the US, out in the cold, and puts the Linux desktop squarely in the exclusive domain of the proprietary software mega-corporation for the US market.

I don't see a place for it in GNOME. I want GNOME to remain free, and if Ximian need an OO RAD environment that for some reason has to be part of GNOME, they should have put their efforts into improving Objective C, Python, Java or other tools that have put the Free and Open Source Software movement on the map today, instead of cloning .NET which, for all the hype, has yet to make a strong showing in the commercial application development world.

Nothing is stopping Novell from shipping their own proprietary Linux desktop, much like Sun's JDS - If thats what they want to do, then thats fine, but they need to realise that for GNOME, for Linux, and for me at least, freedom is the #1 goal here, not competing with MS on the desktop.

IMHO when .NET based technologies will replace the flash, javascript, etc in browsers the linux desktop will disappear with GNOME, KDE, etc without full .NET support. This dissuction about rights and patets are idle words: without web browsing the full linux desktop side with java and tcl, python and qt, Gnome and KDE will totally unuseable. Nobody will use a desktop without possibility of using home banks, web stores, or a simple news portal. At least IMHO.

I wonder why people insist
on doing dynamic compilation.
Why is it better than compiling statically?

Have you ever done a ldd
on a Gnome or KDE application? Do it, it's instructive.
There are about 50 dynamic libraries linked in.
Can you imagine the same thing on a complex Mono platform? How it the code going to be managed? The dynamic linker/OS do a nice job at managing shared libs now, but with dynamic translation, and multiple users this will all be a mess.

Mono people should consider hooking up their compiler front-end with GCC. With the new TREE-SSA interface this is quite easy (see the lwn.net article).
That way mono could be used to produce native code.
Something that can produce IL bytecodes can be hooked up to TREE-SSA, and then you can get access to all the GCC languages.

Python is fine for a scripting language, but is completely unsuitable for any kind of core work, which c# or java would be able to handle fine. C# is even better than java because it's easier to hook into native code and after everything is said and done the mono runtime will probably be faster than most jvms. So basically, you would have the majority of core Gnome stuff and big apps being done in C, with various little applet type stuff being done in Python. And don't forget that gtk+ is slow enough the way it is without it being bogged down with Python.

As far as gobject is concerned, it looks like their trying to shoehorn some bizarro syntax, with code annotations and some kind of rigid syntax on top of c and then have some kind of tool come along and do it's magic. Bah, I'll wait for final judgement on that, but it sure looks like a mess waiting to happen.

Shift Mono overseas, base it in a country where software patents don't exist, and the 'Mono project' won't have a problem any more.

Europe? nope, it's getting software patents too. Some little island in the middle of nowhere called New Zealand? Sorry, but developers aren't going to move there or India or any other 3rd world hellhole to develop software.

"And don't forget that gtk+ is slow enough the way it is without it being bogged down with Python."

Yes, Python is slow. Psyco notwithstanding. But I am sure anything that will be able to run Longhorn with all eyecandies, will be able to run Python/GTK+/Cairo/etc without any problems. Performance will be getting less important on Desktop. By the way, isn't C faster than Java or .NET? So why not write everything in C?

That is not to say Python need speedup seriously. Give Python half the support Mono enjoys and it will be done. Better, support Parrot project.

I took a look at Psyco. Yeah, you'll get some speed enhacements for certain cases I guess. You'll also get an exploding memory usage problem that the author readily admits . Did you notice how he's emitting different machine code of the same code depending on runtime analysis?

You know Seo, the thing about performance is that we always hear that hardware will one day run so fast that we can program in any language and it won't matter because we'll have gobs of memory and uber-ghz processors. Well, as it turns out, software keeps on doing more and more things to greed up that memory and those cycles. I'm not saying we should go back to the days of assembler, and the days of coding non-kernel stuff in c are probably coming to a close, but you can't just go really high-level and hope for the best either.

Yeah, Longhorn looks like it will be a resource beast unless they have some heavy-duty optimizations up their sleeve, which they might since it is a ways off, but heck Longhorn looks pretty cool and I might as well run that if I'm going to need a similiar rig for Linux in '07.

I don't really have a problem with Python, per-se, but I'd rather have it running on top of a Mono runtime, so that you get all the benefits of an optimized runtime and also(possibly) gui bindings for free.

Also, if you haven't noticed, Linux has a miniscule desktop market share, and so it looks a lot more attractive if you can write something in Java or C# and you know it's going to run on it with a minimal of fuss. Yeah, I know Python is cross-platform, but it has deployment issues of its own.

Sell Miguel/Ximian to RedHat, buy Trolltech, make QT LGPL on all platforms (so you can forget about Mono), use QT as a multiplatform toolkit, use Python and Python-Qt bindings as a scripting platform, go KDE, Konquer the desktop.

Yeah, he tells the truth because he doesn't sell it to others.
But Java and C# use lots of memory too, so that's not new. What is new to you is that besides Psyco, there are other projects like Pyrex, etc.

IMHO, Python has *less* deployment issues than Java or .NET. With distutils and py2exe, deploying complex Python application is a snap. Hell, Python runtime is much smaller than Java or .NET. That also helps.

For example, take a look at the Bittorrent project. *2 million* people downloaded Windows installer, with Python runtime bundled. That's only counting the mainline Bittorrent client, there are many others.

In case others are curious what Bittorrent is: Bittorrent is a P2P file sharing program completely written in Python, and works on Windows/Linux/MacOS without problems.

Lumberg,
I dunno which country you live in, but I think saying "3rd world hellhole", shows how sick a mind can be.

If you live in US, well, if the rest of the world is hell; it is your soldiers that is making it. Btw, I live in US as well; but I do respect all people in the world. Most of the software talents are non-US people and companies are dying to get "3rd world" people to work for them.

Just realize it; world will not migrate ot Python/D/Whatever language. You may like/love it. It may be technically superior; but they all will be small players.

I think what Miguel is getting right here is the fact that; Linux should be "wise" businesswise. I can see that some of open source people do not like that idea, as they want to be the "cool guy who does magic with software that is hard to use".

But to get new developers and some commerical companies to build software for linux; the community should come up with good API's. Mono will do that. Yeah, MS can/will try to stop it some time. But having Mono on board, will help then.

Can't you see the buzz that Mono created ? You get Mono articles all over the web. With Mono, Linux is entering to the radar of Windows Programmers. This is good. Once they start their Linux journey, they will love it.

Get your head out off your but and try living in these supposed 3rd world hell holes before passing judgement on them. You might be supprised. Hollywood is.

Mono, well I for one would appreciate the ability for companies to be able to use a development platform which allowed me to use apps on a multitude of OS's other than the great Windows. I don't see MS's .net doing it for us so what ca we do? Answer at the moment seems to be Mono but yes dancing around the fire is likely to get you burn't but remember, MS's will have a new administration to deal with in November (hopefully) and then it's anyones guess.

zirzop made a valid point. Mono is a good advertisement for Linux. Mono makes Linux buzzword-compliant. Maybe Mono is technically superior to C, C++, or Java. (I don't believe it is better than Python, but it is also true Python is not yet mainstream or buzzword-compliant. I admit it.) It's all good and fine.

But moving GNOME to Mono is a very different topic. Until patent issues are resolved, I am all against using Mono as a basis for Free softwares. Didn't Miguel himself once said he started GNOME because KDE maybe is "free enough" but not free? .NET looks "free enough", but it is not free. And whole point of GNOME is to be free. Face it.

Gnome was started in order to prove a Free as in Freedom desktop when KDE could not be considered to be one. I find it very strange that Miguel now activily wants to showhorne Microsoft technology into it that will stop it being Free, thus breaking the core philosophy of the project. He should expect resistance to this, Free Software is still afterall actracts most developers due to it's philosophy of providing Freedom, and the developer benefits that creates.

Certainly create Mono to help migration to Linux from Windows but keep it seperate from the desktop like Samba and Wine. I suspect that Microsoft submitted it to the ECMA in order to create the reverse effect, providing an enticing one way door to Windows, like they tried to do to Java with J++.

As for the amount that we should fear Microsoft using their patent portfolio against Free Software we have already seen them do this as one of the major backers of SCO, so yes we should be afraid. Especially as this time they would have some kind of substance behind their claim. This is, remember, a company that will use any tool it has, legal or not, to destroy or cripple anything it sees as a threat. And they see Linux as a threat.

You can argue patents all you want, but nothing will change the fact that a split has occured in the community.

The way i see it, there are only 4 things that can happen now.

1. Everyone agrees to use Mono, and Gnome adopts it. This is about as likely as MS releasing .NET under GPL.
2. Everyone agrees that Mono is not worth the risk, and it becomes irrelevant. Not very likely either, but probalby more likely than 1.
3. Gnome adopts Mono, but a lot of people refuse to use it and either forks or jumps to KDE or starts a new DE.
4. Gnome doesn't Mono, but a lot of people want to use it and possibly forks a Mono-Gnome version.

1 and 2 is mostly hypothetical, but 3 or 4 will most likely happen, and it's probably too late to anything about it now. It's the GNOME/KDE thing all over again.

Miguel doesn's seem like he has understood this. He seem to be confident that he can make 1 happen, which is about as likely as all Gnome devs and users moving to KDE at once.

He does not address these issues, instead he's bringing up his "Stop Energy" argument, which is a universial argument which you can apply to everything that involves "doing something" (e.g. starting nuclear war, killing kittens, building a house on the north pole etc..).
He says that doing X is inherently good, and not doing X is inherently bad, regardless of what X is.
According to his theory, trying to stop people from basing the free software desktop on a (then) non-OSS toolkit (Qt) is "Stop Energy". If linus torvalds got hit in the head and lost his mind, and proposed rewriting the entire kernel in bash, it would be "Stop Energy" to protest against that.

I think it's ironic how this situation is so similar to the Gnome/KDE issue. Replace "Mono" with "KDE" in miguels statements and it's more or less exactly the arguments that KDE people used around the time Gnome started. Remember who started it?

I say Mono is a big mistake, and not for technical reasons, and not for patent reasons. It is a mistake because it creates a split in the community, and that's not something we can afford.

Until you have addressed that, it's completely pointless to to discuss patents or technical merits.

Yes, it looks like a Gnome fork is almost inevitable. De Icaza and the Mono people will push Mono no matter what arguments (valid or not) are brought against it. They have invested too much time and energy in it to stop using it. Personally i get more and more respect for the KDE people. They seem to have the Linus Torvalds mentality. No nonsense, just quality engineering.

I think Mono shouldn't be part of the Gnome Core. If Novell wants to include Mono apps to their distribution, hey great, it is their distribution after all. What I'm beginning to resent is the way Novell seems to be dividing the Gnome community on this issue. It seems anytime someone questions the potential legal problems with Mono, the Novell guys seem to immediately cast these arguments as only corporate (Redhat) politics. I hate to tell them (Novell), but a lot of users out here in the wild feel the same way regarding these potential legal issues.

Now, I don't know Nat or Miguel personnelly, but I seriously think that they are either works towards Microsoft's agenda, or at least extremely niaeve dealing with them. Up until now, they've been quite happy to provide vague, hand-waving arguments about how Microsoft somehow has an interest in seeing MONO (in effect a cross platfrom version of .NET) succeed when Microsoft went to so much trouble to illegally undermine Java, which does pretty much the same thing. I've even read people stating on the mono mailing list that Microsoft are trying to improve their image in the industry by allowing this -can you believe it!

What the MONO people are suggesting that the all future development on the free desktop be rewritten on top of a technology that is fundamentally Microsoft's -and that CANT be good under any circumstances. Remember Microsoft is a company that has the power to demand that companies with a similiar name to Windows (a generic term) to change their name, or to stonewall countless anti-trust suits world-wide with lawyers, fabricated evidence, half-truths and out-and-out lies. It wouldn't take much for Microsoft to undermine the Mono platform.

Just something else to think about, Nat and Miguel, the people that are suggesting this undertaking where, only last month, they were pictured dancing with one of the executives of Microsoft. It is my opinion that they have got this very, very wrong and the free software community should stop it before it gets too serious.

Just imagine if the time and effort spent developing MONO, dotGNU and others had gone to a truely orignal and free equivalent to Java and Net. Sure, it may have not become a reality for a few years, but we'd be a hell of a lot further on the path to freedom than we are now. Shame.

"Ballmer rejected speculations about support for free .NET implementationens such as Mono: "We have invested so many millions in .NET, we have so many patents on .NET, which we want to cultivate."
http://www.heise.de/newsticker/meldung/25564

With an attitude like that, i doubt Novell or Red Hat can get any promise (in a legally binding form) from MS.

Like ActiveX did?
Like IE did. And IMHO .NET is a really good idea, like java but without stupididty of java (swing, new JRE instance for every application /1.5 will eliminate this bug, but the slow and ugly swing and the obsolote language will remain).

Tell it to people working on Zope and Chandler. Surely web application server and personal information manager is scripting?

And how many people use the Zope (compared to PHP, ASP.NET , JSP). The most of languages are capable describe any algoritym, but IMHO a nuclear power plant controller software in Visual Basic not a good idea :-D

As far as the ECMA standard portions of C# and the CLI are concerned, the ECMA has a policy regarding patents and how they are to be licensed if something covered by those patents is to remain an ECMA standard:

Of course, that does not completely cover the terms that would be needed to maintain a GPL-licensed implementation, and it certainly does not cover the non-standard portions. On the other hand, it does show that Microsoft has some responsibility to the RAND portion, as vague as that term may be, in order to maintain the status of C# and the CLI as standards.

I like your summary, Fredrik. However, there's a fifth possibily, IMHO:

5. Reducing GNOME to a basic Desktop System and a basic Development Enviroment without Mono Dependencies, and just a collection of necessary "Getting started" applications: Panel, File and Window Manager, Terminal, Editor, etc.

This way, GNOME can continue and people can use whatever they like to use. Additionally, if Microsoft one day decides to go after companies or individuals using Mono, the GNOME desktop remains unaffected and a few applications can be replaced rather easily in the distributions.

Also, distributions are free to use a "GNOME extended" version including apps like an eMail client, browser, etc. even if they depend upon Mono.

Here's a nice quote from Havoc Pennington:
The issue here is risk management. Sure, C/C++/Python could infringe some patents. However, the risk is a heck of a lot lower. Those technologies are not invented by and driven forward by the single most powerful and open-source-hostile company in the tech industry.

And here's the translation:
"For all these years that Mono has been being developed it didn't matter if ECMA 334 and 335 were free and clear, since it was from Microsoft we were never going to touch it with a 10-foot pole."

Your translation skills are rusty. A better translation would be:

"Attractive technology standards from a very cunning, hostile, and powerful company are likely to have hidden traps to trip up competitors who implement those standards."

One does not have to have an immature and melodramatic image of Microsoft as the Evil Empire(TM) to not trust it. Ask Stac Technologies. Ask the guys who made DR-DOS. Ask Netscape. Microsoft has earned our suspicion, and we should be wary of what comes from it.

From zirzop:

I think what Miguel is getting right here is the fact that Linux should be "wise" businesswise.

And what many think is that using Mono is not business wise. Even if it is good technology on its own merits, if it can be used against us by Microsoft, it is a Bad Thing(TM).

"Importantly, Miguel also said that Ximian had a letter from Microsoft, Intel and HP stating that they would offer *royalty-free* RAND licensing to the ECMA-submitted components of .NET. [Aside: He said they were kicking around catchy names like 'polio' or 'cholera' to distinguish the free and non-free stacks] I told Miguel he should publicize the letter more because it was such a relief to me, but he said it would be premature to promote this before the patent review was complete in case other infringement was uncovered. "

They're his projects and he can do whatever he wants with it. If someone doesn't like it, then fork gnome and use python (bah). But this "Do what we say and drop mono" attitude from those red hat guys is crap.

Novell/IBM should commit to protecting Mono. They probably both have patents on which Microsoft infringes. If Microsoft sues a mono-{developer,user}, Novell/IBM should sue Microsoft back. Isn't that the whole point of getting protective patents?

Josh and Cendrizzi, please go back and read the summary. Or go and read Seth Nickell's argument again. Even with the existence of that letter, (which might not even be legally binding), it does not unencumber the ECMA core. Once again, RAND does not equal FOSS. To give you an idea, MS EULA could be considered RAND as long as it is administered in a reasonable and non-discriminatory way.

Go and look up Rotor. Rotor is distributed in a RAND+ROYALTY FREE manner. It was available even before Mono could compile itself, yet Miguel persisted with Mono... Why? Because Rotor was not, and never will be, Open Source software. It had restrictive terms such as a non-commercial clause. So, please try to understand, even with the existence of Miguel's purported letter, it isn't enough!

Now, what would be acceptable is a general patent grant. Or a legally binding license, that MS fronts now, allowing us to use their patents in a compatible manner with our FOSS licenses.

You are wrong. Mono was self-hosting way before Rotor 1.0 was released. Rotor was released in March 2002. By that time we not only had the class libraries to the point of self-hosting, and the compiler in self hosting mode, but we had ASP.NET with XSP and ADO.NET ;-)

It's easy to dismiss the recent Mono discussions as Red Hat vs Novell, since the opinions are pretty much split exactly along the company lines. But what about the developers in the middle? There's also a lot of Mono supporters and opponents in not only the GNOME desktop project but among Linux developers in general.

What I predict is the following: People will write Mono software in the future anyway, what, we're suddenly going to quit just because MS might not like it? No real alternative to it is being pushed at the moment, and I don't see Red Hat rallying enough support to stem the tide of potential Mono developers. Novell will then ship GNOME + Mono + Apps using Mono (iFolder, Evolution extensions, new apps from the community). Red Hat will stick to regular GNOME, you'll get the Mono runtime and Mono apps from third party repositories, just like you get media players or mp3-plugins today. Most apps won't show "Hey, it's written in Mono!" in the users face, mono will simply be pulled in as a dependency when you download New Desktop App X from freshrpms.net. It's not the end of the world, I'll continue using RH but I'll also be developing with Mono.

That license grants use of the software for non-commercial purposes. It forbids use or distribution of any commercial nature.

Further, the license specifically states:

"You may use any information in intangible form that you remember after accessing the Software. However, this right does not grant you a license to any of Microsoft's copyrights or patents for anything you might create using such information."

The point being, Microsoft could well grant use of their ECMA core patents in a RAND+ROYALTY FREE manner which would be entirely useless to this community.

"But we are not going to allow Microsoft to tell us what software we write and which technologies we use."

That folks, is about as dangerous, legally, as it gets. In an argument over whether and how Open Source developers are infringing upon Microsoft technologies, one of the leading Open Source developers, and an executive for one of her major corporate sponsors, says he'll ignore, and instruct others to ignore, Microsoft's various patents and other 'intellectual property' assets.

I'm sorry, Nat, but if Microsoft instructs you not to use their patented technologies, the answer is not: f$#k you!

Attitudes like that will lead to the end of Open Source software if we're not very careful.

Yeah, its not a fair comparison. But, for the moment, its how I operate, and how a few people I know operate, so its a fair comparison.

I, for one, have no intentions - ever - of dropping back down to a low-level language like C again unless its last-resort time. I don't do system programming. C#, Python, does everything I will ever need; the growing crowd of free libraries assures this. Trying to make me drop down a level for no reason is simply unacceptable. Yes, I'm a hobbyist. I'm one of those whacky crazy-go-nuts coders that likes writing plug-ins and little utility applications. I'm not a massive corporation with "you HAVE TO DO IT THIS WAY!"-style deadlines. I'm just a hacker.

If Mono went away tomorrow... well, I'd just use DotGNU, actually! I hadn't thought of that until just now. They really need to do s'more publicity. I keep forgetting they exist. Its like, Mono has a public roadmap, slick website, "public" betas every two or three weeks, you know, to let you know they're alive, but I actually haven't seen a DotGNU release since... uhm... shoot, January? Hm.

I guess the whole comment is moot.
But once you read it, you can't unread it!

When you're a professional, sure, coding is about picking the right tool for the right job; but when you just like to hobby/hack, only your favorite language/runtime matters.

If Mono went away tomorrow... well, I'd just use DotGNU, actually! I hadn't thought of that until just now. They really need to do s'more publicity. I keep forgetting they exist. Its like, Mono has a public roadmap, slick website, "public" betas every two or three weeks, you know, to let you know they're alive, but I actually haven't seen a DotGNU release since... uhm... shoot, January? Hm.

They really need to do s'more publicity. I keep forgetting they exist. Its like, Mono has a public roadmap, slick website, "public" betas every two or three weeks, you know, to let you know they're alive,

We don't have any paid developers ... I'm a part time volunteer ... Wish we had money to throw at a team of 15 guys to work on the code and update the website....

You all are getting it in the wrong way, think in MONO as the Open Source .NET, maybe many of you haven't understand that .NET plus XAML combined with Longhorn could just finish with any kind of Linux efforts to have a better market share, MONO is the Linux community answer to MS .NET to keep Linux reliable to new technologies.

What else can the Linux community do?, see how Microsoft becomes a stronger monopoly for the next 10 years?, this is not about GNOME or KDE, KDE is invited yo use MONO, its about to keep Linux as a choice for enterprices.

cendrizzi wrote:
Apparently nobody read the link I posted before or they don't seem to think it's as important as I do.

If this letter exists then the EMCA compliant version should be suitable for use IMO. We don't have these promises with other stuff in the free software world.

Here's a post by Mike Reid, from the very end of the last thread on this topic, that needs repeating. I guess I'll be the one to repeat it, since it was me who he was replying to:

-------- 8< ----------
Hi johnMG,

{small snip}

> Mike, could you please point to where on Sun's site it
> discusses this patent grant you mention? Jeez. If that's the
> case, we're even better off than I thought.

See the interview with James Gosling on http://today.java.net/jag/ , specifically
"There has been a big debate about implementation languages in the Gnome world. It's been all over the map, but one point of concern has been a set of formless dreads about the usability of the Java language specification. We've been very clear about this, but it seems like few have read the spec: if you look in the frontmatter, it contains an explicit statement that anyone is free to implement the specification. It goes much farther than most other specification documents: it actually includes a patent rights grant."

So, while *any* implementation of the .NET libraries have dubious legality with respect to patents implementation of the Java libraries are in the clear. Better yet, Java is a safe bet because programs written in Java can be moved to .NET later (thanks to J#, and Sun will have to implement its JDK for .NET eventually anyway). So Java is a safe bet for an application language, unlike C#.

One point I would like to make is that we do need the Mono project to help C# developers make the transition to Linux. I just don't think that Gnome should be developed in C#.

I wrote:
If you don't support Free software today, how can you expect them to be there for you tomorrow?

Sorry, I suppose I suggested there that Mono wasn't Free software. I was confusing licensing with patent issues there, and posted too quickly without thinking enough. Of course, Mono is Free software.
http://www.go-mono.com/faq.html#licensing

Also, it seems that while the DotGNU libs are unflinchingly LGPL,
http://www.dotgnu.org/free-software.html
the Mono libs are MIT (with the option that says: The Mono runtime and the Mono C# Compiler are also available under a proprietary license for those who can not use the LGPL and the GPL in their code.).

Safer , almost as good as LGPL (for a user) and safety of GPL (for the developer).

To quote:
There is also a potential problem related to patents: If you write software and release it under the MIT X11 license, and then you find out that someone has a patent on some idea(s) that you used in the program, this MIT X11 licensed program which you have written is actually proprietary software under the control of the owner of the patent.

The owner of the patent can control the code in the sense that he can dictate terms on how or when it should be distributed ... And right now for Mono that is Microsoft . (L)GPL explicitly disallows this and therefore it can be taken up as an antitrust lawsuit rather than an open shut patent lawsuit.

I work for DotGNU as it is a ".NET replacement" ...nothing more .. nothing less

It needs to be identified exactly what the threat is, and exactly what the patent threat is from these ECMA standards. I mean exact facts, not something that a Red Hat (or Novell) guy has plucked out of the air as being fact. In all of this I have never seen an appraisal of what threats there may be on the ECMA standards and Mono itself. Show us a list of patents, and maybe the community at large can pour through them?

Since Mono uses different implementations to .Net (but does the same thing), even for the Microsoft-oriented stuff, I'm not convinced. Maybe it would have been better to take the ECMA standards and create a new API? Who knows.

However, the articles in the past about Miguel Icaza having some sort of letter do not inspire confidence. If you have it tell people about it, and if you are doing a patent review then tell people about it.

Does the use of the ECMA standards require a royalty license today? If not then there is really not much of a threat. The situation is not like SCO because if Microsoft have the patent then they have to come out in the open and sue. There is also Samba and Wine is a clone of the whole of the Win32 API! However, we are speculating wildly on patents. That is not how Microsoft locks people in and out.

Technologically, Microsoft will try to lock out any interoperability of anything with their own .Net, and they will largely succeed. That's how Microsoft work - technological lock-out. Patents - well that's a nice FUD addition, and if people scream out in their blogs then so much the better (and we only come full-circle). Seriously, if Microsoft have to sue over Mono then it will already be too late.

Besides, I welcome a patent war, and it has got to come sooner or later. If there isn't a patent threat on Mono then it will be something else. A nice juicy, pointless leveraging of patents will bring patent, copyright and trademark legal systems crashing to the floor. Us mere mortals can only benefit from that.

Some amusing additional statements have come out of this:

Nat: Novell internally is standardizing on Mono for the development of new applications that have to run on Windows or Linux.

I don't see Suse or anyone at Novell else outside of the Ximian sphere saying this. Is Zenworks, Groupwise and the Suse/Novell server products being completely re-engineered and written in Mono and is Suse shipping Mono by default and using it for their development? Has anyone else in Suse and Novell (not within the Ximian sphere) come out and said "We are standardizing on Mono". If not then the above is a bit of a lie then (nothing unusual there), isn't it?

Havoc: Novell is pressuring everyone to take this huge risk, under threat of forking the Linux desktop.

You'll be forking Gnome presumably, not the Linux desktop (whatever that is). Quite how the concept of the Linux desktop hinges on Mono and Gnome is anyone's guess, but that is the level of paranoia we are at.

For me, Mono is a decent development option and will provide a good avenue for anyone stuck with .Net over the next few years if we can work out a way of getting people off Windows. The danger is that some people just automatically assume that this will happen.

However, that is all Mono is - a development option. Unfortunately, some people are acting as if Mono is the answer to all our prayers and will be the single programming environment anywhere. We have had a whole catalogue of articles from the Ximian people with hints sprinkled around them about Gnome adopting Mono more fully. Heck, we even had an article about KDE moving to Mono just because Qt# got started!

Given all of this history then I can see why many people are distrustful. Nat, Miguel and others have to earn that trust back.

However, the articles in the past about Miguel Icaza having some sort of letter do not inspire confidence. If you have it tell people about it, and if you are doing a patent review then tell people about it.

Since Mono uses different implementations to .Net (but does the same thing), even for the Microsoft-oriented stuff, I'm not convinced. Maybe it would have been better to take the ECMA standards and create a new API? Who knows.

That's an interesting thread. I don't know how this ended up being a bit of a war - it started off rather well.

We had Miguel talking about the Microsoft innovations in the ECMA standards. There was one sentence I found quite bizarre:

In our case, if Microsoft in fact owns patents to the technology and they require the licensing of those, we are willing to license those for the sake of our users and customers.

Even if Mono is totally in the clear this is simply not an acceptable attitude. This situation is not acceptable for free software either.

Miguel then started telling people to use GTK# and then evangelizes on .Net (and how it improves Windows programming?!). Thong (Tum) Nguyen was right here as .Net is just Windows programming with nicer wrappers. Miguel also talks about the improvements to Windows programming, neglecting the fact that we are not really looking at Windows programming. He seems to have gone south with the hype of .Net in general.

This is a pity, because the whole thread lost focus at this point and could have been a fruitful discussion. All that we got was this:

What I said is reflected on our FAQ: we dont believe that *any* of it is patentable.

I don't think that leveraging patents on an implementation of .Net is realistic (the change in material quote was interesting), but the above statement in an FAQ does not provide any real back up.

In our case, if Microsoft in fact owns patents to the technology and they require the licensing of those, we are willing to license those for the sake of our users and customers.

In which case it becomes non-sublicensable ... which is still ok for Mono to be a revenue stream for Novell .. but is not enough for Gnome or some other community project.

What I said is reflected on our FAQ: we dont believe that *any* of it is patentable.

Quoting Havoc:
if you precisely copy someone else's technology, it's much easier to convince a jury your stuff is infringing than if you have something vaguely similar but with distinct heritage

http://nwc.linuxpipeline.com/showArticle.jhtml?articleID=20300445 Clearly has Bruce Perens saying
"I'm concerned that Mono may eventually be proprietary Novell software rather than open source, simply because there will be too many patents involved that require royalty licensing," Perens added. "Open source developers care about this project because they assume it will stay open source, and Novell has not addressed this problem."

27. A method as recited in claim 26, wherein the first namespace defines classes that facilitate: construction and use of Web services; temporary caching of resources; initial configuration; creation of controls and Web pages; security in Web server applications; and access to session state values.

The really scary part is that this document does also go on to cover the ECMA based Base namespaces as well (like Threading). Maybe someone should mail that to Miguel ?.

He has known about that patent since its public unveiling. That patent app is exactly what has everyone up in arms. As you said, that patent covers the entire API, ECMA and all. It might not be valid, but as a poor Open Source developer, do you have the resources to fight it? Neither do I. Novell does, which might be the real reason for Miguel's cavalier attitude. Miguel hasn't believed in Free Software principles for quite sometime. Perhaps he has come to terms with the fact that Mono might very well be a proprietary technology (due to the patents), controlled by Novell/Ximian.

I'm not really disagreeing with your points but I do find it funny that everytime Nat says something everyone seems to think he's off his can. Like we are somehow more aware of the going ons at Novell.

The same thing happened about his title on Slashdot, everyone just thought he was playing the mighty Nat card and it turned out to be his title.

I know for a fact, because of a relative, that he heads the desktop division that has almost all say of what is going into their desktop. Why are you questioning him?

I'm not really disagreeing with your points but I do find it funny that everytime Nat says something everyone seems to think he's off his can. Like we are somehow more aware of the going ons at Novell.

I quite agree, and I want to believe that. Unfortunately, what Nat says and what the rest of Novell (outside of Ximian) and Suse is doing is absolutely totally at odds with everything he says. We have also had many predictions and FUD thrown up around the Suse aquisition that turned out to be totally untrue.

The same thing happened about his title on Slashdot, everyone just thought he was playing the mighty Nat card and it turned out to be his title.

No it wasn't. He was something to do with desktop development, but he certainly wasn't Novell/Suse Desktop Lead. He has also been VP of Ximian Services and VP of desktop development at Novell. Apparently (according to rumours), he has a position underneath Markus Rex, so therefore he is working under the Suse banner. I don't see him reflecting anything that Suse is actually doing or being any kind of positive spokesperson. Nat says something and Suse has never had a policy of talking openly about much, until something is presented, so people tend to believe him. After four or five years of this I can't see how anyone can now.

I know for a fact, because of a relative, that he heads the desktop division that has almost all say of what is going into their desktop. Why are you questioning him?

Everybody knows somebody . Because he changes his job title every week, and because in interviews leading up to and after the Suse aquisition we had Nat and Miguel saying they would "do the right thing", meaning that they were giving the impression that they were taking over Suse's desktop activities. We also had a number of interviews where it was hinted that Ximian Desktop would by tightly stitched with Suse 9.0 and Suse 9.1. Nope, never saw any evidence of that. In Suse 9.1 it is clear that the Ximian people had some input on Gnome (which is good - Suse needed it), but I don't see the wholesale move to Ximian Desktop that was promised.

This has gone on for years now, and I for one can't be bothered. I just look (I don't read) at a Nat Friedman interview now and say "Yer, whatever". I find that sad, because he's obviously a talented guy. Anyway, this is totally off-topic and I'm not going to post about this subject again because it is just plain silly.

An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET.TM. platform.

Mmm. I'm not convinced by this. It specifies MS .NET by name, and for that Mono would have to be MS .NET. Providing you can migrate the code I don't see MS .Net compatibility being a priority.

A method as recited in claim 26, wherein the first namespace defines classes that facilitate: construction and use of Web services; temporary caching of resources; initial configuration; creation of controls and Web pages; security in Web server applications; and access to session state values.

Yer, like there isn't prior art here. This one isn't going to hold water. Trust me, Microsoft would never want this challenged in court because it would fall over. They're trying to patent an API itself here, and there is so much prior art on any of the specifics it isn't believable.

A method of organizing a set of types into a hierarchical namespace comprising: creating a plurality of groups from the set of types, each group containing at least one type that exposes logically related functionality; assigning a name to each group in the plurality; and selecting a top level identifier and prefixing the name of each group with the top level identifier so that the types in each group are referenced by a hierarchical name that includes the selected top level identifier prefixed to the name of the group containing the type.

So this means that I can patent how I have arranged the flowers in my garden?

So this means that I can patent how I have arranged the flowers in my garden?

You probably could. You could even sue me if I arrange my flowers the same way. You wouldn't get very far, because your case would be obviously frivolous and you don't have a fancy team of lawyers, but you could.

With something like .NET, an infringement suit might have poor grounds, but they wouldn't be so poor as to get thrown out of court immediately. Moreover, MS has big lawyers.

Novell probably figures they have about a 1 in 4 chance of getting sued and a 1 in 4 chance of losing. That means they'd have a 5% chance of getting sued and losing, which they can handle. But things are different for J. Random Hacker. Even if Novell or someone were to step in along the way, just the initial legal fees before that happens could be ruinous.

That's what Seth means by risk analysis. That's why a lot of people are just fine with Mono existing, even being used for apps; but don't want it in the core of Gnome.

Novell probably figures they have about a 1 in 4 chance of getting sued and a 1 in 4 chance of losing. That means they'd have a 5% chance of getting sued and losing, which they can handle. But things are different for J. Random Hacker. Even if Novell or someone were to step in along the way, just the initial legal fees before that happens could be ruinous.

Yes, that is certainly true. An Adobe lawyer threatened the authot of KIllustrator some time ago, and the application had to be renamed because of its similarity, name-wise, to Adobe Illustrator. Just being able to defend was financially crippling.

However, in the grand scheme of things, if open source/free software becomes much more widely used then J. Hacker is going to get sued by someone. In a way Miguel is right (although the way he has tried to explain this away has been a lot less than helpful), because we can't just run and hide when that happens. We need to face this and be able to defend it, because it will happen.

That's what Seth means by risk analysis. That's why a lot of people are just fine with Mono existing, even being used for apps; but don't want it in the core of Gnome.

Certainly, Mono being in the core of Gnome is an entirely different ball-game, but has anyone actually talked about Mono being in the core of Gnome? If Gnome was built around Mono (or in the core), hypothetically speaking, as a community you may be in a better position to defend whatever gets thrown at you. However, there are a number of large barriers to Mono being used in the Gnome core, and potentially, it may never happen.

There's too much FUD here. People are just confused because they're too used to scripting languages, I guess.
Look, other languages have had standards published and implementations have followed: Eiffeil, Common Lisp, etc. C# has. Java hasn't got a standard! IMHO, this is a real mistake on RedHat's part...What if Sun goes out of business? What's going to happen to Java legacy code? You take a language like Python...it has *no* specification, just an implementation. It's crazy to invest future time on that...
So you see, there are prior examples. *Everybody* knows what "specification" in a body like ECMA, ISO or ANSI means. It means you can write and deploy Mono.
So let's stop all this hype and FUD about Mono.

It seems to me Red Hat are acting like politicians. They keep answering the statements they would like to answer rather than what was actually said. Let me explain: The Red Hat side keep saying we won't do this because you are raising the threat of forks etc... however what the Mono side is debating is the fact that Red Hat won't ship Mono. Obviously they feel Mono could benefit Gnome but they are happy to have this debated by the community on technical (and legal) merit. This is clearly the impression I get when reading the Gnome mailing lists. Red Hat are trying to throw around their weight in politics and Ximian are trying to throw around their weight on the technical side. Though I'll always be concerned with legal issues I know which side I'm more inclined to trust.