[Top][All Lists]

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

Re: GNU License, Again

From: none
Subject: Re: GNU License, Again
Date: Thu, 24 May 2007 18:03:03 -0500

In article <>,
mike3  <> wrote:
>On May 22, 7:01 am, byron@upstairs.(none) (Byron Jeff) wrote:
>> In article <>,
>> mike3  <> wrote:
>> >----- Original Message -----
>> >From: "David Kastrup" <>
>> >> mike3 <> writes:
>> >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.

I never said that. I said the price of using the existing free code base
is that extensions to that code base must be released under the GPL.

I'm agreeing with you.

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

It's either all GPL or all not GPL (presuming that non-GPL means a non
compatible license). Can't mix and match.

>That's the scenario I'm asking about. Even if it could do without those 
>10 lines of GPL code.

It'll have to do without those 10 (or any larger number of) lines of GPL

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

Because if the license didn't require it to be free, then proprietary
developers would wall in free core systems with non free code, making
the overall system non free.

Proprietary systems create value by artificial scarcity. If a propritary
developer wants to leverage free software for his/her benefit, then they
have to create that artificial scarcity. You keep talking about the fact
that adding a propretary value add to a free system doesn't make the
free system any less free. But it does because the added value isn't as
available as the original free system that it was derived from. And
since the extension does add value, the users of such systems will both
want the value added system, but will be deprived of their rights to the o
value added system.

Explain to me why you think that it's fair for you to take something
that is freely given to you, and then turn around and deprive others of
the same set of freely given rights that you received? The GPL is
written to enforce that fairness.

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

Yes that's correct. That's the price to be paid for using GPLed code.
If it's unacceptable, then go back to the author of the GPLed code and
ask them for the code under another license with different payment

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

Asked and answered.

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

Because if it were not written that way, developers would very quickly
take core free systems and extend them to the point where they are
proprietary systems. This defeats the purpose of releasing free software
to being with.

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

I believe that "he" quoted above is you. In the scenario given the only
license that the entire work can be released under is the GPL (or
compatible). There cannot be a different (read proprietary) license in

>> >> 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
>like 10 lines out of a 100,000 line program.

True. But the real issue comes up when the situation is reversed and the
core system is GPLed and a developer wants to add a trivial bit and make
that bit proprietary.

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

I've been saying this all along. It isn't a hidden agenda. David stated
that above "guarantee the freedom of the code itself _and_ descendants."

It is structured to make downstream modifications continue to be free.
Now note that the freedom actuall only extends to those that the code is
released to. If you modify/extend code and share it with 3 of your
friends and they never share it with anyone else, then that's perfectly
fine under the GPL. However they do have the right to post it to a
website and distribute it to anyone they like too. That's a freedom that
both you received when you get the GPL code and the freedom extended to
them when you gave them the modified/extended code.

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

There are multiple authors in play typically. The author of the original
GPL code and the author of the extensions/modifications. The presumption
is that since the GPL author released the code under the GPL, it is
their expectation that downstream modifications/extensions to that code
also be GPLed.

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

But the point is that it's not a unilateral decision of the downstream
author of the modification/extension. The only rights that downstream
author has is to release the new code under the GPL. Any other terms
must be negotiated with the original author, who can refuse to offer any
other terms.

>And that is totally unpredictable and varies considerably from
>author to author.

Correct. But in the absence of that negotiation, the only recourse of
the downstream author is to release under the GPL.

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

I'm glad you agree.


reply via email to

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