When to evaluate dual licenses (was: license categories, was: I'm not supposed to use the ECL v2?)

Wilson, Andrew andrew.wilson at intel.com
Mon Dec 3 09:06:37 UTC 2007


Chris Travers wrote:
>On Dec 2, 2007 6:22 PM, John Cowan <cowan at ccil.org> wrote:
>	Lawrence Rosen scripsit:
>	
>
>	> I don't believe that. If my choice is between License A and
License B, I
>	> can't pick and choose some combination of provisions from A
and B to create 
>	> my own preferred set of terms. I get either A or B, but not
both.
>	
>	
>	Well, in that case how is it possible, given a work issued under
the GPLv2
>	or later, to issue a derivative work which is still under GPLv2
or later? 
>	Clearly the derivator is not making a choice here.
>
>
> I am not sure what you mean by that.  If you take your work and
license it under the GPL v2 or later, I can make a derivative work 
> and choose any of the following licensing choices: 
> 1)  GPL v2 only.
> 2)  GPL v3 only.
> 3)  GPL v2 or later.
> 4)  GPL v3 or later.

This is a very interesting question.  Let's assume, for purpose of
discussion, that
it is axiomatic that the license of a derivative work of GPL code ==
effective license of the
original GPL code.  {Yes, I know, not everyone accepts this.  Stop
reading now
if you don't.}

So, the question is, what license(s) may apply to a derivative of
original
code which is licensed "GPLv2 or any later"?

To answer this question, we need to know what is the "effective license
of the original
GPL code."  As Larry Rosen points out, at some point, this question
*must* be
resolved to a unique answer.  When an author gives permission to
distribute code under
a dual license, at some point, one *must* pick one of the two license
choices,
and be constrained by that choice.  Picking neither license is not an
option.
On the other hand, it is also custom in the open source
world that it is permissible to pass through a dual license as-is,
deferring ultimate
choice of license to the next step in distribution.  In other words, it
is considered OK 
to use what a Lisp programmer would call "lazy evaluation" to defer
choice of license
to any subsequent point along the distribution chain, as long as
somebody -- somewhere
along the distribution chain --
evaluates the license options and decides which specific license
applies.

So, back to "GPLv2 or any later."  Post July 2007, this amounts to a
dual license
GPLv2/GPLv3.  So, for original code licensed in under "GPLv2 or any
later", there are
three possible answers for the effective license which applies to code
licensed out:

1) GPLv2 only  (original license evaluated and constrained to v2)
2) GPLv3 only  (original license evaluated and constrained to v3)
3) GPLv2 or any later ("lazy evaluation": original license passsed
through
and ultimate choice of license deferred to downstream distributees)

If you accept, again, that the license out of a derivative work of GPL
code must
be equivalent to the effective license in of the base code, then Chris's
cases 1-3 are covered.
I'm not sure how you get to Chris's case (4) -- licensing out a
derivative of "GPLv2 or later"
as "GPLv3 or later."

Andy Wilson
Intel open source technology center



More information about the License-discuss mailing list