Subject: Dynamic linking, was: Re: Dispelling BSD License Misconceptions
From: Chuck Swiger <chuck@codefab.com>
Date: Thu, 18 Jan 2007 11:41:10 -0800

On Jan 17, 2007, at 7:02 PM, Matthew Flaschen wrote:
>>>> I am not aware of any court decision which has indicated that  
>>>> dynamic
>>>> linking produces a derivative work.
>>>
>>> I'm not well versed in case law; you're probably right.  However, I
>>> don't think there has been a decision the other way either.  In any
>>> case, many (including some experts) do assert this.
>>
>> I wonder if you might name these experts and point to their reasoning
>> for closer evaluation?
>
> Well, Eben Moglen comes to mind.  He said
> (http://interviews.slashdot.org/interviews/03/02/20/1544245.shtml? 
> tid=117&tid=123):
>
> "The language or programming paradigm in use doesn't determine the  
> rules
> of compliance, nor does whether the GPL'd code has been modified. The
> situation is no different than the one where your code depends on  
> static
> or dynamic linking of a GPL'd library, say GNU readline. Your code, in
> order to operate, must be combined with the GPL'd code, forming a new
> combined work, which under GPL section 2(b) must be distributed under
> the terms of the GPL and only the GPL."
>
> in response to a question about using GPLed JARs.  It's clear he
> believes dynamic linking of GPL software (e.g. readline) creates a
> derivative work that must be licensed under the GPL if distributed.

Notice the key phrases "...where your code depends on static or  
dynamic linking of a GPL'ed library..." & "...in order to operate".   
If your program cannot operate without the GPL'ed library, I would  
agree with Eben's position that whether the program uses static or  
dynamic linking doesn't matter; the program is a derivative work of  
the GPL'ed library.

However, I'd be curious to hear his opinion with regard to the  
situation where the program does not depend on the GPL'ed library to  
run, but might optionally use it via dynamic linking.  I did a quick  
search on this mailing lists' archives with regard to that question;  
in doing so, I noticed the following:

   http://www.linuxdevices.com/files/misc/asay-paper.pdf

...where he's quoted as saying (with regard to whether a situation  
would create a derivative work, ppg 15-16):

"A module written to be plugged into an API defined specifically to  
support dynamic loading?
Moglen:  No."

[ CC:ing Eben so he might clarify his position, if he wishes to do  
so.... ]

-- 
-Chuck