On Thu, 2007-08-02 at 14:42 -0400, Jakub Jelinek wrote:
> On Thu, Aug 02, 2007 at 01:56:46PM -0400, Tom spot Callaway wrote:
> > This program is free software; you can redistribute it and/or modify
> > it under the terms of the GNU General Public License as published by
> > the Free Software Foundation; either version 2 of the License, or
> > (at your option) any later version.
> >
> > The GPL/LGPL "or any later version" clause is _only_ activated when
> > upstream puts it in the source code or attached documentation, so if you
> > can't find it outside of COPYING, it doesn't apply.
> >
> > If you do find it, you make sure the License identifier ends with a +.
>
> Shouldn't this be if you find the "or any later version" in all files
> with GPL (resp. LGPL) header?
> Even one file with GPL header without the "any later version" should be
> enough to make the whole non-distributable under any later version.
If you find cases like this, you'll want to point it out to upstream, as
they'll probably want to correct this. In the case you describe, if one
header file was missing the "or any later version", the end result would
be GPLv2, not GPLv2+.
> Or are we supposed to put multiple licenses in the tag in that case?
> Say for glibc in F7:
> License: LGPL2.1+, LGPL2.1/exception, GPL2+, GPL2
> (the library stuff is under LGPL2.1 or any later version, except
> some files have an exception, so that you can link them even into
> proprietary stuff (e.g. crt files, lib*_nonshared.a), then there
> are some GPL2 or any later version executables and by mistake
> some executables were GPL2only (corrected in 2.6.90)).
Almost.
License: LGPLv2+ and LGPL with exceptions and GPLv2+
(Assuming the package has the corrected executables, theres no need to
mention it in the license. If not, then append "and GPLv2". Keep in mind
that when you have multiple licenses, you need to somehow explain the
breakdown in spec comments (or in an included text file). Your paragraph
is an acceptable explanation.
~spot