LWN.net Logo

The FSF warns (again) against Mono

The FSF warns (again) against Mono

Posted Jul 18, 2009 20:06 UTC (Sat) by speaker2animals (guest, #59643)
Parent article: The FSF warns (again) against Mono

languages. Sun probably has patents that cover Java. Maybe IBM has patents that cover C compilers. "Shouldn't we discourage the use of these too?" they ask.

More importantly, Microsoft probably has patents that cover these. See below.

Windows Forms. Instead, we're talking about libraries under the System namespace that provide common functionality programmers expect in modern programming languages: binary object serialization, regular expressions, XPath and XSLT, and more.

Because these libraries are not defined in the ECMA specifications, they are not protected in any way by Microsoft's Community Promise.

The patents we need protection from, and hence that need to be covered in the MCP, are those patents that cover things in C# and CLI that are unique to C# and CLI (well, unique modulo patent office incompetence at recognizing when software is new, useful, and non-obvious).

Regular expressions, et. al., are not unique to C# and CLI. The C# and CLI specifications of those are the same as they are in most other languages and runtimes commonly used on Linux. If Microsoft has any patents that cover those, those patents are just as valid against Java, C, and every other Linux language as they are against Mono's implementation of C# and CLI.

Microsoft might also have patents covering particular algorithms they used to implement regular expressions and those other common things in their implementation of C#, but those particular algorithms would be no more likely to be in Mono than that are likely to be in any other independent implementation of regular expressions or the rest.

The above argument completely deals with the section named "incomplete standards" in the FSF's argument. The same argument also deals with the next section, "Figuring Out What's Necessary", where they worry Microsoft patents might cover some common way of performing some task, and so Mono could infringe that. Such a patent would cover that in the non-Mono language systems, too. If Microsoft is going to sue over such a patent, they are far more likely to go after something other than Mono, where they won't run into major estoppel and laches issues. I think Java would be their most likely target, as Java is a major competitor of theirs in the enterprise.

The "Moving the Goalposts" section stands up a bit better, in that there is nothing that is obviously wrong at first glance. However, it shows a fundamental understanding of what a patent is. When you get a patent on something, that gives you the right to exclude others from practicing that patent. It does NOT give you a right the practice the patent yourself. A popular example given in law school is that if you got a patent covering 3-legged chairs, you could stop others from making 3-legged chairs, but you might not be able to make 3-legged chairs either, because someone else might have a patent on legged sitting devices. Hence, if you were to license your 3-legged chair patent to someone else, you would be foolish to write your license as saying they are allowed to make 3-legged chairs. Your license would only say that you will not use your patent to stop them from making 3-legged chairs.

The second concern that the FSF raises in that section, the effects of a transfer of patent ownership on the promise not to sue, has more merit. Courts have leaned toward applying such promises to subsequent assignees, but some have gone the other way. At least one major manual of patent practice I know of recommends using a license over a bare promise just so you can write into the license that it applies to assignees and not leave any doubt. (Ironically, the FSF insists that the GPL be interpreted not as a contact but rather as a bare license, which means that it has the same theoretical problem).

Summary: after eliminating the legally erroneous parts of the FSF's argument, we are left with a possible concern that MCP might not apply to assignees if Microsoft ever transfers its patents to someone else (BTW, this would have to be a legitimate transfer--courts would see through a sham transfer to a shell company just for the purpose of getting out of MCP). For me, that isn't enough to be of concern--I will continue on my Linux systems to use whatever software gets the job done best, even if it is written using Mono.


(Log in to post comments)

The FSF warns (again) against Mono

Posted Jul 20, 2009 18:19 UTC (Mon) by makomk (guest, #51493) [Link]

More importantly, Microsoft probably has patents that cover these. See below.
Yes, but the patents won't be specifically aimed at that software, which gives more wiggle room to get in there with prior art and invalidate them.
Regular expressions, et. al., are not unique to C# and CLI. The C# and CLI specifications of those are the same as they are in most other languages and runtimes commonly used on Linux.
Yes and no. There are certain language-specific design decisions that have to be made when interfacing to regular expressions, XPath etc from a language. The open question is whether Microsoft has patented any aspect of the interface between them and .Net. (I have a feeling such patents wouldn't stand up well in court if it wasn't for the novelty requirement being severely weakened these days.)
they worry Microsoft patents might cover some common way of performing some task, and so Mono could infringe that. Such a patent would cover that in the non-Mono language systems, too.
Of course it could cover non-Mono languages. The concern is that Microsoft might have patented some common way of performing a task specific to implementing C#/.net. By tying it to C#/.net they'd again make it much harder to find good prior art, or even totally impossible.
If Microsoft is going to sue over such a patent, they are far more likely to go after something other than Mono, where they won't run into major estoppel and laches issues.
IANAL, so this is a bit beyond me. I can imagine the courts wouldn't look kindly on such a trick - but this assumes the defence can convince the court that infringing said patent was a likely or inevitable consequence of implementing the ECMA standard, which would be difficult in itself.
Hence, if you were to license your 3-legged chair patent to someone else, you would be foolish to write your license as saying they are allowed to make 3-legged chairs. Your license would only say that you will not use your patent to stop them from making 3-legged chairs.
No, it would say that it gave you a license to practice their patent on 3- legged chairs and would be legally binding on future purchasers of the patent. This is not a patent license, it's a promise not to sue, and as far as I can tell it doesn't bind anyone that Microsoft sells the patents onto.

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds