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.
If only to put the mandatory Mono flamewars to rest.
now I am corious. Give me a few hours and (if he hasn’t left, it is friday after all) I will have an answer for you guys on this.
Who are you talking about?
-Ad
I am asking a few people at Microsoft who would be qualified to give an answer to the issue. So far I haven’t heard anything, but it’s the weekend so i am not suprised
I’d imagine qualified != authorized, in this matter ;-).
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.
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.
You are right that RAND does not mean free, which is why Microsoft went a step ahead and did RAND-Zero.
From the horse’s mouth:
http://web.archive.org/web/20030424174805/