10 Problems with the New Moonlight Covenant


So, the all-new all-updated Covenant to End Users of Moonlight 3 and 4 is up!

Here’s the text, to save you a trip:

Covenant to End Users of Moonlight 3 and 4

Microsoft, on behalf of itself and its Subsidiaries, hereby covenants not to sue End Users for infringement under Necessary Claims of Microsoft and its Subsidiaries on account of such End Users’ 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 as Conforming Runtimes. 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 Post-Extension Period.

Microsoft reserves the right to update (including discontinue) the foregoing covenant pursuant to the terms of the New Moonlight Collaboration Agreement between Novell and Microsoft that was publicly announced on or about December 17, 2009 (the “Agreement”); however, the foregoing covenant will continue as to specific copies of Moonlight Implementations originally provided by Novell and distributed before any such update.

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 Implementations (e.g., any versions of the General Public License).

Now let’s look at a few of the issues – I’m sure many more will turn up as more people analyze this “covenant”.

Problem #1: Novell-Only, Pt. 1

According to the defined term Conforming Host, only Novell can create “launchers” for non-browser applications. You aren’t Novell? You can’t implement it.

Problem #2: No Deviations

Furthermore, such shell applications are quite restricted. Again, according to the defined terms, shell applications can not:

(i) Do anything that a web browser plug-in would not be able to.
(ii) Do anything more or less than Silverlight can do.
(iii) Prevent anything that a web browser plug-in can do.

Problem #3: OS Limitiations

Current and future versions of Windows and Mac are specifically excluded from the Covered Operating System definition. Yes, you read that right. Moonlight can not be cross-platform.

Problem #4: The Killswitch

Microsoft can at any time change or discontinue the covenant. Sure, previously distributed instances will be “safe”, but that does little for future versions.

Problem #5: Overlapping Promises

Microsoft explicitly states that no other licenses, covenants, releases or other rights are granted, even if they are related or enabling. This means that any technologies under the so-called Microsoft Open Specification Promis or Microsoft Community Promise that Moonlight requires can not be covered under both sets of promises/covenants.

Problem #6: Novell-Only, Pt. 2

The definitions of “Moonlight” and the covered portions clearly only apply to “those portions developed by or on behalf of Novell”.

Problem #7: Novell-Only, Pt. 3

The Media Packs are only covered if you get Novell-Provided Copies of Moonlight.

Problem #8: Platform Limited

Only Personal Computers are covered. The covenant explicity excludes, “personal digital assistants (PDAs), Pocket PCs, personal media players (PMPs), or mobile telephones”.

Problem #9: GPL-Hostile

The Microsoft “covenant” is specifically GPLv3 hostile. You are not covered if any portion is under a GPLv3 or similar license, even if every other qualification is met. The sole act of chosing a GPLv3 or similar license is sufficient to void the covenant.

Problem #10: Expiration Date

Not only does the covenant end on December 31, 2012 (it may be extended or terminated earlier), but the covenant only applies during the Term. That is, if the software is covered on December 30, 2012 and the covenant was not extended, then that same software is no longer covered on Jan 1, 2013, even if the prior use was covered.

Summary

There you have it then, 10 problems I see with the new Moonlight Covenant. Some I noticed in the old agreement, and some I didn’t really notice until reading through the new agreement.

Here’s the interesting point to me: I do not think you can develop and distribute Moonlight as “Open Source” and still remain in compliance with the covenant.

  • The covenant does not permit Point 3 of the OSI OSD (Derived Works), because it only covers Novell implementations.
  • The covenant does not permit Point 8 of the OSI OSD (License Must Not Be Specific to a Product), because the rights attached to the product do indeed depend on the program being part of a particular software distribution.
  • The covenant does not permint Point 10 of the OSI OSD (License Must Be Technology-Neutral), because the covenant explicity excluded PDA, cell phone, and similar platforms.

I reject the notion that Open Source-licensed software can remain Open Source if it is under extra-license conditions. The uncritical focus on the-only-thing-that -matters- is-the-license-Open-Source misses a very important point. In fact, the OSI OSD touches on this in Point 2 (Source Code) when it states that obfuscated source code is not allowed.

What is the difference between “Open Source” code restricted by obfuscation or encryption and “Open Source” code restricted by “covenant” requirements?

I don’t think that “Open Source” can be vendor-specific, platform-restricted, time-limited, and modification restricted. Yet, in order to fall under the coverage of the covenant, Moonlight must be all of these things.

How exactly is that  working in a “purely open source fashion”?

  1. #1 by saulgoode on December 23, 2009 - 8:37 am

    The first thing to strike me was that it was covenant covering Moonlight specifically, not a covenant for implementations of the Silverlight framework in general. This serves to point out the claims of propriety Microsoft has on the Silverlight framework, and that Novell is quite willing to reinforce that propriety to the cost of the Free Software community. Overall, the new covenant reads more as a cease-and-desist than as providing any sort of liberating indemnification.

    I do disagree with Problem #5 though; the wording is that no other “rights” are granted, not that no other licenses/promises/pinky swears are granted. It is fairly boilerplate wording and only remarkable in its rather dubious attempt to declare that potentially applicable points of law such as implied licenses and estoppel do not actually apply.

    But other than that, I applaud your coverage of the issue.

    Regards.

    • #2 by Jason on December 23, 2009 - 5:17 pm

      Saul,

      Thank you for your comments!

      I’ll agree that Problem #5 – and probably a few more – are certainly ambiguous enough that we are sure to hear some varying interpretations of them! (I don’t doubt for a second that Team Mono will herald this covenant as something of equal significance as either the GPL or the Declaration of Independence in terms of Freedom-Granting writing known to Modern Man).

      I guess it strikes me as strange for two reasons:

      1. Microsoft sure does love to put in specific exclusions in its “covenants”
      2. Microsoft is trying really hard to make up the rules as they go along and relies heavily on intimidation and threats of litigation to enforce its “rules”

      If a specific issue is covered by more than one “covenant”, do we know that the most permissive one is automatically assumed? I suspect that Microsoft can argue both sides of that question with the same chutzpah it does other issues!

  2. #3 by makomk on December 24, 2009 - 8:19 pm

    What’s more, it still doesn’t cover non-Novell distributors of Moonlight. In fact, the covenant is quite clear: once you distribute, you cease to count as an end-user and lose all the protection the covenant grants even when it comes to your own use of Moonlight. (The big change seems to be that it now covers end users who receive a copy of Moonlight from a non-Novell distributor.) So none of the distros will want to touch it with a bargepole.

    [Actually, I'm not sure if the covenant covers anyone at all. The definition of "Distributors" appears to include any recipient who is authorised to distribute Moonlight. The definition of “End User” only appears to exclude users who really do distribute it, but it also claims someone can't be both an End User and a Distributor.]

  3. #4 by David on December 25, 2009 - 3:49 am

    I guess it is true, religious fanatics are the same the world over. This is clearly a case of the religious dogma of “Free” getting in the way of functionality.

    This is the reason people run from Linux, it is the religious cooks and their visions of “Free”!

    • #5 by Jason on December 25, 2009 - 1:05 pm

      [Updated Comment]
      I just became aware this person is spamming this exact comment at other web sites. I’ll leave my original response intact, because – as usual – I make some brilliant insights even in response to the monkey drool this troll has left.
      [/end Update]

      Do people ever get tired of playing the “religious zealot” card? Why don’t you just use a racial slur or a “Your Momma” bit? If you just want to insult someone, have some testicular fortitude about it.

      In any case, there is a real and serious issue here, even divorced of Novell/Microsoft context: can extra-license conditions be imposed on a Open Source project and that project still be called “Open Source”?

      Obviously Novell and Microsoft happily say “yes” – they have based their entire relationship around finding loopholes in licenses. I am of the opinion that license alone is not sufficient to ensure “Open Source”.

      In an age where we as a society are debating – including in court – exactly how to treat so-called “intellectual property” this is hardly a religious or fanatical question. Especially since what one society may consider reasonable, another society may flatly reject (software patents are not treated the same the world over, in case you didn’t know.)

      Of course, put back in the Novell/Microsoft context and you have front-row seats to a very interesting ball game indeed.

      As an aside
      I always love how people raise one issue and say that one thing is THE REASON people “run from Linux”. So stupid it burns.

      Think Linux should come with DVD/MP3 codecs? That is THE REASON Linux is not on every desktop.
      Think Linux should work just like Windows? That is THE REASON Linux is not on every desktop.
      Think Linux should bury the command line? That is THE REASON Linux is not on every desktop.
      Think Linux users are too idealistic? That is THE REASON Linux is not on every desktop.

      If you stop and think about this rhetorical device, you’d realize using it isn’t making the point you are probably trying to make.

  4. #6 by Michael on December 27, 2009 - 8:22 pm

    It isn’t open source, it’s actually the same “shared source” that Microsoft has always had. The only difference is that now Novell is using it. How Microsoft must love that.

    The covenant clearly locks the source against anything done by anyone but Novell. Find a bug? Better ask Novell to fix it. If you fix it, bye bye covenant.

    Note how the test suite is Moonlight-specific. Why not have a single Silverlight test suite? Isn’t that what Moonlight is supposed to implement?

    The covenant only applies if it passes 90% (or some other Novell+Microsoft mutually agreed % which we aren’t guaranteed to be informed of) of the Moonlight test suite. What exactly does that tell us wrt Silverlight? Nothing, that’s what.

    Novell should ask Bristol about partnering with Microsoft to implement Windows technology on *nix.

    • #7 by Jason on December 28, 2009 - 2:12 pm

      Michael,

      Thank you for the comments!

      It’s sad to see how certain “Open Source” proponents are busy scrambling head-over-heels to distance themselves from “Free Software” as too idealistic, yet are eager to embrace the corporate idealism of exclusivity and lock-in.

      I don’t see how any proponent of the principles behind “Open Source” (let alone “Free Software”) can get behind the restrictions the Covenant requires for compliance.

      • #8 by Dave on January 21, 2010 - 3:24 pm

        But that’s it exactly: Proponents of Free Software don’t get behind such restrictions. “Open Source” is an agreeable term to many, but lends itself to a wide and varying range of interpretations.

  5. #9 by James on January 11, 2010 - 10:20 pm

    The convenant is augmented for providing webbrowser support in other distributions. The first two of your points are about non-browser support that he covenant is not ment for in other distributions.
    They are irrelevant for providing webbrowsersupport trough moonlight.

    • #10 by Jason on January 12, 2010 - 8:44 am

      James,

      Thank you for the comment!

      I’m not sure what you are trying to say here: are you suggesting that the covenant is only/primarily focused on browser support, and so by extension any non-browser support issues are irrelevant?

      If so, I reject that because not only do I not see such a focus in the covenant, but Team Moonlight is seriously talking up desktop-application-in-Silverlight development; they are most definitely not focused on only browser support.

      If not, I’m sorry but I don’t understand your point.

      In either case, I appreciate your comments and welcome clarification.

Comments are closed.