Misunderstanding GPL's terms and conditions as restrictions

Alexandre Oliva aoliva at redhat.com
Mon Jul 28 17:10:05 UTC 2008


On Jul 28, 2008, Les Mikesell <lesmikesell at gmail.com> wrote:

> Who? Anyone who did something contrary to those terms.

And who did, in the presented scenario?  One of the four must have,
because they did something that you claim to be impossible under the
GPL.

<repost>
John A. Hacker develops, from scratch, a program that contains two
source files: lib.c and main.c.  lib.c was developed to be released as
a separate library, under the modified (3-clause) BSD license (so
these are the headers it carries), whereas main.c was developed to be
released under the GPL (so these are the headers it carries).  John
A. publishes the whole, named gnothing, under the GPLv2+, and never
publishes lib.c in any other way.

Wanda B. Foreman downloads gnothing, and notices lib.c would be really
useful in his project, linstall.  She thus modifies gnothing by
removing main.c and the build scripts, and then adds lib.c to her
version control system, along with changes to the build machinery to
have lib.c built and linked into his own program.  She then publishes
linstall, under the GPLv3+.

Ken C. Farsight has access to Wanda's VCS repository, and sees lib.c
show up there.  It provides just the feature he wanted for his bsdown
Free Software program, that he's always distributed under the 3-clause
BSD license.  He copies lib.c into bsdown and releases a new version
of bsdown.

Evelyn D. Scent maintains a non-Free fork of bsdown called macrash, so
she takes this new release containing lib.c, merges the add-on
features she maintains, and publishes a new release, under the usual
restrictive EULA, known to be compatible with the 3-clause BSD
license.


Please ask your lawyer questions such as:

- Has any party had his/her license to distribute gnothing or lib.c
  automatically terminated?

- Can John A. Hacker stop any of the other 3 from distributing lib.c
  in linstall, bsdown, or macrash, under the licenses given or implied
  by the description above, or even by itself under the modified BSD
  license, without a copy of the GPL?

- Can Evelyn be stopped by any of the other 3 from distributing this
  version of macrash containing lib.c, under the usual EULA?

then let us know how he justifies the answers.
</repost>

You say you don't need to consult a lawyer to answer these questions,
but you also refrained from answering them.  Please do.  Don't be a
weasel.

> If you agree, then you've agreed not to violate section 2b.

You've agreed to not violate section 2b when modifying the program and
distributing, under the GPL, modified versions of it.

>> Distributed along with the main work, right?

> No, RSAREF was done by someone else and was available in source with
> some distribution restrictions because of export restrictions. You had
> to obtain your own copy separately.

Was the program we're talking about distributed only in source code
form, or also in binary form derived from RSAREF?

> But that would not have been an issue if the other library had not
> been required.  Read the rest of the license and notice that that
> exception for system libs wouldn't be there if third party libraries
> in general were permitted.

The exception for system libs applies to distribution in object code
form.  It doesn't apply to distribution in source code form because
there's no need for it.  And, indeed, there's no exception for other
libraries in distribution of object code.  That's exactly why I asked
the questions I asked.

>> Why couldn't that implementation be GPLed?  And why couldn't it just
>> be left out of the main work?

> It couldn't be GPLed because it wasn't part of the work and it had
> other distribution restrictions.

Good, you've now understood that it's other restrictions that cause
problems, rather than the GPL.

> Note also that the gmp library was not included either.

That's not important.  As far as the GPL is concerned, what matters is
whether the work as a whole is derived from GPLed code or not.

> The claim was that the source that would require the library's
> functions was a derivative work even though no copying took place.

That's correct.  The program derived from gmp was a derived work, so
it had to be GPLed, even if no copying took place.

RSAREF didn't stop the program from being created in the first place,
or from being distributed under the GPL in source form.  It would have
prevented the program from being distributed in object form, though,
because that would be a derived work from RSAREF, and you couldn't
provide the corresponding sources of the whole under the GPL.

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}
FSFLA Board Member       ¡Sé Libre! => http://www.fsfla.org/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}




More information about the users mailing list