Dynamic linking, was: Re: Dispelling BSD License Misconceptions

Ben Tilly btilly at gmail.com
Sun Jan 28 20:45:27 UTC 2007

On 1/27/07, Russ Nelson <nelson at crynwr.com> wrote:
> Arnoud Engelfriet writes:
>  > If, as Matthew writes, part of the code is _specifically_ written to
>  > work only with GNU readline and no other library, then the code is
>  > a derivative work of GNU readline at the moment of creation.
> And if I later write a library compatible with GNU readline, that
> makes the code NOT a derivative work?  How can that be?  It's either
> derived in the sense that I incoporated parts of GNU readline into my
> code, or else it's NOT derivative because no part of GNU readline was
> incorporated.

In my opinion it should be a judgement call based on how closely
connected your code is with the design of GNU readline.  Remember that
copyright is not just intended to apply to literal copying.  For
instance if I write a short story and Mickey Mouse appears in it, I'm
going to hear from Disney's lawyers.  Even though I have not copied
anything exact, I can still be derivative of it.  Likewise if my code
makes liberal use of ideas and memes created by GNU readline, there is
an argument that I'm derivative of realine regardless of whether I

Of course my opinion is influenced by having read
http://linuxmafia.com/faq/Kernel/proprietary-kernel-modules.html in
detail and then having thought about how the changing richness of the
Linux kernel module API has changed Linus' opinions about when a
binary module is a derived work of the Linux kernel.  (And why.)

> The standard interpretation of linking forming a derivative work has
> no basis in copyright law.  A staticly linked program is a collective
> work, perhaps, but not derivative.  A derivative work is where I take
> an existing library and add my own calls to it.  A dynamically linked
> program which includes no portion of the library is neither derivative
> nor collective.  The dynamic linking information is just a set of
> names; it's not the code itself.

See my reply to Larry Rosen.  The key issue is that the GPL offers no
permission to distribute a collective work with some pieces GPLed and
others not that is not formed by "mere aggregation".  Therefore if you
wish to distribute a collective work that has a more complex
relationship, you must GPL the whole thing.

I think there is a good argument to be made that static linking is not
mere aggregation.

> The dynamic linking argument has no legs unless you can claim
> copyright on a list of names.  If somebody else produces a similar but
> different list, does that infringe your copyright?  Not obvious.

But in fact you *can* claim copyright on a list of names.  (Not
always, but often.)  But you are completely right that it is not
obvious when a similar but different list infringes on your copyright.


More information about the License-discuss mailing list