[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Urgently need GPL compatible libsnmp5-dev replacement :-(



[This part of the thread belongs on -legal]

On Wed, May 04, 2005 at 11:51:51PM -0500, Peter Samuelson wrote:
> 
> [Paul TBBle Hampson]
> > This of course assumes the phrase "derived work" is legalese for
> > "code dependancy" or something. I'm sure the GPL actually defines
> > what _they_ mean by it...

The GPL simply defers to copyright law to define "derivative work".

> I might add that
> claiming a program that uses a library's published API is a "derived
> work" is a bit shaky from the get-go.  If you actually cut and paste
> code from the library into your program, it's a lot more clear-cut.

We talk about APIs on forums like -legal to save time, because
everybody (supposedly) knows what we're talking about there. They
aren't directly relevant, it's just that certain aspects of program
design will normally have certain legal implications because that's
how those things are normally implemented.

Changing static linking to dynamic, or replacing a linker call with a
dlopen() call, *always* has precisely *zero* effect on whether
something is a derivative work or not. A work is created derivative,
or not, at the time of inception. For source code, this is the time
when the code is written. The way in which it is compiled is
irrelevant. For a binary, this is the time when the binary is built
and linked. A statically linked binary is a derivative work of
everything it links because it contains verbatim copies of those
things. Every binary, static, dynamic, or other, is a derivative of
everything that any part of its source was derived from.

A good rule of thumb for whether one piece of source code is a
derivative of another is "Will it function in a reasonable manner
without this other piece?". Thusly a telnet client is not a derivative
of the socksified tcp library you stuff in with LD_PRELOAD, but the
part which sets up ssl connections is a derivative of the ssl library
you use. This is a rule of thumb because it fails in pathological
cases; don't abuse it.

[There are many other, more complicated cases. Consult -legal for
consideration of specific examples.]

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'                          |
   `-             -><-          |

Attachment: signature.asc
Description: Digital signature


Reply to: