[Top][All Lists]

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

Re: GNU License, Again

From: mike3
Subject: Re: GNU License, Again
Date: 23 May 2007 22:34:58 -0700
User-agent: G2/1.0

On May 22, 7:01 am, byron@upstairs.(none) (Byron Jeff) wrote:
> In article <>,
> mike3  <> wrote:
> >----- Original Message -----
> >From: "David Kastrup" <>
> >> mike3 <> writes:
> >> > So then if I do NOT own the GPL program, but make it a vital unique-
> >> > functionality component, however I do NOT distribute it (the GPL
> >> > program, not the non-GPL one) in a non-GPL way and only distribute
> >> > the NON-GPL components of the program (ie. the ORIGINAL) ones in the
> >> > non-GPL way (since I own it I can do whatever the heck I please),
> >> > then it is still OK, since I'm still not trying to take over or
> >> > restrict the GPL program and the GPL program is still being
> >> > distributed for free.
> >> That's not the letter of the GPL you are obeying, but some fuzzy
> >> notion of yours.  The problem here is contributory infringement: the
> >> infringement is _planned_ and _prepared_ by you with the end-assembly
> >> to be done in a mechanical way by the customer as your agent.
> >How is there the infringement when the GPL part is still distributed
> >under the GPL?
> Asked and answered. Your code does not function without the GPL code in
> this scenario. Therefore it's a derivative of the GPL code. So your code
> must also be distributed under the GPL.
> The disconnect that happens in this discussion everytime it comes up
> (which BTW is about every other day) is thinking that if you add
> something to the existing collective of code, that somehow that it's not
> a part of that collective.

But it seems that some GNUtians just keep saying "it only keeps
stuff that was already free, free", even though it does not -- it
makes _more_ code free.

> Let's put some concrete numbers to it to clarify. Say you start with a
> 100,000 LOC GPL fully functioning system. You write a 10 line extension
> to it. Should that 10 line extension be GPLed?
> I'll presume that you'll agree that it should. Feel free to argue why it
> should not if you like.

Perhaps, but, what about a 100,000 LOC *NON*-GPL fully
functioning system that we put a 10-line extension of *GPL*
code into? That's the scenario I'm asking about. Even if it
could do without those 10 lines of GPL code.

> Now here's your question in that context: If I distribute my 10 LOC
> extension separately from the 100,000 LOC GPL system, does my 10 LOC
> extension need to be GPLed if I distrubute the 100,000 LOC GPL system
> separately under the GPL?
> Separation doesn't matter. your 10 LOC system doesn't function without
> the 100,000 LOC GPL system. So it's a derivative.

So then why must it too be free, why must the license
require that to be free?

> So now what's the difference if you start changing the numbers? What if
> the GPL code is 1000 LOC and your system is 10,000 LOC?
> Note that the separation of the two really doesn't matter in either
> case. It's not relevant. The relevant issue is whether or not your code
> can function as a system independant from the GPL code. If it cannot,
> then it's derivative and it's still exactly the same as the 100,000/10
> line example given above.
> There is actually a lower limit specified somewhere (David, do you know
> where that is?) I'm pretty sure that I read that 10 LOC and below of GPL
> code is considered to be incidental. I think it would be an interesting
> question if a certain 10 LOC was both vital and not easily duplicated.
> >> It does not matter _where_ the customer will get his GPL source to do
> >> this step.  _If_ the customer manages to get a copy from the copyright
> >> holder under a more permissive license, there actually will not even
> >> be an infringement.
> >He would get the GPL source UNDER THE GPL. It's only the *NON-
> >GPL* program that does not get distributed under the GPL.
> You're still missing the point. The other code cannot be NON-GPLed
> because it's dependant on the GPL code. So it must also be GPLed.
> The customer is creating an infringing system on your behalf.

But what is the RATIONALE? I want to know if my understanding of
this as being a way to make additional code free is correct.

> >The non- GPL program requires the GPL program, but not the other way
> >around.
> BINGO! Since the new code requires the GPL code, it must be GPLed.
> Point. Set. Match.

See above. Am I right in thinking this is a mechanism to generate
additional free code?

> >> Can you explain plausibly to the court that you could reasonably have
> >> expected the customer to bargain for a copy of the GPLed software
> >> under a different license?
> >He would not have to "bargain" for any copy of the GPL program.
> Yes he would. You're pretty steadfast in your belief that the new code
> doesn't need to be GPLed, when in fact that it does. That's the code
> that David is talking about bargining for.

Maybe it does, but I am questioning the _reasoning_ behind the

> >And it (the GPL program) would not have a different license -- the
> >only thing that has a different license is the non-GPL program.
> But it cannot have that different license. That's the problem.

I thought he was referring to releasing the GPL program.

> >> If you can, you are off the hook, and only your customer may be in a
> >> mess (depending on just what he did with the combined code).
> >> > If this is still not permitted, why not? What would be the rationale
> >> > for making the license that way? It does not seem to be to preserve
> >> > the freeness of the GPLed code, since the above scenario would still
> >> > keep it free, after all.
> >> The GPL is intended to guarantee the freedom of the code itself _and_
> >> descendants.
> >And the non-GPL code suddenly then becomes a "descendant" of the
> >GPL code the instant it is made dependent on the GPL code in
> >_any_ way, shape, or form?
> Exactly. Now you understand. Congratulations! BTW it's not suddenly.
> It's a derivative of the GPL code as long as it's dependant on it.
> To make it non dependant, you'd have to duplicate the functionality of
> the GPL code. Good luck with that endeavor.

Well, that's probably a trivial endeavor when said GPL code is only
10 lines out of a 100,000 line program.

> If making GPL code non-GPL was as simple as physically separating it
> from the GPL code, then the GPL would be totally neutered for its
> intented purpose.

Aha! So we've hit on the purpose then -- to CAUSE MORE CODE TO
BE FREE. Thank you. I am vindicated in my understanding then!

> Mike, you're missing the point that the GPL intends to make it trivial
> for you to make your derivative code GPL and to make any other avenue
> exceedingly difficult.

It's only as "difficult" as the author would choose to make it. And
"difficult" is far from the same thing as "impossible". It could be
"exceedingly" difficult, it could not be -- it depends on the author
and how lenient they are in negotiating a different license term.
And that is totally unpredictable and varies considerably from
author to author.

> There's always the simple solution of not using GPL code. It is what it
> is. No one is really asking developers who want to create non free
> solutions with free GPL code to like it.

Of course.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]