[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Moonlight Package Licensing

I would raise a few questions about the licensing terms of the Moonlight Project's source and binary packages.

Firstly, there seems to be some inaccuracies on the Project's Debianwiki page (http://wiki.debian.org/Teams/DebianMonoGroup/Moonlight).

The Moonlight licensing is described as consisting of MIT/X11, Ms-PL, and LGPL2.0-only; yet there are Cairo components in the source tree which are licensed under the dual licenses of the Mozilla Public License and the LGPLv2.1-only. There is no real conflict here (to my understanding), however, offering this code under any of the MIT/X11, Ms-PL, or LGPL2.0-only licenses relies upon the fact that the *MPL* permits "re-licensing" under more restrictive terms (the LGPLv2.1 licensing of the Cairo code serves no purpose towards this end -- you can't re-license LGPLv2.1-only software except as GPL). The project page, as well as all of the appropriate sources' COPYING files, should reflect the nature of this re-licensing (the moonlight-mozilla-plugin provides the text of the Mozilla Public License but does not indicate the license's role in the package).

Also in the same section, the Ms-PL is characterized as "a DFSG-free GPL3-compatible license from Microsoft which is essentially MIT with patent grants".

The GPL3 compatibility claim contradicts the description given on GNU.org (http://www.gnu.org/philosophy/license-list.html) wherein it is stated, "This is a free software license; it has a copyleft that is not strong, but incompatible with the GNU GPL".

I would neither contradict nor corroborate the DFSG-free claim for the Ms-PL, but note that there is no mention of the Ms-PL on Debianwiki's DFSG Licenses page (http://wiki.debian.org/DFSGLicenses). If I have missed wherein the discussion occurred over the compatibility of the Ms-PL with the Debian Free Software Guidelines, I should welcome the opportunity to read it.

The "essentially MIT with patent grants" claim ignores the Ms-PL's lack of permissiveness, its requirements of reciprocity, and its viral nature. At issue is not whether these characteristics are good or bad, but that they are as essential to the nature of the Ms-PL license as its patents grants, and that their terms and conditions are dramatically different from corresponding terms (or lack of them) in the MIT license.

The preceding was mainly covering the tedious bookkeeping aspects of licensing and can be either addressed through modification of the appropriate documentation or, if deemed appropriate, even ignored.


The more salient point of this post is to address the incorporation of code licensed under the Microsoft Public License into Debian binary packages. (For reference, the text of the Ms-PL can be viewed at http://www.microsoft.com/resources/sharedsource/silverlightcontrolslicense.mspx)

First, I would point out that the Ms-PL inheres acceptance of the license by mere usage ("If you use the software, you accept this license"). Since acceptance of the license entails the sacrifice of certain rights with regard to bringing patent lawsuits against the copyright holders, it would seem incumbent that the package installer provide an opportunity to reject the license and not install the software or, alternately, the first-run of the software should provide a similar approval dialog.

More importantly, it seems rather inescapable that a Debian binary package is a collective work of the software that is included in that package. The licensing of that collective work must not conflict with the terms and conditions of the individual licenses of components of that package. The question is thus raised, what is the licensing for the Debian binary package of Moonlight?

Section 3(D) of the Ms-PL specifies that the following condition should be met by the Debian binary package licensing: "If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license."

Since the license for the Debian package must "comply with" the Ms-PL, its license should necessarily offer the patent grants required in Section 2(B). Assuming that a license which complies with the Ms-PL is used -- or indeed that the Ms-PL itself used -- the question is thus raised, how are patent grants being provided for the MIT/X11-licensed components of the Debian binary package? Without providing such a grant, the package licensing would not meet the terms and conditions of Section 2(B) and fail to "comply with" the Ms-PL. Providing such a grant should demand extra measure be taken with regard to the MIT/X11-licensed code because the authors of that code were not obligated by its licensing to provide such a grant.

As a final comment, and one more hypothetical in nature, the Ms-PL makes no distinction between derived and collective works and offers no exemption for "mere aggregation" (as does the General Public License). In lieu of such an exception, we are left with relying upon the interpretation of the courts as to what constitutes a derived or collected work of joint authorship under copyright law. Should a Ms-PL-licensed package be included with a Debian distribution, it may very well be argued that the entire distribution (a collective work) must be offered under licensing which "complies with" the Ms-PL -- any inclusion of code for which there is no patent grant could be construed as infringement of the copyrights of Ms-PLed code's author.

OK, as a post-final comment, I will point out that my interpretation of the terms and conditions of the Ms-PL licensing conflict with assertions provided by Microsoft's source program director Jon Rosenberg to the Open Source Initiative during its submission for approval (see below). Though his claim MAY be true for the source packages, I fail to see how Mr Rosenberg's assertion is supported with regard to binary packages.

From the original OSI submission thread of the MS-PL license (http://www.crynwr.com/cgi-bin/ezmlm-cgi?3:mss:14348:bdokjnehbecmfhdjhble):

  * Can MS-PL code be redistributed in combination with other code
    that is licensed under a different license?

    As long as the original MS-PL licensed code is redistributed under
    the MS-PL license, then the MS-PL places no restrictions on
    combining MS-PL code with other code that is licensed under another
    license.  Licenses that prohibit the distribution of code under any
    terms other than the terms of that license will not be compatible
    with the MS-PL.

Reply to: