Thomas Bushnell, BSG wrote: > Brian Kimball <[EMAIL PROTECTED]> writes: > > > Where did you get "entire program"? That's not in the GPL. Isn't the > > question to be asked "is it a derivative work of a GPLed work?" Maybe > > I'm too focused on the phrase "derivative work"; are there cases where > > the GPL can require that the source code for non-derivative works be > > released also? > > "These requirements [those of distributing source, etc.] apply to the > modified work as a whole. If identifiable sections of that work are > not derived from the Program, and can be reasonably considered > independent and separate works in themselves, then this License, and > its terms, do not apply to those sections when you distribute them as > separate works. But when you distribute the same sections as part of > a whole which is a work based on the Program, the distribution of the > whole must be on the terms of this License, whose permissions for > other licensees extend to the entire whole, and thus to each and every > part regardless of who wrote it." > > Especially read again the sentence: "But when you distribute the same > sections as part of a whole which is a work based on the Program, the > distribution of the whole must be on the terms of this License." > > In other words, if I write a GPL'd function find_outer_otter, and you > call it from your own function locate_inner_otter, in you program > frob-otters, then: > > 1) locate_inner_otter might itself be derived from > find_outer_otter. If so, then locate_inner_otter must itself be > GPL.
I agree. > 2) If locate_inner_otter is not derived from find_outer_otter, but > you distribute binaries for frob-otters, then you must still give > the complete source code for both locate_inner_otter and > find_outer_otter. The reason is that the GPL lets you copy > find_outer_otter only if you distribute the "the whole on the > terms of this License." If locate_inner_otter isn't derived from find_outer_otter, how can it be considered part of "the modified work as a whole" which the requirements apply to? Doesn't "modified work as a whole" mean "(something derived from find_outer_otter) as a whole"? > 3) If you attempt to defeat (2) by distributing the two functions > separately, or distributing only locate_inner_otter, and telling > users how to combine them to produce frob-otters, and there is no > way to make locate_inner_otter useful without doing so, then a > court will find that you were attempting a subterfuge, and that > what you were doing was the same thing as (2) for all practical > purposes. I assume this isn't the case _if_ I'm correct regarding (2). -- Brian Kimball