…or How I Learned to Stop Worrying and Look at the Wookie.
Misdirection is a curious thing, and in the hands of Microsoft “evangelists” (such as Miguel de Icaza), it’s positively dangerous.
Apparently, de Icaza is slavering  over Microsoft’s recent announcement  that they “will be applying the Community
Promise  to the ECMA 334 and ECMA 335 specs”.
So now the pro-MONOpolists have three things to cheer about:
1. Poisoning Free Software with Microsoft’s IP (and paradigm)
2. The ECMA RAND /price/ guarantee
3. Microsoft’s misleading “covenant”
Let’s look at these in more detail.
First, if we naively assume there are in fact zero “IP” risks involved in implementing C#/CLI, that still leaves the question of why should the Free Software community help spread Microsoft’s standards, regardless of how “safe” any of those standards might be?
After all, Microsoft is the self-declared enemy of Free Software, they think it’s “a cancer”, and that GNU/Linux is “Microsoft’s number one competitor”. Their criminal and unethical behaviour alone, over the last three decades, should be sufficient reason to not want to help them, but given the very obvious conflicts of interest here, I’d say it’s patently obvious there must be a catch. Microsoft is not the sort of company that helps its competitors … ever, not unless it can work some nefarious angle (embrace, extend, and extinguish).
Historically, and still to this day (OOXML), Microsoft uses its proprietary, reinvented “standards” to try to squash all competition, by tying those “standards” to software that’s bundled with nearly all PCs, by OEMs, under financial coercion  .
Bear in mind that this devious “standards” tactic is the key weapon Microsoft uses to protect its monopoly.
Is this something we should be helping them with?
“Microsoft is not the sort of company that helps its competitors … ever, not unless it can work some nefarious angle (embrace, extend, and extinguish).”The second point, and I’ll make it brief since there’s very little to discuss about it, is that the ECMA RAND is only a guarantee of fair price (parity). It has nothing whatsoever to do with Microsoft’s rights to sue you for patent violation. A classic misdirection used by the pro-MONOpolists.
The final, and most pertinent point, is that Microsoft’s so-called “Community Promise” is just another misdirection, because its “truths” are incomplete, in some cases questionable, and in yet other cases wholly irrelevant (essentially non sequitur).
Here’s a simple analysis:
The “covenant” (and the RAND) do not apply to large portions of .NET (e.g. ASP.NET, ADO.NET and Winforms). This is significant because it means .NET programs which utilise these components will not be (legally) interoperable with systems running Mono. This means there will be great disparity between C# programs on Windows and their ports on GNU/Linux, and this fact will be abused by Microsoft to promote Windows as the “better” system. It will also have the effect of attracting Mono developers over to Windows, who may subsequently abandon GNU/Linux. It may even represent an actual “IP” risk, if de Icaza and friends are not entirely vigilant (or possibly if they’re complicit with Microsoft’s anti-Free Software agenda. At this point, anything’s possible).
The “covenant” conveniently ignores these essential details.
Microsoft also makes a big deal out of its claim that this “covenant” is “legally binding”. Well, is it? Not really. It’s not legally binding in the sense that an actual patent grant is, since that is an explicit contract with a named party. It may become legally binding … if used as a challenge in court. But of course it does actually need to be tested in court /first/. If you were, for example, Red Hat, would you want to be the guinea pig? Oh how Microsoft would love the opportunity to squash that piggy.
In fact, it’s debatable whether they’d even be covered by this “covenant” at all, since (in Microsoft’s own words) “The CP applies only if the implementation conforms fully to required portions of the specification. Partial implementations are not covered” … and “The Community Promise applies to all existing versions of the specifications”. So this raises the questions what is covered, and exactly how feasible is it to implement this “full specification” under Mono (or DotGNU, or any other unlicensed implementation)? Even more importantly, what will not be covered in the future, as and when the specifications change?
Oh yes, Microsoft also make a big deal about their claim that these rights are “irrevocable”, but they fail to clarify that these
“irrevocable rights” only apply to the standard as it stands today. And we all know how Microsoft loves to “extend” things, don’t we?
So in summary, Microsoft’s “promise” is worthless, irrelevant, and entirely misleading. I’m sure it’ll bring a brief moment of euphoria to the pro-MONOpolists, who will now believe they have a new argument to support their aspirations to poison Free Software with Microsoft’s toxin, but in the long term it amounts to nothing. Nothing but trouble, at least. █
Analysis by Slated
“The shepherd drives the wolf from the sheep’s throat, for which the sheep thanks the shepherd as his liberator, while the wolf denounces him for the same act, as the destroyer of liberty. Plainly the sheep and the wolf are not agreed upon a definition of the word liberty; and precisely the same difference prevails today among human creatures.” ~ Abraham Lincoln