Convert GPL to MPL

Philippe Verdy verdy_p at
Fri Jan 18 21:17:43 UTC 2008

John Cowan [mailto:cowan at] wrote:
> Arnoud Engelfriet scripsit:
> > Marcel Ferrante wrote:
> > > If a open source uses GPL License and I do a fork and do many
> > > modifications, I can change its license to MPL, to turn the software
> > > a commercial open source ?
> >
> > No, you can't do that. Only the copyright holders, usually the authors
> > of the GPL software, can change the license. This is a standard feature
> > of copyright law.
> If Alice issues a work A and licenses Bob to make a derivative work
> B, then Bob is the owner of B and (...)

Licencing a software A to Bob does not give to Bob ownership on A. Alice
remains the owner and the unique licensor for it (no sublicencing is allowed
in the GPL, ONLY Alice provides valid licences on A for all downstream
users, even if they receive the software A or any work based on the software
A from Bob).

The same is true for proprietary/closed softwares and with patents:
licencing does not provide ownership (i.e. all exclusive rights), it is just
a grant for limited rights of usage and (in the case of the GPL)
modification and redistribution, within some conditions.

There's no easy way to escape from it: the modified package by Bob remains
in GPL and licenced directly by Alice to all users.

The only way to escape from these obligations is to create an independent
package that has no required dependency on A: your new package must use open
APIs allowing independent reimplementation of this API without using any bit
of A. To prove it, you need to make an independent distribution of the new
package, and describe the way allowing to use your new package with another
software than A: you can provide your new package with a sample set of
bindings for A, but your package should not depend on those bindings.

That's one of the reason why the GCC runtime libraries are under LGPL and
not GPL: theses libraries are the perfect example of A being referenced in
other projects for which it is useful that they can be linked to A without
being bound to the GPL, and without having to develop a sample set of
bindings to various C compiler libaries in addition to the other package for
the software based on ANY C library (not only a GCC library).

But now, if you want to use Alice's work A which uses the GPL, and not the
LGPL, you can't avoid the additional work of preparing your software using
independent and replaceable bindings to A, so that your package will not
depend on A and will not be seen as a derivative work.

Suppose you want to use a GPL'ed FFT library in a software using another
licence, you have to make your software so that it can use any other FFT
library: document the necessary bindings for using A with your software, but
also indicate that A is not necessary and another set of FFT libraries could
be used for running your software: build your own API, so that A will just
be a possible provider, but not a required provider of FFT functions.

More information about the License-discuss mailing list