I noticed a comment thread on Groklaw about Moonlight, with a link to the license terms on Microsoft's website. They call it Covenant to Downstream Recipients of Moonlight - Microsoft & Novell Interoperability Collaboration . A comment by Microsoft's Brian Goldfarb on Dana Blankenhorn's article about Novell being a lead pony for Silverlight started the discussion originally. Goldfarb represented that anyone can use Moonlight: "Moonlight is usable for anyone on any distribution of Linux (redhat, ubuntu, etc.) -- it is not limited just to Novell as Mono is." And he linked to the covenant, saying it "applies to all downstream recepients of the software." Is that true?
So I read the covenant, and I found, despite my training and experience, that I couldn't fully understand it. That was a warning sign to me, because you don't need to be a rocket scientist to read legalese. Once you know the language, you know it. And I know it. Why couldn't I understand this covenant, then? Is there an attempt to camouflage the intent?
If I can't understand it, how can you, I wondered? How could programmers know what they can and can't do? End users? Is it safe to contribute code? To include in distros? To use, even? I couldn't tell, although it seemed not safe, from what bits I did understand, most particularly because the wording seemed to me so unclear. Lack of clarity in legalese is what leads to litigation, in my experience, and I know Microsoft knows how to write clear legal documents should it wish to.
Rather than guess, I wrote to the Software Freedom Law Center, asking if they could answer some questions about it, and Dan Ravicher eventually answered my questions. The bottom line? I'd say this stuff is radioactive. But you can judge for yourself.
You'll note that what I did was quote the document paragraph by paragraph, and then ask my question about it. Here then are the questions and answers.
Q: The big question is: can people use Moonlight? Can programmers work
A: Well, I'm not sure that's a precise enough question, because of course
people can use and work on it. The issue is what they CAN'T do.
Q: Here are my questions on the first paragraph:
Microsoft, on behalf
of itself and its Subsidiaries, hereby covenants not to sue
Downstream Recipients of Novell and its Subsidiaries for infringement
under Necessary Claims of Microsoft on account of such Downstream
Recipients’ use of Moonlight Implementations to the extent originally
provided by Novell during the Term and, if applicable, the Extension
or Post-Extension Period, but only to the extent such Moonlight
Implementations are used to provide Plug-In Functionality. The
foregoing covenants shall survive termination of the Agreement, but
only as to specific copies of such Moonlight Implementations
distributed during the Term, and if applicable, the Extension or
Is this a covenant not to sue us if we receive Moonlight from
Novell and Novell only (Novell and subs)?
A: It only covers 'direct' recipients from Novell, not 'indirect', which
would likely exclude those who receive it directly from anyone other
than Novell unless that third party is an 'authorized reseller'.
And, further, this only protects 'Downstream Recipients', which you
properly identify below has its own definitional issues.
Plus, there's the limitation to use for providing "Plug-In
Functionality', which is narrowly defined to only include interactive
media web-based applications compatible with Silverlight.
Q: It's for a term only, I see, although if I understand the wording if
you received your copy during the term, it remains covered. Is that
A: The definition of 'term' is internally inconsistent, because it says
'this Agreement' when the word 'Agreement' had been defined as the Sept.
5, 2007 Agreement between Novell and MS.
Q: But the definitions section seems to be saying that Moonlight is safe
from threat only if you get it from Novell AND DO NOT PASS IT ON, as
there are no protections for downstream recipients.
A: Correct, unless those downstream recipients get it from an 'Intermediate
Recipient' defined to only include authorized resellers.
Q: Next section says:
“Downstream Recipient” means an entity or individual that uses for
its intended purpose a Moonlight Implementation obtained directly
from Novell or through an Intermediate Recipient. An entity or
individual is not a Downstream Recipient when such entity or
individual resells, licenses, supplies, distributes or otherwise
makes available to third parties the Moonlight Implementation. For
avoidance of doubt, an entity or individual cannot qualify both as a
Downstream Recipient and an Intermediate Recipient for use of the
same copy of a Moonlight Implementation."
Q: What does that mean, "for its intended purpose"?
A: Good Q.
Q: And I don't understand the definition of "necessary claims" either:
“Necessary Claims” means claims of a patent or patent application
that (i) Microsoft Corporation or any of its Subsidiaries now or
hereafter owns, controls, or otherwise has the right to license or
covenant without the payment of any royalty or other amounts to any
unaffiliated third party, and (ii) are necessarily infringed by an
implementation of the Silverlight Specification. For purposes of the
foregoing, a claim is “necessarily infringed” only when there is no
commercially reasonable non-infringing alternative to such
implementation that also implements the Silverlight Specification.
“Necessary Claims” do not include any claims: (1) other than those
set forth above, even if contained in the same patent or patent
application as those set forth above; (2) covering any enabling
technologies (e.g., operating systems, web browsers or other platform
technologies) that may be necessary to make or use any Implementation; or (3) covering the implementation of other published
specifications that may be referenced in the Silverlight
A: It's not a very atypical provision. Usually royalty free patent grants
are limited to 'Necessary Claims', i.e. those claims of the licensed
patents that _have_ to be infringed in order for the thing to work. It
doesn't include additional claims to bells and whistles that aren't
Q: But on paragraph three, what is the wording about the GPL saying?
"All rights not expressly granted by the foregoing covenant are
reserved by Microsoft. No additional rights (including any implied
licenses, covenants, releases, or other rights) are granted by
implication, estoppel, or otherwise, including no rights under any
additional patents of Microsoft and no rights to any technology not
included in such Moonlight Implementations, even if additional
related or enabling technologies (e.g., operating systems, web
browsers, or other platform technologies) are required to use the
Moonlight Implementations. Microsoft is not bound by, nor grants any
rights under, any third party licenses with respect to the Moonlight
Implementation (e.g., any versions of the General Public License).
A: They're trying to take away any patent licenses granted through GPLv2
(implied patent license) or GPLv3 (the express license contained
therein). They're basically trying to make it clear that this covenant
replaces any potential patent licensing under other terms related to
Whether or not they can effectively do that is a different question.
It's like walking into a store and saying "I'm only going to pay half of
the amount I owe and I hereby disclaim my duty to pay full price." You
can try that, but the law supersedes whatever intent or desire you've
expressed. At minimum, this shows how clearly they DO NOT want to
coexist with GPL'd code.
Q. In the definitions section, I see this: “Moonlight Implementation”
means only those specific portions of Moonlight 1.0 or Moonlight 1.1
that run only as a plug-in to a browser on a Personal Computer and
are not licensed under GPLv3 or a Similar License.
Q: Why is Microsoft feeling it necessary to say this?
A: They're being politicians, saying words that are supposed to make people
feel better, but that actually contain no meaning or commitment. This
covenant is worthless and, even worse, could be harmful to those who
fall into the trap. If MS wanted something good for the community,
they'd negotiate with those lawyers who represent the community's interests.
My conclusion now, after
having reviewed it, is the same as I predicted. This is worthless and
potentially harmful vapor-speak.