Mono, Moonlight: Patent Encumbered, Or Not?

If there is one technology in the Linux world that ruffles feathers whenever it’s mentioned, it’s Mono, the open source .Net clone. Since .Net comes out of Microsoft, and has some patents encircling it, it is said to be a legal nightmare. Supposedly, you can obtain a “royalty-free, reasonable and non-discriminatory” license from Microsoft regarding the patents surrounding Mono. iTWire decided to look at just how easy (or hard) it is to get such a license. Turns out it’s kind of hard.

Wait, are the CLI and C# patent-encumbered, or not?

First, I need to confess that Mono isn’t exactly within my usual area of interest, and as such, this story has been lingering in our submission queue for a while. The way I always understood the patent situation on Mono is that only certain optional components of Mono might be covered by Microsoft patents. These optional components are things like Windows.Forms, and relate to Mono’s Windows compatibility stack – things not needed for Mono on Linux, things not part of GNOME, and things not installed by any Linux distribution. These parts are not standardised by Ecma.

The iTWire article makes no mention of this important detail, but Wikipedia does mention it. The iTWire article makes it seem as if the .Net specification itself is patent encumbered – which seems weird to me, as how would a patent-encumbered specification make it into Ecma? Ecma clearly says in its mission statement that its goal is to “to publish [Ecma] Standards and Technical Reports in electronic and printed form; the publications can be freely copied by all interested parties without restrictions.” Well, Wikipedia also states that patents are not a problem for Ecma standardisation, as long as they are made available under – you guessed it – “reasonable and non-discriminatory terms”.

The way I understand it now is that the Common Language Infrastructure and the C# programming language are ECMA standards – they may or may not be patent-encumbered (this is unclear). If they are patent encumbered, then they must be made available under “reasonable and non-discriminatory terms”. Mono is an open source implementation of the CLI and a C# compiler. On top of that, Mono implements several technologies around .Net which are not Ecma standards, and these technologies are certainly covered by patents.

Knowing this, the iTWire article leaves a few things to be desired, as it makes no mention of all the above. Still, it’s an interesting article because it might actually indicate that yes, the CLI and C# are covered by patents, due to a deafening silence on Microsoft’s end to provide any information on this. Let me explain, by summarising the iTWire article.

The article assumes that the CLI and C# language are covered by patents. As such, the author tries to find the mandatory “reasonable and non-discriminatory” licenses for these patents. It first takes advice from Mono buff Miguel De Icaza about where to get these: Ecma. This is where I got confused, as my short investigation into Ecma made it quite clear that not Ecma is the one providing these licenses, but the actual patent owners, which in this case would be Microsoft. Ecma, therefore, redirected the author to someone at Microsoft.

The author contacts this person at Microsoft, asking where to get the illusive license. This request for information was made more than a month ago, but there still hasn’t been an answer. This can mean two things: first, there are no patents covering the CLI and C#, and as such, there is no license to be given. However, it can also mean that yes, there are patents covering the CLI and C#, but Microsoft doesn’t have such license ready to be given out. To me, the second option seems more logical, since if there are no patents – how hard would it be to explain that to the author of the iTWire article?

Food for thought, that’s for sure.

Moonlight vs. Silverlight

Another area of concern that the iTWire author contacted the same Microsoft person over was Moonlight, the open source implementation of Microsoft’s Silverlight. Novell and Microsoft seem to disagree over the terms under which one may actually use Moonlight. Novell says that“Moonlight will be available for Linux users on any distribution”. Microsoft, on the other hand, states something completely different: they state that only Novell and intermediate recipients may ship Moonlight.

As you can see, there’s a serious mismatch here, one that definitely needs to be brought to the forefront so that we may be able to resolve it. Since Silverlight is actually making inroads into the internet (the past Olympics were streamed using Silverlight, for instance), it is important that everyone can enjoy it when necessary. We have no answer from Microsoft on this issue either.

Should we actually care?

Well, I sure don’t. It’s not like Microsoft will come hunting me down and drag me in front of court if I use Moonlight or Mono (if Apple doesn’t get me first). Still, there are enough of you out there who would have a lot of problems with this, and you deserve to know the full answers regarding these issues.

I’m not a lawyer, and the text is quite confusing. It first says it’s OK as long as supplier is Novell. Then says it’s not OK if the OEM bundled Linux is not Novell’s. Finally is says, except for the distributor, or reseller, or recepient has their own Linux.

So are we allowed to use this in Fedora, or not?

“Intermediate Recipients” means resellers, recipients, and distributors to the extent they are authorized (directly or indirectly) by Novell or its Subsidiaries to resell, license, supply, distribute or otherwise make available Moonlight Implementations (whether the resale, licensing, supplying, making available, or distribution is on a stand-alone basis, or on an OEM basis as bundled with hardware or other software of the reseller or distributor, or otherwise, so long as it is not bundled with a Linux operating system other than Novell-branded operating system software), except for resellers, recipients, or distributors who are in the business of offering their own branded operating system software.

I’m not a lawyer either, but talk about a double interpretation being inevitable… especially on that last part, about distributing their own branded system software. Technically, all *NIX-based oses would qualify there… but, taken in the context above it, all rebranded Novell operating systems might be what they mean. Still, it’s not clear by any means, and as there’s so much code sharing in the *NIX world or even just Linux oses alone that almost everything could be considered a modified or rebranded version of something else.

Either way, it’s ridiculous. Too bad we’re a society that thrives on double intent and we need too many damn lawyers to sort this stuff out. If it were made clear from the start, there’d be no question of the meaning.

It seems to be self contradictory. Which maybe means yes, you must be allowed to use it in Fedora or anything else, since it comes with a license that is unenforceable since undecodable! Not really! But reading this, I cannot tell whether for example Debian counts as one of the kinds of people who could legally package Mono with their OS – not that they would want to.

The article has done an enormous service in pointing to a very basic problem. If it turns out correct that you can’t easily get free and equal terms licenses, then Mono is and ought to be dead. And so must de Icaza be, as far as the community is concerned.

The article has done an enormous service in pointing to a very basic problem. If it turns out correct that you can’t easily get free and equal terms licenses, then Mono is and ought to be dead. And so must de Icaza be, as far as the community is concerned.

RAND does not mean “reasonable and *free*” it means reasonable and non-discriminatory which means they can charge a license fee if they like. Regarding the ECMA standards we shouldn’t worry that they aren’t providing license. Under the ECMA they are required, if they ask for a license at all, to provide that license under RAND terms but they are not required to ask for a license or provide one. What we should worry about is that they might try charging even a little bit which would signal the instant death of any FOSS application or platform that made the mistake of integrating mono.

And also, I agree with you about Miguel De Icasa. That guy is very dangerous to Gnome and FOSS in general and should be ostracized. Not to hate on the guy just for being proprietary shill but he just doesn’t belong as such a trusted and important member of the FOSS world.

Lol… You’re making to simple questions and want simple answers! It’s not working like that in lawyers’ world. They’re not computer scientists, engineers etc. You can ask so simple question and you’ll receive very complicated answer. This happens usually everywhere, where you have corporate interestes and proprietary software, patents, intelectual goods etc.

That is why I like GNU-GPL or BSD license – simple to understand and clear. So clear, that the first license is not liked in corporations and is considered non-business friendly. The second one is welcome almost everywhere, because you can easily close your products and then… Complicate all the things in standard manner, using your lawyers 😉 To have a possibility of double, triple or even quarduple interpretation 😉

I think that sometimes the problem is that lawyers don’t understand the ideas behind the technology, especially behind the software. The situation is not easy to resolve, because we – computer scientists, engineers etc. (put your IT occupation name here) – also don’t understand the idea behind the law and its tools. We prefer simple, effective solutions (it’s the knowledge which comes to our minds from studying algorithms and optimization) – questions and answers, simple steps of deduction logic. I think in lawyers’ world effective solution don’t have to be simple and optimized. Sometimes it’s better if it’s “soft” enough to be interpreted according to your current needs. And we cannot meet in the middle between law and technology (see the discussions about software patents).

So, you’ll not get the strict answer for your questions so quickly. Such answer would close the field of possible manoeuvre – it’s not good.

Once again, that is why I appreciate GNU GPL and BSD licenses (and some other known in Free Software movement). Simplicity. Moreover, I think these licenses are the best examples that we – lawyers and IT guys – can create effective solutions, based on the law which understand the idea of software very well… And vice-versa. These licenses have born because we realized that we need law to protect our products.

haha, number of linux users (not producing software they are selling for a major profit) that look over their shoulder in fear please raise your hand….

….

……

……anyone? ah, ok 1 guy in the far back…. can’t see his face though, wish he would stop looking over his shoulder.

Linux users (general use users, and casual users) couldn’t care less and have no fear about using linux and what “possible” software patents and what not are “possibly” infringed. No reason to not use Suse, its a decent distro, hell its a pretty good distro (though i personally stopped using it after Novel bought them. They Gnomed the last major KDE desktop, tisk tisk). Same goes for Mono and Moonlight. Do you think the Mono and Moonlight devs would be wisting their time doing this if it was pattent riddled? Thats not the way linux users/devs work.

“Do you think the Mono and Moonlight devs would be wisting (sic) their time doing this if it was pattent (sic) riddled? Thats not the way linux users/devs work.”

Yes I do, because that’s the way professional software developers work. The people working on Mono and Moonlight are, by and large, paid to do so, so the risk isn’t theirs, it’s their employer’s. The developers get their paychecks no matter how badly Microsoft sues Novell.

More importantly to this conversation, any other software developers out there in the broader community who choose to use Mono as their runtime of choice have hopped aboard a ship that might be torpedoed at any time, for any reason. Microsoft’s and Novell’s lack of transparency here is all kinds of scary.

For example, it’s readily acknowledged in one breath that the “extra bits” like Windows.Forms are probably patent-encumbered (Microsoft and Novell won’t be too specific over which parts are verboten), but it’s quickly explained that you don’t have to use them. Then Mono pushers go on to tout the ease of porting from Windows to Linux. Of course, unless you’re porting some server software with no interface (rare in the Windows world), you *must* use the patent-encumbered bits.

So if I want to port a Windows app with a GUI, I’m practically guaranteed to be treading in dangerous waters. And if I don’t, what benefit does Mono provide me over, say, Java (or Python, or Ruby, or Perl, or…)? Hell, if you only want the prettiness and ease of C# syntax on Linux, Vala runs your stuff faster than Mono ever could, with the ability to easily use any C library to boot.

And all this stuff is beside the point that the direction of .NET as a whole is decided entirely by Microsoft, so Mono will be forced to play perpetual catch-up if it wants to keep bragging it’s cross-platform.

It’s a losing proposition any way you slice it. Nice toy, but definitely not worth wasting substantial time or effort porting apps to or writing apps for.

More importantly to this conversation, any other software developers out there in the broader community who choose to use Mono as their runtime of choice have hopped aboard a ship that might be torpedoed at any time, for any reason. Microsoft’s and Novell’s lack of transparency here is all kinds of scary.

Luckily, it seems to be rather easy to route around the damage. e.g. it didn’t take long to directly port Tomboy to C++ (gNote). So, if you like the mono stack, you can prototype your app in it and port it to c++ later to live in the “open” world again.

And if I don’t, what benefit does Mono provide me over, say, Java (or Python, or Ruby, or Perl, or…)?

Mono probably has a better ecosystem around Gtk+ than Java, though I can’t say for sure. Java is also holding the reputation as too heavy for desktop apps.

I think Mono is a bit of “overreaction” to the suckage of C programming that has been the bane of Gnome for a long time. It’s an effort to pretend that C++ doesn’t exist, perhaps for the reason that it would slate Gtkmm at direct (unfavorable) comparison with Qt?

As for Python & other “agile” languages, I think the problem for Gnome was that due to lack of static typing they become problematic for large teams doing large apps.

It’s a losing proposition any way you slice it. Nice toy, but definitely not worth wasting substantial time or effort porting apps to or writing apps for.

Exactly. I don’t think there is much reason to be worried about though – it’s not like Mono is capturing any “strategic” position in Linux desktop ecosystem. And we’ll always have KDE, so even if they encumbered Gnome to hell and back, it’s not like we would end up without a “full” desktop.

For example, it’s readily acknowledged in one breath that the “extra bits” like Windows.Forms are probably patent-encumbered (Microsoft and Novell won’t be too specific over which parts are verboten), but it’s quickly explained that you don’t have to use them. Then Mono pushers go on to tout the ease of porting from Windows to Linux. Of course, unless you’re porting some server software with no interface (rare in the Windows world), you *must* use the patent-encumbered bits.

I’m sorry, but that doesn’t cut it. C# and CLI are submitted by Microsoft and ECMA as ISO standards, and we can argue all day about them. But other bits of .NET there is no arguement about.

Windows.forms, ASP.NET and ADO.NET are not submitted by Microsoft as standards. These parts of .NET are strictly proprietary, and patented by Microsoft.

Run ASP.NET, ADO.NET, and Windows.Forms 2.0 applications without recompilation

Mono includes implementations of ASP.NET, ADO.NET, and Windows.Forms 2.0. ASP.NET, ADO.NET, and Windows.Forms are propriety and patented by Microsoft, and are not standards, nor is there any kind of Open Specification Promise from Microsoft covering them.

Case closed. It doesn’t matter if any program made for Linux using Mono does or does not use those parts … Mono itself includes them, and you need Mono libraries to run any kind of Mono application.

End of story. Avoid Mono altogether. Purge it from your system. Nuke it from orbit, its the only way to be sure.

“Case closed. It doesn’t matter if any program made for Linux using Mono does or does not use those parts … Mono itself includes them, and you need Mono libraries to run any kind of Mono application.”

Not case closed. The default installation of Mono on any Linux distro does not have the ASP.Net, ADO.Net, or Windows.Forms bits installed. Those are separate downloads. Just open Synaptic (or package manager your disto uses), and see.

The default base installation will typically only include the CLR, C# (the ECMA standards), and GTK# (100% original, LPGL, open source code, based on open source, LPGL, GTK).

haha, number of linux users (not producing software they are selling for a major profit) that look over their shoulder in fear please raise your hand….

….

……

……anyone? ah, ok 1 guy in the far back…. can’t see his face though, wish he would stop looking over his shoulder.

Linux users (general use users, and casual users) couldn’t care less and have no fear about using linux and what “possible” software patents and what not are “possibly” infringed. No reason to not use Suse, its a decent distro, hell its a pretty good distro (though i personally stopped using it after Novel bought them. They Gnomed the last major KDE desktop, tisk tisk). Same goes for Mono and Moonlight. Do you think the Mono and Moonlight devs would be wisting their time doing this if it was pattent riddled? Thats not the way linux users/devs work.

Almost all of the Mono/Silverlight Devs work for Novell, so as far as they’re concerned it’s a paycheck… and Novell does have a license. Novell could probably offer the layers separately but only from THEM, i.e. Red Hat bundling it is probably a problem (and they’re the only US Linux company other than Novell so again it would be “convenient” if Novell’s competitor couldn’t use the program even though it was “open source”)

As I see it, the C# language and core libraries are all that was submitted to EMCA… and not even the CURRENT implementation, but something Microsoft wrote up before/after their own and may not include everything needed. You can probably not be sued for implementing the language spec’d in EMCA.

The problem is that .Net is bunches more than the core language. Microsoft has publicly said that those parts are patented in various forms. To interoperate with any C# code written by Microsoft tools you’d have to reverse engineer/redevelop new libraries to replace all those functions… at that point you’ve wandered into Microsoft’s patent minefield. You’re danged if you do look for patents and miss any and your danged if you do all your own work from scratch…. From a commercial standpoint that is unacceptable risk to anybody but Novell or Novell’s customers (i.e. companies running their code ON Novell’s OS).

I personally think it’s time for everybody to jump to QT/KDE now that Nokia has put stuff under LGPL. (the only reason Gnome was ever used in the first place, to be cheap and release non-free code and not pay for it) Miguel’s strategy seems to be to get enough people to cross Microsoft that “they can’t get us all” and will have to deal. That attitude entirely defeats the purpose of “Free Software” that the people writing code want to stand by their OWN work, on their own terms, and not be lumped with the petty software pirates.

It’s silly to play Microsoft’s game when they’re not ever going to be punished for monopoly. That ship has sailed and we lost. Even Apple is playing the good “Uncle Tom” just like Novell, and staying to their little “agreements” to be Microsoft’s “blessed” competition and carefully letting the other competition hang in spite of “borrowing” code all the time they don’t SUPPORT file formats and such not “Apple”… no ODF, no OGG, no EXT2/3/4 etc.

I personally think it’s time for everybody to jump to QT/KDE now that Nokia has put stuff under LGPL. (the only reason Gnome was ever used in the first place, to be cheap and release non-free code and not pay for it)

Exactly, Qt makes C++ comparable to Java/C# in ease and “completeness” of cross platform support. C++ used to suck badly, because it had (and still has) a crippled standard library, most of the important stuff being platform specific. But LGPL Qt is pretty much saving C++ from the marginal niche role it was drifting to. The fact that it’s directly compiled for raw metal doesn’t hurt either.

Now, as you have C++ and Python, the niche of Mono seems pretty small indeed, especially as there is very little .NET code (that Mono supports) that is strictly needed these days. When Mono was starting up, it seemed we “had to” support .NET to stay competitive, but history shows .NET has not become all that relevant for anyone but pure-msft shops (whose products we don’t need anyway).

Putting effort in supporting CLR was a good CYA move at the time, but I don’t see why people are so interested in it still today. It’s good that we have a working Silverlight implementation as well, but the longer we can avoid installing it, the better. With HTML5 and improvements in Ajax ecosystem, with any luck we can avoid that forever ;-).

Probably the best solution is to avoid using Mono. While you are at it avoid Suse too. You do that and you won’t constantly have to look over your shoulder.

Might as well take this to its logical conclusion and avoid using any software whatsoever.

Software development is a patent minefield, regardless of whether it is free or proprietary.

Software patents should be abolished.

Thank you. This is what I have been saying all along. It’s not like MS hasn’t claimed patents on other OSS software. If people are really that worried about software patents in Mono then they might as well throw their computer out. I gaurantee virtually every application violates SOME software patent. Either people are severely misinformed about the extent of software patents or they are just conspiracy theorists attempting to bash Microsoft at every turn. I’m not particulary fond of Microsoft but I use many Mono applications because they are top notch.

Personally I don’t think Microsoft is very worried about desktop Linux. If Linux ever get significant marketshare maybe Microsoft will start to worry but that is a long way off and it’s going to be a little late to try and pull the rug out from under Mono. OSS has been building its own patent portfolio and any company that can take Linux to desktop prominence is going to have to be pretty large with a vested interest in keeping Microsoft from just washing Mono away. It’s the same everywhere. Any application you are using could be pulled out from under you because of patent claims but whoever releases that software isn’t just going to bend over, especially one with the power to make Linux a prominent desktop operating system.

If people are really that worried about software patents in Mono then they might as well throw their computer out.

Why is it that half of the pro-mono rhetoric is about “we are all screwed anyway, so it doesn’t matter if we use mono”. Something that a pro-smoking campaign would use…

That’s not it at all. If you are really worried about Mono then you should be worried about software patents in general. Mono is being targeted soley because of its affiliation with Microsoft. The real problem is the patent system itself but everyone wants to overlook that so they can bash Mono.

Mono is being targeted soley because of its affiliation with Microsoft. The real problem is the patent system itself but everyone wants to overlook that so they can bash Mono.

People that have been around for a long time have probably developed a quiet, cynical attitude towards software patents. Talking about them is a waste of time, unless you are in position where you can actually affect the situation (which is extremely rare).

As far as Mono goes, people still feel they have some power to affect the outcome (e.g. avoid installing it, or support “competing” programs). That’s why they feel making noise about Mono (e.g. opposing its inclusion in Gnome) is less of a waste of time.

Personally, I think “Why Mono?” is a more useful question – it’s not like Mono is technically so fantastic that it would justify the drawbacks at this point in time. It’s a known fact that C# is a better language than Java, but that’s really not enough these days.

a)MS holds a variety patents on all parts of its C# implementation, ECMA standardized parts and otherwise

b)ECMA standardization has nothing to do with patents as long as the patent holder agrees to make available with RAND terms

c)This is where there is a misunderstanding: The patent holder can require a license if they like but that license must fit the definition of RAND. MS is currently not requiring or even offering any license regarding C#.

They can start asking for licensing any time they want. The big question is what does RAND really mean?? People love to think that this means MS will never ask for anything but RAND in the proprietary software world could mean asking for $1K/developer licenses or $0.05/download fees for distribution to end users. These are “reasonable” terms.

Basically using mono/moonlight is using something that MS can charge you for whenever they feel like it and trust me they will feel like it once (if ever) Linux really starts to threaten their profitability.

That Miguel De Icasa gave some total bullcrap answer when asked about this licensing is not surprising or new. This guy is such a microsoft shill that I honestly wouldn’t be surprised if he wasn’t somehow secretly getting money from MS. On the one hand he says don’t worry about it and people who do worry are paranoid MS haters but on the other hand he give totally b.s. answers to simple questions which either means he doesn’t know what he is talking about and is a fool playing with fire or he is outright lying.

As for whether we should care, saying no because they aren’t going to come to my house and get me is very short sighted. People (especially Miguel) have been trying to weasel Mono into the core of gnome and linux for a long time and luckily they have failed. Had they succeeded and Mono became a big/integral part of Gnome and then a couple years down the road Gnome/Linux start to threaten MS and they say they are going to charge 5 cents per end user…BAM! Gnome dies a horrible death because charging 1 cent is so antithetical to the very existence of any large FOSS project. That is why you SHOULD care very much and be very worried about people sneaking ever more Mono crap onto your Linux desktop.

MS will never provide licenses bye the way, at least not until they plan to destroy linux and/or gnome. Doing so would force them to show their hand before the fish fully swallowed the hook (gnome integrating mono) or it would lock them into a free license that would prevent them from ever using their patents as leverage.

That Miguel De Icasa gave some total bullcrap answer when asked about this licensing is not surprising or new. This guy is such a microsoft shill that I honestly wouldn’t be surprised if he wasn’t somehow secretly getting money from MS. On the one hand he says don’t worry about it and people who do worry are paranoid MS haters but on the other hand he give totally b.s. answers to simple questions which either means he doesn’t know what he is talking about and is a fool playing with fire or he is outright lying.

A little harsh but the core point is true. He is the guy pushing Mono and every time is confronted dodges the question.

I can understand how someone comes to like c# and silverlight. They are all rather well designed and once you wrap your head around everything you start to get a sense of appreciation for the sheer engineering effort.

Mono – in itself – too has many interesting and downright cool features.

That doesn’t stop the fact that the patent situation is a bit cumbersome. But bashing Miguel for this is unfair. He has every right to be enthusiastic about mono and moonlight. Hey – at the very least mono is Open Source. Remember the days with “Open” ment Open APIs – if you bought the manuals?

Freedom is important to me – but it has its limits when it comes to practical matters. I can allow myself to pay for software – heck I pay for a few free software projects today. It’s called donating.

Freedom is important to me – but it has its limits when it comes to practical matters. I can allow myself to pay for software – heck I pay for a few free software projects today. It’s called donating.

Great. Good for you. Seriously. You have to keep in mind though that Gnome and Linux are *FREE* software (as in beer and freedom). Free. F-R-E-E. Mono and C# are currently free as in beer but are absolutely not free as in Freedom and their is no guarantee that they will even stay free as in Beer.

Incorporating proprietary technologies into FOSS projects is not an option. At all. So while you and Miguel can do whatever you want and I agree it is no one’s business in general, when someone tries to push this technology into a free project under false pretenses that is lame. Saying so is not “bashing”. Saying so is just the truth and being pissed at Miguel about it is perfectly justified.

Freedom is important to me – but it has its limits when it comes to practical matters. I can allow myself to pay for software – heck I pay for a few free software projects today. It’s called donating.

… You do understand this has -nothing- to do with money.

If Mono is indeed patent-encumbered, it’s an end-game situation, as it effectively prevents down-stream re-distribution which more-or-less go against everything that Linux represents.

While I dislike the harsh words that were used by my predecessors, the mere fact that Miguel even thought about using Mono as a core GNOME component without clarifying this issue to being with, should have been a good reason to revoke his commit privileges.

Maybe not… but we’re discussing a whole lot more than a programming language here. C# is the language, but you have the runtime and interface, the C# core libraries and VM… all of which are in one nice legal gray area right now. Are they patented or not, and how does the licensing stand? Until we know that, every Mono-based project has a potential axe waving right above it… and that doesn’t even cover Moonlight’s contradictory and completely convoluted distribution rights. Put this all together and you’ve got one massive legal bomb waiting to blow up at the touch of a button (figure of speech, of course) from Redmond and, no matter what the eventual outcome, any project with Mono at the core of it will effectively be put on hold, as will Moonlight… all the while Microsoft could push Silverlight aggressively while the legal battles rage for years. Before we know it, we’ve traded a partially open media standard (Flash) for a completely closed one (Silverlight).

A very simple way to put all this to rest would be for Microsoft to come out and put something, signed and in writing, concerning these issues… but, until then, their intentions remain unknown. For all we know they’re counting on the vast majority of us not giving a hoot up until they push the button. I’m not saying they are, but the point is that we have no idea what they’re up to… and they could easily kill off Mono and Moonlight whenever they wish. It’s foolish to hang the noose around your own neck with someone waiting to let you fall, and for right now, that may be exactly what those who develop using Mono might be doing.

For all we know they’re counting on the vast majority of us not giving a hoot up until they push the button. I’m not saying they are, but the point is that we have no idea what they’re up to… and they could easily kill off Mono and Moonlight whenever they wish. It’s foolish to hang the noose around your own neck with someone waiting to let you fall, and for right now, that may be exactly what those who develop using Mono might be doing.

the funny thing is, no matter what their intention, using mono greatly serves to divide the FOSS community. and that certainly benefits them. so, when it really comes down to it, MS’s options are such that they can:

– let mono grow and prosper… heck, all of the sudden everybody is magically on the MS bandwagon, whether or not they’re following the OSS implementation or the MS one. MS wins!

– start throwing out vague (or not so vague) patent threats. it certainly wouldn’t be the first time. (and hell, we *still* don’t know which 235-odd patents are being supposedly infringed from last time the patent topic came up.) once again, dividing the community. MS wins!

ugh. they know full well that the strength of the FOSS community is… well, the *community*. they are obviously counting their lucky stars that so many are eating up the mono candy.

Before we know it, we’ve traded a partially open media standard (Flash) for a completely closed one (Silverlight).

??? Please, this is totally untrue. Flash not open, only its Javascript is documented, it may be riddled with just as many patents as Silverlight is. And nowhere has Adobe said anything about RAND licenses. As far as we know, SWFDEC and Gnash developers and distributors could be sued by Adobe at any moment. Only the users of Adobe’s proprietary flash plugin are safe.

Silverlight, on the other hand is fully documented. Microsoft itself is helping in its development, and is even licensing the codecs. I don’t think they can whine to the judge things like ‘your honour, these guys are copying us’, when they invite those guys to the developers meetings, they provide them with documentation and tech help, nad they make the Linux versions of the codecs themselves.

This surely puts Silverlight in a much better position than Flash, although it is probably not good enough until MS speaks clearly.

Please, this is totally untrue. Flash not open, only its Javascript is documented, it may be riddled with just as many patents as Silverlight is. And nowhere has Adobe said anything about RAND licenses. As far as we know, SWFDEC and Gnash developers and distributors could be sued by Adobe at any moment. Only the users of Adobe’s proprietary flash plugin are safe.

Put your savings, house, and salary for the last 5 years up for those odds and see how that turns out . That’s reality for most small software businesses like consulting firms to small/medium businesses. After 2-3 years then the VC might come your way, but you have to get started on your own.

Not to mention the damage that lawyer fees would do to your business even if you win on a matter like this.

This is what I get tired of every time has an article on Mono. This “Miguel is a paid Microsoft shill” garbage gets me so infuriated. Microsoft made this technology open, and over time released software and source that is open as well, and still people give them crap for it. The .net Framework is nice technology and that was the reason the Mono project started in the first place. Remember Java wasn’t even open back when it started. So you don’t like Microsoft, we get it. But calling the technology and the hard work that has gone into mono “crap” is just stupid.

I absolutely agree that this bashing is completely childish and idiotic. However, I would not necessarily call what Microsoft has released “open” if they have the provision to turn around and demand licensing fees or patent-related litigation in the future. The openness question needs to be put to rest once and for all before this particular war is over, and that means a response, in writing, from Microsoft stating precisely what their position and intentions are concerning Mono and/or Moonlight.

Given Microsoft’s past track record, one can’t be blamed for being suspicious. They have a tradition of doing the Eee on open standards (embrace, extend, extinguish). They cannot do that with their own creation, obviously, but they might try to: create, outreach, cripple, kill (form the abbreviation yourselves) once Mono and/or Moonlight is starting to actually compete with them or otherwise threaten their platform.

This is what I get tired of every time has an article on Mono. This “Miguel is a paid Microsoft shill” garbage gets me so infuriated. Microsoft made this technology open, and over time released software and source that is open as well, and still people give them crap for it. The .net Framework is nice technology and that was the reason the Mono project started in the first place. Remember Java wasn’t even open back when it started. So you don’t like Microsoft, we get it. But calling the technology and the hard work that has gone into mono “crap” is just stupid.

No one said Mono or C# were crap. No one. No one said Miguel was stupid for liking the technology. If Mono were just Miguel’s pet project because he thought it was fun or cool I’d definitely applaud and encourage him.

What people are concerned about is that Miguel is saying that it is *safe* and trying to push it into the Linux desktop when it is not clear at all that it is safe. *That* is what makes Miguel a Microsoft shill.

And, no one is comparing Java to C#. However if they were Java even in the past would still have been way safer than MS because sun in fact did clearly state that competing implementations were never going require a license of any kind. Very different from C#.

And you seem to conflate these issues very easily and quickly. Be careful. There is a difference between good software in a technical sense and a legal sense. Mono and C# are great technology. I’ll say it, no problem. They are also under a dark legal cloud and owned by a company that has a long history of utterly destroying its competition in very mean ways (remember how they were *convicted* of illegally abusing their powers as a monopoly???)

Then there are the OpenGL patents that Microsoft bought from Silicon Graphics in 2002. They have owned all the OpenGL patents for the last seven years.

100 percent invalid. The Khronos Group holds a forever patent grant from Silicon Graphics for implementers of opengl. So those patents are useless. If someone wanted to create something non opengl as a graphics interface then MS could use them.

There is no doubt that COM was invented by Microsoft in 1993 according to the Wikipedia. According to Sun’s copyright UNO was created in 2000.

Although developers used it for years, it was Don Box’s tutorials from Develop Mentor and later his book “Essential COM” that popularized it (1997).

Both OpenOffice and Mozill’a implementations were inspired by this.

As for the ownership of the OpenGL patents: it does not matter what the previous owner promises, it is the new owner that dictates the rules for the patents. This is a major problem today with patents and the pledges made by the current owners. And an important space that must be regulated.

Patent troll pools are made up to some extent of purchased patents from companies looking to raise some cash. Usually a company in dire straits would contact some suitors first (IBM, Microsoft, Apple) to sell the patent to and if they fail, they put them on the open market. During bankruptcy trials, the patents are sold like any other asset in a bidding process, and the new owner has all the rights, regardless of the previous company’s promises and pledges.

The patent trolls usually do not waste any time with their new patents and go and assert their rights with all of the companies that are known to implement the patent. They usually settle for small amounts of cash, as their business depends on a quick extort-and-run process, and not really on a long and prolonged lawsuit. They find the balance to be an amount that will make sense for both parties.

But Microsoft is not in the business of extracting singles or doubles from specific companies, so they do not pursue those patents. If they ever become desperate -as in SCO desperate- expect the patent issue to be raised more often with everyone using Linux or any other alternative operating system.

At that point there will be little to argue against. Microsoft has been in business for longer than most software companies and they got the patent religion some 10 years ago when they started to pursue patenting their own work more aggressively and buying them from third parties.

But if it makes you happier and makes it easier for you to fall asleep keep telling yourself that it was StarOffice that invented COM and that Microsoft paid 20 million dollars to SGI for nothing.

But if you were to follow this prior-art path, would it not be then be as safe to say “.NET is a clone of Java” and move on? Since .NET -gasp- is a Microsoft replica of it?

I expect your next reply to dance around the issue and take a dozen new tangents as you keep telling yourself “the world is flat”.

This is what I get tired of every time has an article on Mono. This “Miguel is a paid Microsoft shill” garbage gets me so infuriated. Microsoft made this technology open, and over time released software and source that is open as well, and still people give them crap for it. The .net Framework is nice technology and that was the reason the Mono project started in the first place. Remember Java wasn’t even open back when it started. So you don’t like Microsoft, we get it. But calling the technology and the hard work that has gone into mono “crap” is just stupid.

It’s not really OPEN… that’s the entire point of the article. There are supposed to be RAND terms available.. but nobody can find them. Microsoft and Novell and EMCA don’t all say the same thing or point you to an official office that can give you the Legally Correct answer. If you can’t build a business on a technology without fear of lawsuits, then it’s not OPEN.

Microsoft only released C# to EMCA… not .Net. The whole point is that to rewrite the missing pieces to get something that acts like .Net means you are open to lawsuits from Microsoft…they even said so themselves!! even though they put the technology on a “standards” site, Microsoft can still pick RAND terms that are unacceptable to a small developer or Free Software author but are “Fair” to the likes of IBM or Oracle (If everybody pays each other $100,000 for sharing patents then that’s FAIR.. but YOU won’t be playing any time soon)

Anyhow, I had tried contacting both HP and Microsoft’s IP licensing departments on at least 2 seperate occasions as well, hoping to finally end the FUD in either direction regarding Mono, never have received a response. I doubt Sam will either, honestly.

The reason for both HP and Microsoft is that they each have made pledges regarding their making RAND licenses available for “its patent(s) that are necessary for the implementation of the ECMA Standard.”

EDIT: here is the url to the pdf of MS and HP’s pledges (there are spaces in it so the website is autoparsing it, cut and paste the whole url into your location bar).

My solution is to not use Moonlight or Mono apps at all. I have the .NET framework installed on Windows, but not Silverlight. Any time I encounter a site using Silverlight on the internet (rare) I make sure to send them an email telling them why I did not look at their website and why they lost me as a customer. Nothing too fanatic I think, but I truly believe that Silverlight needs to stay off the internet, until there is a clear patent-free and royalty-free client available.

I have to say I fear for the result of Mono entrenching itself on the Desktop Linux, as much as I fear the same regarding Silverlight getting wide spread usage on the internet.

Don’t take me wrong, I work with Microsoft .Net Framework for a living (although I can’t say I’m the best programmer… which is sad to admit), and I recognize it is a very interesting technology to work with.

My problem is that, as long as there is no official guarantee whatsoever, at least up until now, that they will never be put under a license that forces the developers to pay, even if it’s US$ 0.01, for it’s usage on each deployed system.

I can’t even imagine the result it would have on Gnome desktop if, after having it entrenched on the main parts of the desktop, they suddenly had to pay for each user they had. It would be unfeasible, and end up, if not killing, crippling the project until all the parts using Mono are rewritten to avoid the licensing costs.

I just hope those who don’t care about Mono because it doesn’t affect them, or simply because they don’t use it directly, start thinking about this kind of scenario. Because it is possible. If it’s likely or not, I leave that to your own conclusions: we all have different opinions on that. But it is possible, and it’s a risk that I don’t think we, as a community, should take.

Maybe it’s my lack of knowledge of the US legal system, but I fail to see how Microsoft could possibly pretend to interested parties that there are no patents and licenses for CLI or C# and still successfully enforce those patents in court, should it come to that.

So either way, we should be safe: either there really are no patents or Microsoft is really never going to enforce them, or there are patents and MS is willing to enforce them in court, but this attempt gets squashed by the court.

Maybe it’s my lack of knowledge of the US legal system, but I fail to see how Microsoft could possibly pretend to interested parties that there are no patents and licenses for CLI or C# and still successfully enforce those patents in court, should it come to that.

Just see what happened with FAT and TomTom.

It’s ok to use Mono, as long as nothing critical (that can’t be replaced easily) is based on it. You can’t really rely on “probably winning” a lawsuit, the fact is that once you are sued, you are screwed, unless you have very deep pockets. For an open source project with no obvious pocket to foot the bill, it can be the end (this is probably what msft is capitalizing on – all the need to do is spread some fud about “possibly taking legal action”, and the future of a whole project is immediately compromised).

fat is free, only the vfat-extension has to be licensed from ms if you want to implement long filenames

and ms has always charged money for it from hardware-vendors

I don’t see that as “completely different”. VFAT support is something that was considered safe (it still comes with Linux distros), but suddenly, it wasn’t. The word on the street is that this was a FUD trick from the part of msft. Mono is likely to receive similar treatment if it at any point becomes “important”.

Maybe it’s my lack of knowledge of the US legal system, but I fail to see how Microsoft could possibly pretend to interested parties that there are no patents and licenses for CLI or C# and still successfully enforce those patents in court, should it come to that.

So either way, we should be safe: either there really are no patents or Microsoft is really never going to enforce them, or there are patents and MS is willing to enforce them in court, but this attempt gets squashed by the court.

They are not pretending there are no patents. There *are* patents. On everything, CLI, C#, Windows.Forms, etc. Some have been submitted for ECMA standardization which means that *IF* they require a license the terms must be RAND. It is at MS’s discretion as to whether they actually will require a license and when and any license, free or otherwise (and they could charge and still be RAND) is incompatible with any FOSS project.

If you answered “yes” to any of these, you have used Microsoft patent encumbered technology.

Let’s take Microsoft out of the discussion. Let’s think of the hundreds, if not thousands, of patents, held by others, that any Linux distro, as well as any major piece of open source or proprietary software, violates. Software patents are a joke.

IOW – Mono is the least of our worries.

MS will always play this coy little game. They’ll never give a definitive answer. They’re quite happy with Mono’s existence – it will always be 1 or 2 steps behind MS .Net in development, and they love the uncertainty.

So my attitude is, if you like Mono (technologically), use it. If not, don’t.

BTW – there are a number of commercial entities using Mono in their products – just check out the Mono website. Apparently, they’re not too concerned about MS’s BS.

Also, it’s MS that’s usually the recipient (victim) of patent lawsuits. They just got sued for using XML in OOXML.

The US patent system is broken and rotten to the core. To even put forth the argument that mono must be avoided because of “patents” is the exact same as saying that the software patent system is working and must be “respected”. Personally I find it difficult to believe that there are so many “patent lovers” on this site.

The second problem is that many of the comments here against mono seems to argue that you as a software developer are better protected against patent threats when developing for microsoft? Ie you will not be sued if you use microsoft dotNET only if you use an alternative implementation like mono…

Finally mono is currently the best all round development framework for linux, I can do gui’s with native look and feel and good integration with the rest of the os, I can do web applications, deamons etc. With MonoDevelop I have a good IDE with debugger that will allow me to be productive as a developer. If Mono were not there I would not be using or developing for linux, it is as simple as that.

I guess it is safe to say that most readers of OSNews can reach an agreement about the stupidity of software patents and the state of affairs especially in the US wrt these issues. My problem wrt mono runs deeper than a vague fear about MS sueing individuals and/or FOSS projects over a bunch of mono/.Net related patents.

The consituents of what is known as “Mono” are distributed under a mix of licenses. And please correct me if I’m wrong, but the licenses used for the C# toolchain part and the runtime libs seem to be (at least as of now) the GPLv2 and the LGPLv2 respectively, both licenses that require upstream parties to ensure that all potential downstream recipients, regardless of their position in the supply-chain and relationships to upstreams, have equal access to all necessary patent licenses.

The problem is that Microsoft itself is – when it comes to mono, at least as far as I know – not a party of the GPLv2 / LGPLv2 (e.g. they have not distributed Mono or equivalent software under these terms) but are in a position to suddenly start collecting license fees (which is allowed under RAND terms). There are several potential ways to craft even an RAND-Z license which is incompatible with the GPL/LGPL, like for example reserving the right to sublicense so that each and every user has to obtain a license directly from Microsoft. This practice is actually quite usual for several technologies that can be licensed royality free from Microsoft (afaik, the Core fonts and the the license for the ribbon interface have or at least had these restrictions in the past).

Call me odd and paranoid, but the words “kill switch” are pretty much what I would use to describe this scenario. Note that (let’s say) MS does not even have to actually sue somebody. All that it takes is that some parties (like for example RedHat, Debian, etc.) are excluded from getting a GPL compatible license.

It is especially because of the large number of trivial patents that are already out there which may be used to wreak havoc on pretty much any FOSS project regardless of their preferred toolkit/language/etc. (double-click and progress bars anyone?) that it seems a bit strange that a project like GNOME increasingly relies on Mono which – according to this article – introduces some additional legal concerns.

If you like mono / .Net as a development environment, then go for it. But if you work on an (in the perspecitve of the FOSS desktop: extremly) important FOSS project, then I hope you take the legal ambiguity resulting from the conflicting interpretations of the patent situation into account when you form your strategic decisions.

What on earth makes you think that a patent covering some fundamental part of the CLR is only applicable to the CLR? and not for example the python VM, JVM or Parrot?

Why do you think that Sun (and IBM etc.) made a patent cross licensing deal with Microsoft?

The consituents of what is known as “Mono” are distributed under a mix of licenses. And please correct me if I’m wrong, but the licenses used for the C# toolchain part and the runtime libs seem to be (at least as of now) the GPLv2 and the LGPLv2 respectively, both licenses that require upstream parties to ensure that all potential downstream recipients, regardless of their position in the supply-chain and relationships to upstreams, have equal access to all necessary patent licenses.

Both GPLv2 and LGPLv2 says no such thing.

The problem is that Microsoft itself is – when it comes to mono, at least as far as I know – not a party of the GPLv2 / LGPLv2 (e.g. they have not distributed Mono or equivalent software under these terms) but are in a position to suddenly start collecting license fees (which is allowed under RAND terms). There are several potential ways to craft even an RAND-Z license which is incompatible with the GPL/LGPL, like for example reserving the right to sublicense so that each and every user has to obtain a license directly from Microsoft. This practice is actually quite usual for several technologies that can be licensed royality free from Microsoft (afaik, the Core fonts and the the license for the ribbon interface have or at least had these restrictions in the past).

There are tons of stuff out there to which Microsoft has some kind of patent compilers, VMs and desktop environments etc. Do you for example think that the creators of python has the rights to all patents, and also the rights to sub-license those patents, that cover the entire suite of technologies that python covers?

If you do then you are delusional at best.

If you don’t then please tell me how the python patent case is in any way different from the Mono patent case. Because I cannot see the difference. It is the same licenses, largely the same patents and the same actors involved in both cases.

Call me odd and paranoid, but the words “kill switch” are pretty much what I would use to describe this scenario. Note that (let’s say) MS does not even have to actually sue somebody. All that it takes is that some parties (like for example RedHat, Debian, etc.) are excluded from getting a GPL compatible license.

It is especially because of the large number of trivial patents that are already out there which may be used to wreak havoc on pretty much any FOSS project regardless of their preferred toolkit/language/etc. (double-click and progress bars anyone?) that it seems a bit strange that a project like GNOME increasingly relies on Mono which – according to this article – introduces some additional legal concerns.

Now you are just contradicting yourself, or are you now spreading FUD against linux as a whole?

The problem is that you cannot just single out Mono and say it is “patent encumbered” and “patent encumbered” technology should not be used on linux or wherever.

All software is “patent encumbered” and focusing on any one specific technology is either naive, or worse supporting the idea that software patents are somehow “real” and must be supported. Once you open up that can of worms there is no stopping it. “Patents” are anti free software at its core and whatever you say about Mono can be used against any piece of software beyond the most trivial.

If you like mono / .Net as a development environment, then go for it. But if you work on an (in the perspecitve of the FOSS desktop: extremly) important FOSS project, then I hope you take the legal ambiguity resulting from the conflicting interpretations of the patent situation into account when you form your strategic decisions.

So what you are saying is don’t use FOSS Software because of the “patent situation”….. I will take that into account when I “form my strategic decisions” NOT.

For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

and section 11 of the LGPL[2] (which is essence the same legal text as section 7 from the GPL) say something different. IANAL and all the other fluff, so I appreciate any corrections on the interpretations of these segments, but I must say that this all-or-nothing interpretation of patent licenses seems to be pretty common.

The problem is that you cannot just single out Mono and say it is “patent encumbered” and “patent encumbered” technology should not be used on linux or wherever.

I don’t know if python or perl or ruby has a patent problem. There is enough existing infrastructure out there written in all these languages and none of them have to keep themselves close to an published external spec (with potentially hostile patent holders being the very same entities that drafted the spec in question). If a patent threat for perl or ruby (python is licensed under a non-GPL BSD style language which does not even mention the word patent) surfaces, projects who depend on this languages will have to reevaluate their positiuons and either try to work around the patent, try to show prior art or try to throw out the patent question in order to remain faithful to their respective licenses.

Note that I do not dispute that the mono folks could do the very same if push comes to shove. There are, however two factors that make mono special:

– They have to keep compatible to a specification which was drafted by an external party (e.g. unlike the Python VM or Parrot, the technical specifications of the VM were not done by the developers of mono themselves) which – at least according to the IT wire article – seems to hold at least one patent necessary for following this specification.

– Novell is still the major backer of mono. I’m sure I don’t have to reiterate why their special relationship deal with MS, especially the “we won’t sue your customers but everybody else has a patent problem” part causes some fear, uncertainity and doubt in the FOSS community.

Note that I’m not on a crusade against mono. All it would need (at least for such a paranoid soul like me) to end this whole affair is

– A legally binding, written patent license to the patents involved with mono from MS and HP. As I said earlier, RAND is not enough to ensure compability with GPL and even RAND-Z may be incompatible with the license, hence it would be good to have the actual text at hand so that legal analysis can be done by parties like the SFLC.

– The list of patent numbers which would be covered by this patent license, so that other VM implementations could use a clean-room approach to check their risk of infringening a patent and take respective measures (including trying to invalidate the whole mess).

– A clarification on the end user license for Moonlight / Silverlight, as demanded in the article and the summary written by Thom.

If you go through a thunderstorm, you can be stroke by a lightning even if you follow every sensible advise. Thats the cost of doing buisness and the risk associated with breathing and leaving your house. I would advise against leaving the house in a thunderstorm if you have to carry a long metal rod with you and I would advise against introducing additional (as in: additional to the ones competitors and partners already have loaded on themselves, e.g. Python, Perl, Java) by using a technology with – so it seems, sorry – additional legal threat potential for a limited technical advantage.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

What this means in practical terms is that if someone gets a “court judgment” of “patent infringement” on a part of the project that limits the right to free redistribution then you may not distribute at all under the GPL. If that should ever happen the Mono project would have to re-license.

Most (almost all) of Mono is however under the BSD license, that has no such clause.

I don’t know if python or perl or ruby has a patent problem. There is enough existing infrastructure out there written in all these languages and none of them have to keep themselves close to an published external spec (with potentially hostile patent holders being the very same entities that drafted the spec in question). If a patent threat for perl or ruby (python is licensed under a non-GPL BSD style language which does not even mention the word patent) surfaces, projects who depend on this languages will have to reevaluate their positiuons and either try to work around the patent, try to show prior art or try to throw out the patent question in order to remain faithful to their respective licenses.

How is this in any way shape or form different to the situation with Mono? The fact that Mono adheres to the ECMA spec is completely voluntary on the part of the Mono project but this fact also gives them a lot of legal leeway, so that the project and their lawyers can claim deception should Microsoft choose to sue. This is something that Ruby or Python etc cannot. Looking at the legal angle Mono is better protected than for example Python is.

Note that I’m not on a crusade against mono. All it would need (at least for such a paranoid soul like me) to end this whole affair is

– A legally binding, written patent license to the patents involved with mono from MS and HP. As I said earlier, RAND is not enough to ensure compability with GPL and even RAND-Z may be incompatible with the license, hence it would be good to have the actual text at hand so that legal analysis can be done by parties like the SFLC.

– The list of patent numbers which would be covered by this patent license, so that other VM implementations could use a clean-room approach to check their risk of infringening a patent and take respective measures (including trying to invalidate the whole mess).

This is just plain double standards. Why don’t you write Guido and ask him for a (legally binding) list of patents that python is infringing on?

– A clarification on the end user license for Moonlight / Silverlight, as demanded in the article and the summary written by Thom.

Why on earth do you not just download it yourself and see. Moonlight and the MS Codecs are two different things, it is up to you if you want to install the MS Codecs or not. Moonlight comes standard with free Codecs only.

If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.

(emphasis mine).

Perhaps it’s my error, but I interpret this section of the GPL so that it does not need a court decision to trigger this clause. All it needs is

a.) a necessary patent license for implementing let’s say an ECMA specification (which according to the articles seems to be necessary)

b.) with terms incompatible to the GPL

c.) and somebody starting to demand adherence to this license selectively

that distributing of Mono under the terms of the GPL and LGPL (well, at least those parts that are licensed this way) will have to stop.

This is exactly what I was trying to convey with my first response to your post, btw.

The fact that Mono adheres to the ECMA spec is completely voluntary on the part of the Mono project but this fact also gives them a lot of legal leeway, so that the project and their lawyers can claim deception should Microsoft choose to sue.

There would be no need for this ambiguity if there was

a proper patent license.

This is just plain double standards. Why don’t you write Guido and ask him for a (legally binding) list of patents that python is infringing on?

Does Guido or any other of the Python devs have any patents which they may choose to license only in incompatible terms to the users of Python? Does Guido has a special patent covenant not to sue over patents with one mixed source vendor? Has Guido recently sued for example a hardware manufactor over his “special” implemenation of the vfat feature in the Linux kernel while silently collecting license fees from other vendors in a fashion which raises doubts about the conformance to the GPL?

Thought so.

If Mono is in a position (frankly, I have to claim irrogance on this point) to relicense the GPL/LGPL based parts of their project so that they don’t have to deal with the patent fallout than this would indeed at least mitigate the risk of “pulling the plug” at mono. It does, however, leave a shallow taste.

Why on earth do you not just download it yourself and see. Moonlight and the MS Codecs are two different things, it is up to you if you want to install the MS Codecs or not. Moonlight comes standard with free Codecs only.

I was not talking about the codecs, but about the “Covenant to Downstream Recipients of Moonlight” (at least it does not mention any mpeg or related patents, explicitly excludes any other technology not directly associated with the plugin in its languague, hence I have to assume that this covers the plugin itself and not the codec), which can be found here:

I may be wrong here, so please correct me if this is the case, but the definitions of “Downstream Recipients” and “Intermediate Recipients” in the document above seem to exclude a lot of potential parties to the GPL.

(e.g. downstream recipient is anybody who gets the software directly from novell and is not an intermediate recipient, intermediate recipients are not allowed to peddle their own branded version of operating sytstems).

If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.

(emphasis mine).

Perhaps it’s my error, but I interpret this section of the GPL so that it does not need a court decision to trigger this clause. All it needs is

a.) a necessary patent license for implementing let’s say an ECMA specification (which according to the articles seems to be necessary)

b.) with terms incompatible to the GPL

c.) and somebody starting to demand adherence to this license selectively

So you think that if Microsoft says linux infringes on 234 patents of theirs, then there is an alleged patent infringement and the kernel is in violation of the GPL? LOL 🙂

What the GPL quote means is that you have to stay compliant with the remainder of the terms in the GPL even if a court order forces you to be non compliant with one of the terms.

As for the rest of your stuff, I’m now convinced that you are a anti FOSS troll working under the pretense of being pro FOSS. Obviously you want programmers to spend their time on patent licenses rather than programming.

If you answered “yes” to any of these, you have used Microsoft patent encumbered technology.

No, not in the same way at all, and I’ve pointed this out before. With what you’ve listed there it is possible to create implementations that just happen to be compatible with Microsoft’s, or parts of them. It’s difficult to make anything stick. What they’ve done with .Net and the core CLR specification that makes everything tick, in particular, is different.

For the first time there is a written and nailed down specification where you can point to an implementation of .Net technologies and say “Ah, that is CLR and ECMA compliant”. The Mono guys might just as well have looked at the Rotor code. You cannot do that with Samba, Wine or even any of Microsoft’s office file formats and you could never make it stick legally. With this, they have a pretty reasonable chance of saying that if you implement something within a compatible CLR then you’re covered. If you were to implement something similar in a JVM for example then you’d be OK. They’re ring fencing their own technology as they see it and nailing down that fence.

BTW – there are a number of commercial entities using Mono in their products – just check out the Mono website. Apparently, they’re not too concerned about MS’s BS.

Well they wouldn’t be. They’ve almost certainly caved and licensed something from Novell and Microsoft. What we’re concerned about around here is the ability for organisations, and open source projects, to create implementations completely independent of that without any outside interference.

I wish Mono proponents would stop saying “Oh, you could be sued for anything and look at Samba and Wine!” as some kind of defence. It isn’t.

3. WMA = Optional Feature with codec with patent coverage buyable patent protected codec from Fluendo so not a issue.

4. Wine = LGPLv3

5. OpenOffice = GPLv3

6. Desktop environment = Lots GPLv3 or LGPLv3

Anything LGPLv3 or GPLv3 patent holder cannot take on individuals license is negate with whole or nothing.

Mono is GPLv2 not 3 for the engine. In the runtime itself MIT license no patent protection for you. So yes it can be done against individuals.

MS is desperate to dispute they are not distributing gplv3 because once distributing they have already given a patent license.

The GPLv3 blocking of patent attack is why from time to time changing of Linux kernel license to it comes up. With Mono a user targeted licensor already exists that is really restrictive on who they will sell patents to.

Don’t believe for a moment that the patent system will allow you to willfully infringe a patent in your software and then, by licensing that software under the GPLv3, freeing yourself from responsibility.

The GPL3 protects users of a software package from patents owned by the software writer. If Microsoft made a Silverlight plugin and licensed under GPL3, al users and sublicensees would be safe. But if I make that plugin, I cannot stop Microsoft from exercising its legal’s rights, whether they are ethical or not.

Don’t believe for a moment that the patent system will allow you to willfully infringe a patent in your software and then, by licensing that software under the GPLv3, freeing yourself from responsibility.

The GPL3 protects users of a software package from patents owned by the software writer. If Microsoft made a Silverlight plugin and licensed under GPL3, al users and sublicensees would be safe. But if I make that plugin, I cannot stop Microsoft from exercising its legal’s rights, whether they are ethical or not.

What new technology does Silverlight represent? Where is the invention?

Flash and even SVG/SMIL predate it by ages.

In order to have a valid patent, you must have an original invention to start with. Just having a piece of paper from the USPTO is not good enough either, it has to be tested in court. To survive a court challenge, it has to be an original invention.

I’m not a Mono proponent by any means, other than I find it interesting technologically. For myself, I strongly prefer stuff like Java and Qt, for a myriad of reasons.

“With what you’ve listed there it is possible to create implementations that just happen to be compatible with Microsoft’s, or parts of them.”

I don’t understand what the difference is. Mono’s C# and CLR are implementations, with 100% original source code, based on published standards.

Samba is a compatible implementation of an MS protocol.

I guess the only real difference would be that Samba, to my knowledge, is not an open standard. So presumably, the Samba devs had to reverse engineer the SMB protocol, and create their own implementation from that.

If anything, it seems to me, that Samba would be even more legally dangerous than Mono, for the simple fact that the former might have involved reverse engineering, and the latter was based on a published standard.

In any case, my only interest in Mono is for transporting existing ASP.Net (or other .Net code) code to non Windows platforms, if the need ever arises. Apart from that, Mono offers me nothing that I can’t already get from stuff like Java, Qt, Python, and many others.

Samba is a hard one. The official maintainer for the core of the network protocol MS uses is Samba not MS.

Legalities could find that MS does not have any rights to have any patents on the protocals samba supports reason every patent created while committing a crime so void.

Reversing and implementing to restore compatibility could be pure legal. Part in charge of a standard body

should not have to resort to legal action in the EU or anywhere else to get information back from a thief. Its the major reason MS lost in the EU. Same case in USA would have seen MS patents on the protocol awarded to the standard body.

The simple point this is about mono not samba. Samba legal status is fairly well known. Its not a open and shut case. MS patents are more likely void on Samba just they don’t know it yet.

Mono on the other hand there is nothing to void the patents. .Net is new tech. No case of stealing can be made.

I am getting sick of some of these idiots. UNO sun copyright. Sun did not make UNO. the 2000 date is when SUN changed UNO from closed source to open. UNO is prior art to com. Anyone with a pre 1990 copy of starwriter will find it already contains UNO. COM patent is a joke.

The vastness of your ignorance is impressive. You really should read a bit before saying such nonsense.

Samba may be financed by IBM, and IBM may be a member of thirty different open patent groups. However, Samba implements a protocol which embeds patents that are property of Microsoft. Whether Samba is safe or not does not depend at all on what IBM would like it to be.

The original idea for the desktop metaphor might have come from Xerox, but MS, Apple, IBM and others have added their bits to it, even the stupidest of which may well be patented too. Font optimisation, page layout, and various GUI bits have patens all around.

Wine implements the Windows API. While it possibly cannot be acused of copyright infringment, it surely infringes many, many Microsoft patents.

Why could OOo violate MS patents? Well, in a thousand different places, starting from the .doc interpreter. The fact that there are other suites does not make any of them non-infringing.

Mono? It might be a minefield, but at least Microsoft has published the specs, and is providing help, support and codecs. The published parts should be about as safe as Samba.

OK, I’ll reword: “As far as we know, it could very well embed….”, or even, “I’d be surprised senseless if it did not embed…”

SMB might be largely IBM’s invention, but Microsoft has kept on adding in its secret sauce for years. Any of those bits may be patented, whether we know it or not.

It is very sad that it is so easy to appropriate vast amounts of public-domain knowledge without giving anything in return, and then lock it by adding just a tiny smattering of proprietary patented code. But exactly that is what is happening nowadays all the time.

But the point here is that patent retaliation is as likely to originate from .NET as it is from Samba or OOo, or less, because MS has actively been helping the development of open source alternatives.

Free software might be a minefield, too. For example. database drivers for MySQL, version 3 and higher, are under GPL. MySQL people decline to interpret the license, and also decline to come clear are they willing to go after people who write non-GPL applications that work with version of MySQL server that is downloaded for free. Instead, they recommend to buy MySQL and be safe.

I write software for living, and placing any part of my code under GPL is strictly not an option. I find difficult to explain customers why they need to buy something they already downloaded for free.

The final outcome is that I have never sold any application that works with MySQL database. For customers that have not chosen database engine yet, I always advise against MySQL, to avoid problems.

My engine of choice is PostgreSQL, but I also find MS SQL much more developer friendly than MySQL, because license situation is clear, customers know that they need to pay, and, second, there is a developer version for free.

I deal with the Crying my business is stuffed because my program don’t work any more.

Closed source in that case is a extrema pain in but. If you wish to make closed source so be the costs. All firms I have is a strict I will not buy a application unless source code is provided for custom software anyhow. So Mysql license does not bother me in the least. The more businesses that do that to you the less you will worry about GPLv3 restriction against closed source.

My contracts prevents customers to distribute my code, but they do receive it, and are allowed to modify it. That’s practical matter, does not have anything with Open Source as a philosophy. Simply, if something happens to me, customer can find someone else to modify the application.

I don’t feel that I have to justify what I do for anybody, but, for the sake of discussion, I will explain some points.

My contracts conflict with GPL in redistribution part. I don’t allow redistribution of my code, because I want to sell the same, or slightly modified code over and over again. In the same time, I don’t want any of my competition to use my code in their products. That is very simple and meaningful concept, but GPL conflicts with it.

Of course they are! Writing software is very close to writing books, novels (I mean fiction)… Software Engineering is like Theory of Literature then. You can read a lot of books on Software Engineering, you can even add a lot of theory from yourself, but still you would be a poor programmer. The same story is with Theory of Literature – you can swim very good in the wide and deep seas of many different theories describing what and how should be written and what something mean or should mean or not… And still you would be unable to be considered a good writer, which is able to write successfull stories 😉

So, if these two disciplines are so similar, we should think for a while if it’s possible to use patents in the field of Theory of Literature? Could you imagine something like that:

“a method of building the tension in readers’ mind by … …”

or

“a way to suspend the action of a novel at the end of a story to enable multiple interpretations …” etc.

It’s similar to the descriptions of – so called – software patents.

So, both things, the literature and software are written and are the products of our creative minds. These cannot be patented like a methods of producing material goods, like shoes, airplanes, ketchup, sweets, juices, medicines etc.

So, if these two disciplines are so similar, we should think for a while if it’s possible to use patents in the field of Theory of Literature? Could you imagine something like that:

“a method of building the tension in readers’ mind by … …”

or

“a way to suspend the action of a novel at the end of a story to enable multiple interpretations …” etc.

Yes, in America, I can imagine that. Common sense has very little to do with our laws. It is more about who has enough money to get the law written or bent in their direction. Justice (getting our way) is expensive in America. It may even get a column of its own in our spreadsheet.

I read this a few days ago and wondered what it was actually talking about. The RAND license comes implicitly with any ECMA standard that you implement, so you don’t go and ‘get’ this license yourself. That’s why Miguel said talk to the ECMA and they should at least have some clue how they operate themselves, but we should all know the ECMA is useless by now – hence Microsoft’s usage of them.

Now, where it gets interesting for open source software is that this is not implicitly RAND + royalty free. You might have RAND licensing but it isn’t set how reasonable those terms are. There was talk of a letter a few years ago about Microsoft saying they were going to make the licensing RAND + royalty free and Miguel talked about, although not himself directly strangely enough, in a thread:

I read this a few days ago and wondered what it was actually talking about. The RAND license comes implicitly with any ECMA standard that you implement, so you don’t go and ‘get’ this license yourself.

Before coming and talking about bad journalism you should perhaps do some research yourself:

The General Assembly of Ecma shall not approve recommendations of Standards which are covered by patents when such patents will not be licensed by their owners on a reasonable and non-discriminatory basis.

The above (with emphasis added) is from Ecma’s “Code of Conduct in Patent Matters” http://www.ecma-international.org/memento/codeofconduct.htm. It’s not much text but if you read it it becomes quite clear that it is the individual members that are expected to provide the RAND-license, not Ecma. Which is quite understandable since Ecma can’t give out licenses unless they themselves have been given a transferable license.

Before coming and talking about bad journalism you should perhaps do some research yourself:

Yer, I’ve read it and the example documents used. I don’t know what you’re quoting, what you think it says nor why you think that what you’ve written alters anything.

The General Assembly of Ecma shall not approve recommendations of Standards which are covered by patents when such patents will not be licensed by their owners on a reasonable and non-discriminatory basis.

Yer, and?

It’s not much text but if you read it it becomes quite clear that it is the individual members that are expected to provide the RAND-license, not Ecma.

You didn’t read between the lines or what I’d written at all. The ECMA requires a RAND license to be issued by those submitting to the ECMA, and the ECMA has a written agreement that all submitters have to sign agreeing to that fact. It is in the code of conduct. It is not just left to the owners at all, although they are the ones who have to undertake the necessary work themselves. Ergo, when you implement an ECMA standard you do so with an implicit RAND license. It is not a license that you go and ‘get’ yourself from the ‘owners’.

Which is quite understandable since Ecma can’t give out licenses unless they themselves have been given a transferable license.

You’ve contradicted yourself. The ECMA does not hand out licenses per se, although it has to be implicitly transferable. It is the submitters’ responsibility to ensure that an implicit RAND license is in place regarding the content of the standard and the ECMA requires a written and signed agreement that one actually is in place so that is what you go on. You don’t get to see it yourself and there might not even be a written one.

Quite how legally binding this is is anone’s guess, but that’s another story.

Let’s just take a moment to remember some of the other companies that have allowed themselves to get a little too close to Microsoft as Novell has now done… Compaq, SCO, Yahoo, Bungie, Rare, Sega, the Banking Insustry, the American Auto Makers. What could possibly go wrong??

Microsoft has done some really shady things in their time, but your examples are absurd. The banking industry? Really? Microsoft is responsible for credit default swaps, over leveraging and bad loans now? The American auto industry? Microsoft forcced them to make gas guzzling cars that wouldn’t sell when the price of oil spiked? Bungie and Rare have done fine as subsidaries of Microsoft (see sales of Halo series, Perfect Dark Zero and Kameo). Yahoo’s mistake was that they turned down a very fair offer from Microsoft. Compaq screwed up when they wasted money on DEC and didn’t know what to do with it. Microsoft had nothing to do with SCO’s fall from grace, but this is good a example of some of Microsoft’s shady behavior as they pumped money into SCO’s corpse in an attempt to poison the waters for Linux. As for Sega, Microsoft did screw them. Microsoft “assisted” Sega by giving them a license for Windows CE for the Dreamcast and then used the process as a test run for the Xbox.

The enemies from the KDE camp that hates everything Gnome and especially Miguel.

Hah, more like a faction of the Gnome camp that doesn’t want Mono dependency introduced to core Gnome. I don’t think KDE camp really minds the Gnome camp – Gnome is actually a good “lightning rod” that stays stable & usable when KDE “experiments” a bit. Gnome making Mono a hard dependency would actually be a selling point for KDE, so I don’t see why the KDE camp would “hate” it.

Interesting point, Java. When Sun (re)licensed Java under the terms of the GPLv2 + Classpath exception, they essentially granted a RAND-Z patent license for all relevant patents to Java. The moment MS grants a similar patent grant/license, lots of “hate” from the “camps” you enumerated in your post will more or less evaporate

The enemies from the anti Microsoft camp that hate everything that originated at Microsoft.

Can’t argue with that. But then there is also the “don’t bother me with Microsoft” camp which just tries to stay clear from technology originating at Redmond. and frankly they don’t see the point why we should base let’s say GNOME on a controversial technology which still needs some sorting in the legal department. Plus, as long as Microsoft fails to address what was so special about the vfat implementation in the linux kernel used by TomTom, I would say that even the linux haters may have a point here.

The enemies from the pro Microsoft camp that wants to keep programmers on Windows.

Interestingly, I had not thought about this group, because frankly, most .Net programmers I know are quite interested in targetting for example Mac OSX via Mono, but then I may know a different segment of programmers than you do.

The enemies from the anti Novell camp that probably work for Red Hat or Canoical?

Now that you mention it, I never received any money from RedHat or Canonical. Hm …

The enemies from the KDE camp that hates everything Gnome and especially Miguel.

Interesting point, again. The Qyoto/Kimono bindings for Qt4 and KDE respectively allow folks to write applications for the KDE desktop in C#, so some developers (richard dale for example) are not infected with hate, hate, hate. Do I oppose the creation of these bindings? No, as I (and I’m wearing my admin-with-apx.-33%-GNOME-users hat and not my KDE user hat here) am not opposed to the respective GNOME/Gtk bindings. But I would advise strongly against building new and important infrastructure / applications (e.g. everything aimed at levels above KDE playground) using these language bindings as long as the ambiguity wrt the license is not sorted out.

The enemies from the C and C++ camp that hates everything with a VM and are not afraid to say so.

Skip the “everything”. Interpreted languages have their applications, so have compiled and low level languages. Python/PyQt for prototyping and performance uncritical stuff and C++ + Qt make for a very nice and robust development framework, thank you very much. And for the Gtk folks it seems that Vala captures alot of the syntactical advantages from C# while translating with minimum overhead into C. Sounds like reasonable alternatives to yet another interpreted/jit compiled framework to me.

The enemies from the “Patent Lobby” that hates the fact that patents are useless and want to apply patents to Mono just to begin somewhere when unwinding the FOSS community.

Sounds strange, but I actually agree here with you because the legal ambiguity around the patent situation is harming mono. The problem is, that as long as there is no legally binding patent license from Microsoft which is compatible with the license of the c# toolchain and the runtime library, mono faces the problems that everybody else in the FOSS community faces (e.g. the sudden attack by a patent troll or via a proxy) while additionally being the perpetual flamewar lightning rod it is. The general patent situation is difficult to remedy, agreed, but finally addressing the legal ambiguity of the Mono project as demanded in the article is probably something the Mono devs should place on their agenda. It’s not like they haven’t been asked to clarify this matters once and for all in the past, you know.

Interesting point, Java. When Sun (re)licensed Java under the terms of the GPLv2 + Classpath exception, they essentially granted a RAND-Z patent license for all relevant patents to Java. The moment MS grants a similar patent grant/license, lots of “hate” from the “camps” you enumerated in your post will more or less evaporate

Dude, you are a patent apologist.

There are no good software patents and it does not matter who has them and what they do with them. Trying to differentiate between good and bad patents lends credibility to the software patent system, and it does not deserve that.

Singling out Mono as a “special” target for “patent infringement” just shows irrational bias… Why not OpenGL or Skinning (for gods sake)…

Patent: US Patent 7451399

Assignee: Microsoft (Redmond, WA)

Abstract: Methods and systems for creating and rendering skins are described. In one described embodiment, a skin is defined using at least one skin definition that defines the skin in a hierarchical tag-based language.

Well KDE does that, and it is a part of the core, so now you will stop using KDE?

There are no good software patents and it does not matter who has them and what they do with them. Trying to differentiate between good and bad patents lends credibility to the software patent system, and it does not deserve that.

I will not enter this road, because as a trained computational physicist the mere idea of a patent on math is perverse. There are no good but only bad software patents, in my book.

For the time being (e.g. as long as there are jurisdictions where software patents are granted and enforced), the best thing we can do while working on abolishing the very idea of software patents is to create a “safe zone” for (FOSS) software, e.g. a body of patents that is not actively enforced at least against FOSS projects. (Cue in OIN, patent commons, etc.).

A RAND-Z license for a patent is one patent less we have to worry about until the patent system is reformed, which will be difficult and will take its time. A patent in a defensive found is one more that will scare away predatory players until the patent system is reformed, although this constructions will unfortunately not work with patent trolls, so no false sense of security should be deduced from such pools.

The reason for the patent language of the GPLv2 is not to provide players hostile to the idea or implementation of FOSS with a handy kill switch, it is to ensure that participents fo the FOSS ecosystem do their best to ensure that nobody is singled out when the cold patent war turns into a hot one. I may be unfair towards MS and Novell, but their attempt to find a loophole in this shield essentially betrays the intentions behind the license they choose for parts of Mono, which is one of the major reasons why I’m suspicous or paranoid.

Singling out Mono as a “special” target for “patent infringement” just shows irrational bias… Why not OpenGL or Skinning (for gods sake)

So instead of dealing with the patent mess we currently have by using the tools available (patent licenses compatible with the GPLv2, defensive patent collections, and scrunity), we should just pretend that the lightning rods on our respective backs have equal length and where the lightning strikes is determined by chance alone? Interesting philosophy.