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.

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.