This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFH: GPLv3


Richard Kenner wrote:
Unfortunately, as I understand it, this is not the case.  If you
apply a GPLv3 patch to a previously GPLv2 branch after August 1, then
this entire branch, and all files in it, magically and silently
becomes GPLv3.

This is the key point, I think: what, PRECISELY, is a "GPLv3 patch".


I think everybody has assignments that predate GPLv3.  The assignment I
signed (and I think the current assignments) don't even mention the GPL at
all, let alone a particular version of it!

So one of us writes a patch and posts it on that list.  The copyright
status of that patch is that it's assigned to the FSF, which then can
"decide" what license agreement to apply to it.  But, as a matter of
practice, no FSF individual is involved in the process of having that patch
be applied to the sources: it's checked in by the person who wrote it
(after possible approval, but not change, by some other person).

At what point in this process, and by what mechanism, does a patch become a
"GPLv2 patch" or a "GPLv3 patch".  I'd argue that the patch itself has no
such status at all: as of the time it's posted, its copyright is owned by
the FSF, but that's all that's happened.  The assignment agreement
obligates the FSF that all "distribution" of the patch should be under
GPL-like terms, but it's completely unclear as to at what point those terms
apply.  For one thing, there are multiple possible licenses even ignoring
the v2 vs. v3 issue: GPL, LGPL, GPL+exception, etc.

When you post a patch to the mailing list, or apply it to a branch, you are acting as an agent of FSF. You previously assigned your rights to the patch to the FSF. (If you have not assigned your rights, then your patch will not be applied to the branch, so it doesn't matter.)

The FSF decides what licenses to apply to a patch.  It's not at all unclear
what point the license applies:  at the moment FSF has said that all patches
applied after August 1 are covered by GPLv3.

So if you see a patch posted on an FSF mailing list, what copyright license
status does that patch have?  My feeling is that as a practical matter, it's
irrelevant since the patch is a derived work from some file and the license
that applies to that file trumps any that might be viewed by some mechanism
as applying to the patch in isolation.  If I'm patching an LGPLv3 file,
then my patch is a derived work from that file and so is also LGPLv3.
End of story.

If you signed an assignment of copyright, the copyright to the patch belongs to FSF. The status is clear and the license is whatever FSF says it is.

You have it backward:  the base source doesn't determine the license status
of the patch; the patch determines the license status of the source.  The
most restrictive license applies.  Read the GPLv3.

This is the "GPL taint" provision.  Otherwise I could take the eager-cc
compiler (currently consisting of only main()) and patch it with all of
gcc, and poof, all that patched code takes on the license of the original
source.  Not what you want and, coincidently, not what the GPL requires.

So I think the discussion of a GPLv3 patch being applied to a GPLv2 file and
affecting the license of that file is somewhat backwards: the file's license
affects the patch and not vice-versa.

Nope. Read the GPL.


Where this gets tricky is indeed in a backport.  Let's suppose I have two
files that differ only into which license applies.  Suppose I start with
the GPLv3 version and develop a patch for it.  That patch is a derived work
from GPLv3.  When I apply it to the GPLv3 version of the file, nothing
changes.

Now, suppose I apply it to the GPLv2 version of the file. One could argue
that such file is now GPLv3 and I think that'd be correct.  But since the
parts of the file being patched are identical, the patch is indistinguishable
from one that's derived from GPLv2 text.  This strikes me as a VERY murky
legal areas.

Sorry, it isn't at all murky. If the original patch was covered under GPLv3, no matter how similar it might be to one which hypothetically might have been created under a different license, it remains GPLv3. It's not whether the patch is indistinguishable, its that it was not independently developed.


-- Michael Eager eager@eagercon.com 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]