[SGVLUG] An interesting (I hope) GPL question

Emerson, Tom Tom.Emerson at wbconsultant.com
Mon Apr 17 19:09:16 PDT 2006


> -----Original Message----- Of Dustin Laurence
> On Mon, Apr 17, 2006 at 02:28:29PM -0700, Emerson, Tom wrote:
> 
> Here are some quick and not-carefully-researched opinions:
> 
> > In short, the question is this: GPL enforces the right of 
> anyone (who 
> > receives the program from you) to request the source code.
> 
> Not quite.  You have the option (section 3(a)) of shipping 
> both together [...]  It is when you 
> use option 3(b) and don't accompany the binary with source 
> initially that you must offer to supply source code by mail 
> (3(c) doesn't apply in this case because it is his own software).

Hmmm... I maintain the end result is that recipients are entitled to the
source so long as they legally obtained the original binary [though it
might be tough to prove someone "stole" a GPL program]  In any case,
this leads into:

> > ... but does it also compel you to release copies 
> > of the code to "anyone who just plain asks for it"?
> 
> I believe so:
> 
> http://www.gnu.org/licenses/gpl-faq.html#WhatDoesWrittenOfferValid
> 
> The reason is transitivity (if A gives B the binary but B 
> doesn't as for the source, then B gives the binary to C, C 
           ^
[I think you meant "ask" here]

> must still be able to get the source, which has to be from 
> A).  Since there isn't an easy general way for A to know if C 
> has the binary A must just give the source to anyone who asks 
> and pays the distribution costs.

This is the slippery slope item.  The wording of the FAQ answer starts
out by saying "...anyone who has the offer is entitled to take you up on
it", but doesn't define "who has the offer".  In your example, and as
you point out, "A" doesn't know if "C" was properly "offered" the
software.  I'm maintaining that "B" would be the responsible party, but
that in turn rests upon how it was originally distributed to B.

Going back to the earlier part of your answer, the wording of section 3
seems to imply that if you distribute the binary AND source (clause 3a),
you are exempt from downlines asking for the source [i.e., because you
gave a copy of the source initially, you DON'T have to give a "written
offer" (3b), and further, without a written offer, "B" cannot use clause
3c since there is no offer to "pass along"]  Of course, this doesn't
stop B from "making up" the claim he was given a written offer, (or of
interpreting the wording of the GPL itself to imply that said offer was
made)  Nor does this stop D (who doesn't have a copy at all) from
claiming he received said offer from C, who would have legitimately
received the offer from B and could therefore pass it along.

[Whether or not B should honor D's claim is another matter entirely...]

The FAQ also merges the concepts of commercial distribution with
non-commercial distribution in it's answer, but after re-reading it a
few dozen times, I'm coming to the conclusion it is really pointing out
the linkage and usage of clauses 3b & 3c more than anything else.

> ... The thinking must be that 
> this isn't a problem for anyone (A is getting paid for the cost of
> distribution) unless they are up to no good.

Ahhh, but the 'up to no good' part makes this difficult.  Say for
instance the cost of developing the software is $1,000 and you're fairly
certain the market is for 10 copies.  In an attempt to be fair to all,
you decide to try and sell 10 copies for $100 each in order to recoup
your expenses.

There is a provision that when offering the source separately, it cannot
be "arbitrary" (and/or later wording gives a strong indication it
cannot/should not exceed the cost of the binary)  Technically, then, you
could charge $100 for the source, but what will likely happen is that 3
or 4 people would buy the original and distribute them "for free" to the
other 6 or 7 people interested in the program.  Of those that got a free
copy, approximately zero are even remotely interested in the source, and
even fewer are interested in the source when they find it costs as much
as the program.

Yes, this is a rather constrained example, but the end result is that
"A" suffers a loss because those that got it for free aren't likely to
pay for the source either.

[...]
> > B isn't a "customer", but "the genie is out of the bottle" 
> > as you have given MR. A a copy of the program & source.
> 
> The genie is *always* out of the bottle--even if [...]
> your prices are beyond what the market will bear,
> users will purchase 1 binary and 
> then put the source on a website, which is their right under 
> the GPL.

(actually, "putting the source on a website" doesn't meet the definition
of "providing access to the source" unless the binary is on the same
web/ftp server, but that's a minor point)

> Anyone who doesn't like that shouldn't use the GPL 
> in the first place.

Well, that *is* the part my brother-in-law doesn't like, and most likely
the reason he will avoid using the GPL for this project.  However, this
semi-hypothetical question is just that -- it doesn't accurately reflect
his particular situation, but it is close enough to get some good
discussion going where he can decide if the GPL will cover him or not.
 
[...]
> > Let's take this a step further: Mr. A decides to sell ...
>  Mr. C, in turn, gives ... Mr. B ... a free copy.  At this 
> > point, could *you* be compelled to give the source to Mr. B 
> 
> Who is "you"? 

The same "you" as at the start -- the original author

> I think section 3 is reasonably clear; if A 
> receives the program, he must either also receive the source 
> or an offer to send the source (he could instead have 
> downloaded it from a site and declined the source download, 
> in which case he might have neither, but I'm going to ignore 
> that case in what follows).

Except for the fact that this describes the scenario I was setting up,
OK, I'll buy that...

> He has the right to redistribute 
> for free or for money provided he meets one of the provisions 
> of section 3. If he chooses option 3(a), nobody can compel him 
> to distribute the source later.

Agreed, and I think this is the best option for someone with limited
resources for making "machine readable" code [i.e., no CD burner.  Of
course, this begs the question of how he got it out to the customer in
the first place, but there are ways...]

> If he chooses 3(b), he must 
> make the offer himself in which case he can be "compelled" 
> (your words) to distribute.

Also agreed -- my example was that "A" did receive the source initially,
thus satisfying 3a from you (the author); by choosing to further
distribute the binary, he must take on the responsibility (and resulting
costs) of distributing the source.

> Or, *if* A is *not* selling it 
> and received it in binary form, he may use option 3(c) and 
> simply pass on the offer he was given.
 
I don't see how the issue of "selling" vs. "not selling" makes any
difference here (unless you're using "in exchange for money" as a basis
of determining "commercial" vs. "non commercial" distribution, but I can
think of ways where it can be "commercially distributed" for zero
dollars [promotional items given to a LUG for use as door prizes] as
well as non-commercially distributed for cash [paying a LUG member to
download something because you don't have your own high-speed internet
connection] that would skew this whole clause...) (*)

In any case, my example was: 

   *you* sell something to A, complete w/source code
   A sells it to C, C declines the offered source code
   C gives it to B 
   so who does B get the source from?

[of course, B probably doesn't want the source since he has what he
wanted in the first place -- a working version of your program without
paying for it...]

Tom

(*) this doesn't even take into consideration "barter", where goods are
exchanged for other goods or services, such as receiving a "free" copy
of a program that you reviewed as payment for your "review".



More information about the SGVLUG mailing list