gnu-misc-discuss
[Top][All Lists]
Advanced

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

Re: GNU License, Again


From: mike3
Subject: Re: GNU License, Again
Date: 26 May 2007 11:53:43 -0700
User-agent: G2/1.0

On May 25, 6:44 pm, mike3 <mike4...@yahoo.com> wrote:
> On May 24, 5:54 pm, byron@upstairs.(none) (Byron Jeff) wrote:
>
> > In article <1180035582.849510.265...@x18g2000prd.googlegroups.com>,
>
> > mike3  <mike4...@yahoo.com> wrote:
> > >On May 22, 6:35 am, byron@upstairs.(none) (Byron Jeff) wrote:
> > >> In article <1179777814.346260.67...@r3g2000prh.googlegroups.com>,
> > >> mike3  <mike4...@yahoo.com> wrote:
> > >> >On May 21, 5:22 am, byron@upstairs.(none) (Byron Jeff) wrote:
> > >> >> In article <1179717809.730969.93...@x35g2000prf.googlegroups.com>,
> > ><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
> whole
> is not free even though it should be since it was built on a free
> system.
> 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
> assured
> their modification will work. And even if they did but could not
> modify
> 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.
>
> > BAJ

Any response yet????



reply via email to

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