Re: Misunderstanding GPL's terms and conditions as restrictions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alexandre Oliva 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.

Agreed to GPL, abides by terms.

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+.

Agrees to GPL, abides by terms (assuming changes to v3+, if any, were permitted in any copied parts).

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.

Free to ignore GPL terms.

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.

Free to ignore GPL terms. You omitted the scenario where Ken or Evelyn need to redistribute gnothing or a modified version of it, which would require them to agree to GPL terms. After which they have agreed not to do what they would otherwise be permitted to do with parts that have alternate licenses.

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

They have broken the terms they agreed to.

- 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?

He can only act on copyright violations against his own code. That is, stopping redistribution of gnothing or GPL'd components of it if the GPL terms are not observed. In fact he has stopped it by applying the GPL terms which state exactly that.

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

No, lib.c, being BSD-licensed, has no such silly restrictions. Only agreeing to the terms of the GPL can stop you from using the alternative license.

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.

I'm not interested in paying a lawyer to claim that you don't have to do what an agreement says you 'must' do, even it that is possible.

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.

Where does it say that you are ever excused, once you've agreed that you will apply exactly the GPL terms to all parts.

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?

Why don't you look this up yourself? You don't believe anything I say anyway. Of course it was only in source. These were the days when people actually used different processor types and compiled things themselves, and distribution of the RSAREF code would have been restricted anyway, binary or not.

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.

It still doesn't apply. You can't omit parts, even if you are distributing source for the main program.

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.

That's funny. No other part but the GPL had any restrictions on the work-as-a-whole. No other part restricted distribution based on what other works were combined. There were export restrictions attached to RSAREF at the time, but otherwise nothing but the GPL restricted anything in this freely available source distribution.

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.

And it is a rather specious judgement to say it is derived, when with no changes to the code in question it can later become not-derived.

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.

Per the FSF, RIPEM was a derived work of gmp and could not be distributed execept under the GPL. However that was impossible because RSAREF was needed and had other terms.

  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.

There is no object/source dichomotmy here. RSAREF was a source distribution, just not included and not GPLed. RIPEM was a wrapper needing both the rsa code and large integer math, and as is typical, the GPL did its best to prevent users from having it. Someone was forced to rewrite the GPL-encumbered functionality that was prohibited from being shared to allow any distribution at all.

--
  Les Mikesell
   lesmikesell@xxxxxxxxx



--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux