MS-PL/GPL compatibility, was Re: For Approval: Microsoft Permissive License

Alexander Terekhov alexander.terekhov at
Thu Aug 23 17:04:06 UTC 2007

On 8/23/07, Wilson, Andrew <andrew.wilson at> wrote:
> Chris Travers wrote:
> >On 8/23/07, Tobia Conforto <tobia.conforto at> wrote:
> >       Chris Travers wrote:
> >       > Tobia Conforto wrote:
> >       > > If I take a MS-PL file (not mine) and a GPL file, combine
> them into
> >       > > a derived work and release it as GPL, the GPL requires the
> whole
> >       > > work (including the MS-PL part) to be released with
> permissions
> >       > > exactly equal to the GPL
> >       >
> >       > Read section 7 of the GPL v3 again, or section 2 of the GPL
> v2.
> >       > Additional permissions are not prohibited.  However the MS-PL
> is not
> >       > compatible with the GPL v2 on other grounds.
> >       >
> >       > The GPL v3 also allows for reasonable legal notices to be
> included, so
> >       > the requirement that source code be identified as being still
> under
> >       > the MS-PL does not seem to be a problem.
> >
> >       You are right, I was reading the GPL wrong!  (It's so long...
> :-)
> Actually, Tobia, your original position is correct (at least it
> is consistent with most people's reading of GPL, and other copyleft
> licenses such as EPL ...


[Q:] When I incorporate a portion of a Program licensed under the EPL
into my own proprietary product distributed in object code form, can I
use a single license for the full product, in other words, covering
the portion of the Program plus my own code?

[A:] Yes. The object code for the product may be distributed under a
single license as long as it references the EPL portion and complies,
for that portion, with the terms of the EPL.

[Q:] If I write a module to add to a Program licensed under the EPL
and distribute the object code of the module along with the rest of
the Program, must I make the source code to my module available in
accordance with the terms of the EPL?

[A:] No, as long as the module is not a derivative work of the Program.

[Q:] Some open source software communities specify what they mean by a
"derivative work". Does the Eclipse Foundation have a position on

[A:] As described in article 1(b)(ii) of the Eclipse Public License,
"...Contributions do not include additions to the Program which: (i)
are separate modules of software distributed in conjunction with the
Program under their own license agreement, and (ii) are not derivative
works of the Program." The definition of derivative work varies under
the copyright laws of different jurisdictions. The Eclipse Public
License is governed under U.S. law. Under the U.S. Copyright Act, a
"derivative work" is defined as "...a work based upon one or more
preexisting works, such as a translation, musical arrangement,
dramatization, fictionalization, motion picture version, sound
recording, art reproduction, abridgment, condensation, or any other
form in which a work may be recast, transformed, or adapted. A work
consisting of editorial revisions, annotations, elaborations, or other
modifications which, as a whole, represent an original work of
authorship, is a "derivative work"." The Eclipse Foundation interprets
the term "derivative work" in a way that is consistent with the
definition in the U.S. Copyright Act, as applicable to computer
software. You will need to seek the advice of your own legal counsel
in deciding whether your program constitutes a derivative work.

And my I just note that GNUish "derived work" (A work + B work =
"derived work") is certanly NOT consistent with the definition in the
U.S. Copyright Act, as applicable to computer software. For more
details, see:


[Q:] Some free software communities say that linking to their code
automatically means that your program is a derivative work. Is this
the position of the Eclipse Foundation?

[A:] No, the Eclipse Foundation interprets the term "derivative work"
in a way that is consistent with the definition in the U.S. Copyright
Act, as applicable to computer software. Therefore, linking to Eclipse
code might or might not create a derivative work, depending on all of
the other facts and circumstances.


[Q:] I"m a programmer not a lawyer, can you give me a clear cut
example of when something is or is not a derivative work?

[A:] If you have made a copy of existing Eclipse code and made a few
minor revisions to it, that is a derivative work. If you"ve written
your own Eclipse plug-in with 100% your own code to implement
functionality not currently in Eclipse, then it is not a derivative
work. Scenarios between those two extremes will require you to seek
the advice of your own legal counsel in deciding whether your program
constitutes a derivative work.

For clarity, merely interfacing or interoperating with Eclipse plug-in
APIs (without modification) does not make an Eclipse plug-in a
derivative work.

I gather that "scenarios between those two extremes" is about the AFC test.

BTW, from the same source:

VI.D.4. Derivative Works and Compilations

Until now, we have been discussing computer programs as if they were a
single work, or an original program and a series of derivative works
comprising each modification to that program. While that was the case
for early computer programs, now it is more common for a program to
include preexisting libraries, themselves copyrighted computer
programs, and similar components.

When two or more preexisting works are combined to form a new work, in
copyright law that work is called a "compilation" – "a work formed by
the collection and assembling of preexisting materials or of data that
are selected, coordinated, or arranged in such a way that the
resulting work as a whole constitutes an original work of authorship."
The copyright in the resulting overall computer program comprises the
copyrights in the preexisting component computer programs and a new
copyright in the compilation. But that compilation copyright is very


Some have claimed that an application program that needs a library for
its operation is a derivative work of that library. They take that
position because the application program is "based on" the library
because it was written to use the subroutines and other aspects of the

Such a position is misplaced.


No other conclusion makes sense. If it were not the case, then any
program using the applications program interfaces (APIs) of an
operating system could be considered a derivative work of that
operating system. And, under the exclusive right to prepare derivative
works, the copyright owner of an operating system such as Microsoft
Windows could control who was allowed to write programs for that
operating system.


More information about the License-discuss mailing list