Dynamic linking, was: Re: Dispelling BSD License Misconceptions

Arnoud Engelfriet arnoud at engelfriet.net
Fri Jan 26 08:10:26 UTC 2007


Lawrence Rosen wrote:
> Arnoud Engelfriet wrote:
> > 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.
> 
> Always???? So if I write a program to work only on Windows Vista and no
> other system, is my code a derivative work of Windows? 

Specifically written to work only with one particular other program.
Then it's a derivative. It is based on one pre-existing work and
cannot function without that specific pre-existing work. That makes
it a derivative in my book.

A Windows Vista application normally uses the API that Microsoft
so helpfully (cough) provides. Such an application is not a
derivative of the Vista program itself.

I'd be happy to argue that Microsoft Office, with its internal
backdoors to the XP kernel, is a derivative of Windows XP.

> > If you write to an API that happens to be implemented by GNU readline
> > as well as others, I don't see how you can be a derivative of one
> > particular implementation.
> 
> What if those "others" implemented their API in order to be functionally
> compatible with GNU readline? Which came first and who copied who? I think
> that we also have to carefully distinguish between copyrightable subject
> matter and other forms of IP. 

I'd like to focus on copyright here. As always, it depends on
the circumstances of the case. 

If I'm given an API and I write a program that uses that API, it's
not derivative of any particular implementation of the library
behind the API.

If I write a program that relies on a specific library for certain
functionality, my program is a derivative of that library. I'm
assuming this involves copying of creative expression of course.

> It is perhaps simpler to say that, to the extent that you write a program
> that supports a particular API *without basing your expressive coding on
> someone else's original copyrightable work*, there is no derivative work
> problem. 

That's the inverse case of what I wrote at the top, yes. I agree
with that.

> Dynamic *or* static. 

I'm beginning to question why people developed this fixation on
linking as being the Holy Grail of determining derivative work
status. Is it because it's easier to understand this mechanism
than, say, object-oriented inheritance?

Arnoud

-- 
Arnoud Engelfriet, Dutch & European patent attorney - Speaking only for myself
Patents, copyright and IPR explained for techies: http://www.iusmentis.com/



More information about the License-discuss mailing list