What is Copyleft?
Dave J Woolley
david.woolley at bts.co.uk
Fri Feb 23 11:33:10 UTC 2001
> From: Ryan S. Dancey [SMTP:ryand at frpg.com]
> Is the argument that a run-time link to external code creates a derivative
> work (in the sense that the copyright statutes define a derivative work)
I don't think so. It think the argument is about taking
GPLed code that doesn't link with the library and deriving a
work that does link with the library. Whilst it is arguable
as to whether the FSF's current interpretation of their licence
is consistent with what the licence actually says, a copyright
owner does have the power to license code with a restriction that
derived works may not be dynamically linked with certain
categories of shared library.
> the Program and the external code? Under this theory, you couldn't use
> GPL'd code with RPC or HTML or SMPT or any other inter-process
> system unless the whole system was GPL'd!
I don't believe there is any problem in using it even with
shared libraries providing that the shared library is being
substituted for a licence compatible one. The problem is in
a derived work specifically intended to be used with a proprietory
library, including the thorny cases of various devices intended to
artificially create the first situation. You can also do what you
like for internal use.
To be more concrete, if you develop a library that implements an
algorithm for predicting future prices in the widgets market but
decide that, to save development costs, you should use a GPLed user
interface library, if you could dynamically link without
you could create a GPLed user interface that was only useable with
your program to achieve something that you would not be allowed to
do if you statically linked. You would therefore have produced a
complete work in which the GPLed part was only useable as part of
the proprietory whole.
> If I understand the internals of the situation correctly (which I may
> a program that binds to a DLL at runtime does so through the mediation of
> the OS. Data is packaged, handed to the OS, the OS moves it from the
In general no. In general a few addresses in the code are
fixed up by the loader. A small amount of code may get added
in some implementations, but that code is normally self contained.
--------------------------- DISCLAIMER ---------------------------------
Any views expressed in this message are those of the individual sender,
except where the sender specifically states them to be the views of BTS.
More information about the License-discuss