[sldev] Proprietary dependencies
Dzonatas
dzonatas at dzonux.net
Sat Jan 26 16:58:29 PST 2008
Argent Stonecutter wrote:
> On 2008-01-26, at 17:40, Dzonatas wrote:
>
>> The GPL has nothing written in it to allow or not allow such linkage.
>> Certainly, the GPL doesn't say "hey.. you can't take out that library
>> because it would be a violation!"
>
> The GPL covers creating derivative works. If you link against a shared
> library, you are creating a derivative work of that shared library.
The act to link against the shared library is not an absolute factor to
determine if a derived work exists.
>
>> The compile-time linkage or run-time linkage is not the determining
>> factor under the GPL.
>
> I believe I made that point already.
Your point is not clear because it appears here you agree that a link
with a shared library does not always denote a derived work is being
made, but...
>
>> It could be perfectly fine to link a proprietary library with a GPL
>> program of vice-versa if both of those packages are separate works.
>
> They're only separate works if there is a way to create a working
> executable without linking it against a library that is compatible
> with the GPL.
As long as they don't share execution context then they can be linked
and still be considered separate works. The GPL, however, does not set
an absolute, or cookie-cuter case, for kinds of contexts and how they
can or can not work with other contexts. It provides a guideline and
uses a 'take-it-to-court' explanation for all other diversions.
Take for example Quicktime. It is a library of code being included in
headers and object could. It is pretty obvious if one uses any
definition from its headers or object code that there will be a derived
work. This is true by the sense that actual code from the quicktime
header got included into the compiled product.
What if one doesn't include Quicktime headers at all. The obvious is
then removed. One could say well there is still a compile-time link
being shown to the library, but what if it doesn't use any object code
from the QuickTime library. This time that "what if" quickly starts to
look like "it is not a derived work."
Another example, take two programs, one proprietary and one GPL. Let's
say the GPL used a socket() to transfer a part of its binary code over
to the proprietary program to execute. In effect, it just shared its
execution context with the other. There would be a violation here -- but
the GPL also has a few intrinsic exceptions, like the system context.
Please do explain if a barebone SL client told another module (by http
or more directly) to go fetch a sound from the sim and play it, how is
the barebones SL client playing that sound? The only API between the
barebones SL client and the sound system would be a directive to play a
station. If the other module listens for the directive and then plays
the tune with fmod, gstreamer, quicktime, or whatever else... how does
the barebones client violate the GPL?
I think you got the gist of this and understand it but wasn't sure about
my point or even question if I understood my own gist. lol
More information about the SLDev
mailing list