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

Ben Tilly btilly at gmail.com
Mon Dec 3 22:06:46 UTC 2007


On Dec 3, 2007 1:17 PM, Wilson, Andrew <andrew.wilson at intel.com> wrote:
> Ben Tilly wrote:
[...]
> > The GPL v3 allows me to distribute the modified result to a third
> > person, say Carol.  Of course it does so under its terms, which I am
> > obliged to follow.  Are we agreed about this?
>
> With you so far.
>
> > Carol has received code from me.  From the copyright licenses she has
> > been offered part of it under GPL v2 or later from the original
> > author, and some modifications (from me) under GPL v3 or later.  Are
> > we agreed on this?
>
> Not quite on the same page here.  See below.  I believe Carol is getting
> a license grant from the original author but *only* under the terms you
> have
> chosen to convey your variant.

That is indeed where we part ways.  Because my understanding says
copyright is between the copyright owner and recipient.  And a
copyright license is permission from the copyright holder to the
recipient.  The distributer is irrelevant.  (Unless there are special
contracts involved, which there aren't in the case of the GPL.)

Therefore the license that I accept the original under does not affect
the copyright permissions that my recipient will get from the original
copyright holder.

> > As section 10 of the GPL v3 makes clear (there was a similar section
> > in the GPL v2, and in fact I understand that this section is merely a
> > restatement of copyright law), Carol's acceptance of the license is in
> > no way, shape or form contingent on my acceptance of the license.
> > Therefore she is allowed to accept the permissions of the GPL v3.  If
> > a GPL v4 is out, she is allowed to accept that set of permissions
> > instead.  If she can track down all of the copyright holders and
> > negotiate her own terms, she can accept it under any copyright license
> > she can get us to agree to.
> >
> > In short I can take code licensed "GPL v2 or later", make a
> > modification and license that modification "GPL v3 or later", then
> > give it to someone and at that point the code really IS GPL v3 or
> > later.
>
> Here is where we part company.  Looking at the V2-or-later
> license from the original copyright holders, if you view the "or later"
> as
> (in GPLv3 terminology) an additional permission, you are allowed to
> remove that additional permission in copies which you distribute (convey
> in
> GPLv3 terms).  If you choose to remove the additional permission and
> convey under V3 only, this is allowed.  However, in this
> scenario, when Carol gets such a V3-only copy from you, the
> permission-less
> license is the one which Carol must follow, not the original V2-or-later
> license with a permission which you have removed.  (Of course Carol may
> always go back to the ID and get the original V2-or-later version if she
> so chooses.}

Let's consider a simpler situation.  Suppose that I accept code that
is GPL v2 or later under the GPL v3.  And I distribute on the original
version to Carol with the original license information.  I maintain
that my accepting it under the GPL v3 notwithstanding, Carol is free
to accept it under the GPL v2.

That she has v2 permission is clear from item 6 of the GPL v2 which
says that each time you redistribute the Program the recipient
automatically receives a license from the original licensor to copy,
distribute or modify the Program subject to the GPL v2.  Since the
license is between the copyright holder and the recipient, the license
exists regardless how I distribute.

In fact I am free from the GPL v3 to only inform Carol that she has
GPL v3 permission from the original copyright holder.  However I'd
maintain that in fact she does have v2 permission.  She just may not
know about it. :-)

> Also, since you are not the copyright holder in the original code, you
> may not add your own
> new permissions to the original code.  So, here is my problem with your
> scenario: I don't see how you have rights to remove the "or later"
> permission, accept the original code under V3 only, and then add an "or
> later"
> permission back to the original code when you convey it.

I didn't.  I never removed or changed any permissions on the original
code.  It gave me the freedom to accept the permissions of the GPL v3.
 I accepted that.  I followed those rules.  I licensed my own
modifications under GPL v3 or later.  And I released the combined
work.

The license on the parts of the combined work that I did not touch is
still GPL v2 or later.  The license on the parts of the combined work
that I did touch is GPL v3 or later.  And the license on the whole
work is GPL v3 or later since it includes stuff I touched which has
only been licensed GPL v3 or later.

> BTW, I would actually like to be wrong here, because I don't
> particularly like the
> answer my analysis leads to!  So, if there is indeed a convincing
> argument that
> does not involve adding permissions to code where you are not the
> copyright owner, I will be predisposed to accept it.

I believe my argument does not involve adding permissions to code
where I am not the copyright owner.  In fact my argument revolves
around the fact that my actions cannot add _or remove_ permissions on
that which I'm not a copyright holder for.

Ben



More information about the License-discuss mailing list