[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: 25 May 2007 17:44:11 -0700
User-agent: G2/1.0

On May 24, 5:54 pm, byron@upstairs.(none) (Byron Jeff) wrote:
> In article <>,
> mike3  <> wrote:
> >On May 22, 6:35 am, byron@upstairs.(none) (Byron Jeff) wrote:
> >> In article <>,
> >> mike3  <> wrote:
> >> >On May 21, 5:22 am, byron@upstairs.(none) (Byron Jeff) wrote:
> >> >> In article <>,
> ><snip>
> >> >Why? What is the purpose of making the license that way? Oh, that's
> >> >right -- to create MORE free code.
> >> Yeah. That's the purpose of the license. It's a pay it forward license.
> >Thank you for vindicating my understanding! I am pleased.
> ><cheers>
> Mike,
> After getting slapped around a bit by Alfred, I'd like to add that all
> of this is MHO from what I've read over the years as to why the GPL is
> structured the way it is. If you want real intent, you really need to
> talk to RMS and other folks at the FSF.

How could I contact them?

> >> >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.
> >> No it not OK. Back to my point. If the GPL component is a unique and
> >> vital part of the system, then the code that you have written is
> >> incomplete without it. In other words, without the GPL code, you don't
> >> have a program. It follows then that your code is a derivative of the
> >> GPL program because it's non functioning without it.
> >> It needs to be GPLed.
> >> That's why the duplicate functionality is so important. If your code can
> >> be a complete functioning system without using the GPL program in any
> >> form (i.e. there is other code that duplicates the GPL functionality)
> >> then no claim can be made that your code is incomplete without the GPL
> >> code.
> >> But you defined the parameters here. If you code is non functional
> >> without the GPL code, then you have created a derivative work of the GPL
> >> code, regardless of physical separation or separate distribution.
> >That's right. And that is exactly what I am asking about.
> Good. Do you see that the extended code is a derivative of the original
> GPL code now?

I never denied this.

> >> >Perhaps I should rephrase the question. Make sure to read this, it is
> >> >important! It better captures what I am trying to ask!  Given an
> >> >original program, and a GPL program I do not own, and then I interface
> >> >my program with the GPL program so it is dependent on it, but it is
> >> >also made in such a way that the GPL program and non-GPL program can be
> >> >offered separately, the GPL parts offered under GPL and free, while the
> >> >non-GPL part offered for a price.
> >> I got it. The separation is irrelavent. The key is "then I interface my
> >> program with the GPL program so that it is dependent on it". In that
> >> case you do not have a separate program, but a derivative. You code then
> >> needs to be GPLed.
> And to clarify, your code would need to be licensed as GPL to anyone
> to whom you distribute it. It's a moot point if you do not distribute
> the modifications to anyone.
> >Again, this confirms my understanding that it helps create new
> >free code.
> I think that's a stretch. Most of the folks here have been using the
> phrase "to ensure that free code remains free". I hear your thinking
> that if you start with a free component A and extend it to create a
> blended component A+B, where B is proprietary, that the blended
> component has no impact on the "freeness" of A. But it does. A+B can be
> structured so that it both improves upon A and is incompatible with A.
> It's a tactic called embrace and extend. Now you have A+B, which doesn't
> have the same rights as A. You must purchase B. You cannot modify/extend or
> redistribute B. You cannot fix B. A+B is now non free even though A is
> free. And A can easily be locked out of the usage loop by A+B.

Why would one have to purchase B? A still retains it's original
functionality without B. You'd only need to purchase B if A
was somehow made dependent on B, which it is not.

What if it _is_ compatible with A, then what?

> But B cannot exist without A. So what has happened is that an originally
> free system has now been converted into a non free one.

So therefore, B+A is not free, even though A is free and usable
independently of B. But since B+A contains A then A has been
made not free, even if A is distributed independently for free,
since a _version of A_ (namely that formed by A+B) is _not_
free anymore. And only _one_ unfree version even if A is still
freely available is a hindrance to the freedom (because *A+B*
as a _single entity_ *regardless* of how it is distributed is _not_
free). Is my understanding here correct?

> The GPL points out that A+B is a derivative of A. It says that A+B must
> have the same rights as A. So A+B needs to be GPLed.
> And that's what "to ensure that free code remains free" means.

Because A+B is intrinsically free. The "free code that remains
free" is A+B, not just A. A+B has an intrinsic, inseparable
attribute of freedom by definition.

> Now to appease Alfred, B's author can in fact release B under any
> license he/she sees fit. It's up to the author of A to call the
> copyright violation of the GPL out to the author of B and work something
> out. A judge can enjoin B's author from distrubuting the collective
> work, or B separately, though the judge cannot force B's author to GPL
> B. Is that enough legalese?

So then even if A+B is released under GPL, a pure B copy, that
perhaps included an original component to replace the functionality
that A provides, or just without said functionality, can still be
released under a different license.

> End the end what you want is too much of a slipperly slope. The only
> reason not to release B under the GPL is to keep downstream developers
> and users from having the same rights that B's author had to A. That
> diminishes the overall freeness of the system A+B.

Oh, of the _system_. So the _system_ A+B is free from it's creation,
and what GPL is "keeping free" is that system, since from creation it
was free.

> >> Now the one way that I have seen to get around this restriction is to
> >> create two completely separate programs that communicate with each other
> >> in a client-server fashion. In that case one can be GPLed and the other
> >> not.
> >> >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.
> >> Simple. You are benefitting from other's generosity without contributing
> >> yourself. Stallman and the FSF are clear in their political agenda that
> >> they want all code to be GPLed. So the license is written so that the
> >> price for using GPLed code (again regardless of physical separation of
> >> components) is that you must GPL your code.
> >So I am right, then. I am EXACTLY right. The other half of the
> >rationale *IS* to ensure that additional free code emerges, to ensure
> >that MORE code gets added to the repertoire of free code. However, why
> >couldn't one pay off the "debt" owed with a different piece of (but
> >still useful) code? What would be bad about a license designed to do
> >that?
> The fact that folks downstream from you wouldn't have the same rights
> that you had. It would create a Balkanization of the code case that most
> GPL advocates detest.

Because even though they had the same rights to the A part, they
would not have them to the B part, whereas I would have rights to
both the A and B parts. Is that what's being said?

> Flip the question: everyone shared with you, why don't you want to share
> your contribution with everyone else? It's like Stone Soup: when
> everyone equally contributes, the whole collective benefits. But denying
> others the same access that you received to begin with diminishes the
> sharing value to the collective.

Why couldn't I share a different contribution to pay for the code?
Oooh, maybe I could -- if the author agreed to such an alternative
set of terms. But would it be immoral to have a license that would
allow for any sort of code to be suitable "payment"?

> >And I am right about it being a "price" too -- if you want to use
> >the free code you pay for that right with your own code instead
> >of with money.
> >Thanks again for the vindication.
> That's my opinion. Nothing more, nothing less.
> >> What you're missing in their agenda is not the "freeness" of their code,
> >> but the "freeness" of your extension to their code. By stipulating that
> >> the GPL code is a vital and unique aspect of your system, then your code
> >> is an extension of the GPL code.
> >> Let me flip it to explain why this is important. Without this
> >> restriction developers would make GPL code effectively non free simply
> >> by taking a core GPL engine (remember vital and unique) and extending it
> >> with proprietary components until the functionality of the GPL core
> >> engine is virtually useless without the proprietary extensions. It would
> >> become a simple encapsulation of free code with non free code, making a
> >> non free system with a free core. A system that could not function
> >> without that free core, as stipulated by your scenario. It turns a
> >> initally free system into a non free one.
> >How does it become virtually useless if the GPL core engine itself
> >remains unchanged?
> Embrace and extend. Extend the original codebase in a proprietary
> fashion until it becomes useless. It replaces the free codebase with a
> non free codebase that is based upon the original free codebase.

And even though the original free codebase still remains 100% intact,
the entire rest of the system is still not free so the system as a
is not free even though it should be since it was built on a free
It's innate freedom has been restricted.

> >What I am talking about is a scenario where the GPL core itself remains
> >totally unchanged, BUT the original program is built to be dependent on
> >it, WITHOUT changing the GPL core itself. The functionality of it is
> >not "useless" because it would be distributed for free, alongside the
> >non free system, and so it's power could be tapped for other programs.
> >How is that making it "useless"?
> Because the non free value add changes the dynamic of the system and the
> codebase. It preturbs the landscape of that system environment with
> added functionality that is not freely accessible. It creates unstable
> duplication as the free group of developers attempts to duplicate the
> functionality in the free space with a different codebase.

Oh, because then if someone tries to modify the free part, since they
don't know what is going on in the non-free part they cannot be
their modification will work. And even if they did but could not
the non-free part then the amount of possible modifications they could
do would be restricted by the non-free nature of said part.

> It's a hot mess. And it's a hot mess with a free core system.
> You keep asking how A is impacted by A+B. A+B is more than A. But B is
> unavailable to the community. The community will create A+C, which is
> free, and may or may not be compatible with A+B.
> Why would a community of developers of free software want to have more
> than one codebase?

So then it helps keep everything unified together.

> >> The GPL is viral. The viral nature of it is the same reason that
> >> networks need virus scanners, firewalls, and encryption. It's not for
> >> the majority of folks who want to play fair. It's for the small core of
> >> folks who will exploit every possible loophole for their own selfish
> >> benefit.
> >I'd be wondering then what your opinion would be on the morality
> >releasing 100% original software under a much looser "proprietary"
> >license than, say, Microsoft's, and with _no_ DRM, spywares,
> >"Trusted Computing" codes, etc. This question is not about combining
> >GPL stuff, this is a question about a philosophy and code of morals.
> But how can you validate morals if you don't have access to the code?
> Proprietary systems invariably restrict access to the codebase.

I'm talking about the morality of releasing my own software in said
type of way. Of course the morals depend on the person, but I'd
be curious as to what you'd say.

> >You said the majority of folks want to play fair -- does this include
> >most software companies as well, even if they do not make GPL software?
> >I, for one, do not have much greed.
> But once again there is always a segment of the population that will
> exploit the opportunity. So if you leave a license loophole available
> for them to exploit, they'll most likely do it.

But if you're not greedy, then what's the problem with that little bit
of lost profit, anyway?

> >> The LGPL is a license specifcally written to address your issue. If the
> >> component you interface is LGPLed, then your code is yours to do as you
> >> see fit so long as you give the end user the ability to update the
> >> LGPLed side of the system.
> >> Hope this helps,
> >> BAJ
> >Thank you for your vindications of my understanding, I am really
> >grateful for it.
> You are welcome.

reply via email to

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