What is Copyleft?

Eric Jacobs eaj at ricochet.net
Fri Feb 23 06:17:16 UTC 2001

"Ryan S. Dancey" <ryand at frpg.com>

> When you make a function call in compile-time linked code, you are 
> creating a derivative work, because the function code itself will be 
> compiled into the Program and inextricably combined with your code.  
> When the two are separated by a run-time linking, there can be no 
> derivative work.

Actually, this has nothing to do with the issue of compile-time vs.
run-time linking.

Here's an example: Suppose I take an ordinary, simple, statically
linked program that is licensed under the GPL. I want to add some
code to it and keep it secret, so I do something like obfuscate
the C source or hide the source altogether and distribute object
files only. This obviously goes against the "preferred form"
clause of the GPL. However, it would not be a violation under
your logic, as the proprietary modifications can easily be
"extricated" using diff or a similar utility. (Suppose that I
am not distributing the final binary, but the tarball containing
the original source and proprietary files.)

What differentiates this scenario from the "mere aggregation" that
the GPL specifically disclaims? The way in which the original files
and the proprietary files interact -- their function call prototypes,
their linker symbols, the "data being passed between two independent
pieces of code." It is not insignificant.


More information about the License-discuss mailing list