What is Copyleft?

Rod Dixon, J.D., LL.M. rod at cyberspaces.org
Fri Feb 23 02:11:55 UTC 2001


> From: "John Cowan" <jcowan at reutershealth.com>
>
> > Dynamic linking with unfree libraries *not* distributed with the OS is a
> > gray area in the GPL.  When it was written, dynamic linking was a
> > marginal concept.  The FSF believes that linking with unfree dynamic
> > libraries, except as mentioned above, is not allowed.

Hmm..."gray area" is a good way to describe this. My more complete response
is below.

>
> Section 0:
>
> "a work "based on the Program" means either the program or any derivative
> work under copyright law..."
>
> 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)
of
> 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
communication
> system unless the whole system was GPL'd!
>
> If I understand the internals of the situation correctly (which I may
not),
> 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
> process making the call to the target process, where the data is unpacked
> and loaded into the target's address space.  There's never a time where
the
> free software is even in the same address space as the (potentially)
> non-free library code.
>
> How can that create a derivative work?

Well, the question is why wouldn't it?
>
> Is a web page with external URLs a "derivative work" of the base page and
> all the pages the links (and those page's links, ad nauseum) refer to?

The short answer is no. But, there is the possibility that a web page could
spawn a dynamically created page via use of a cgi program, and on the basis
of user input. Outside of such an unusual example, I doubt that your web
page hypo will work.

>
> If I use a GPL'd program to output a CSV data file, and import that into a
> database, is a derivative work created that combines my code and the
> database?
Hmm... This is an unclear question since I am unsure what you are
considering to be a "work." The data file won't work (no pun intended). The
database sounds fact-based and, therefore, it won't work either. Hence, all
you have is a GPL'd program  that accesses an uncopyrightable database. In
that regard, there is no issue for copyright or copyleft. Try a better hypo
or simply state what you are driving at.

>
> Also from Section 0:
>
> "The act of running the Program is not restricted."
>
> That would seem to exclude anything the code does once it starts to
execute
> from being covered by the terms of the GPL, would it not?
>
> Ryan
>
> PS:  I completely understand how the utility of a program could be
crippled
> if it relied on non-free code in an external library.

Perhaps this is where I get off of the boat (based on what John said about
FSF above). There certainly are external libraries used by software that run
on the various Windows OS's that open source software should be able to
dynamically link to.  Yes, the library will remain closed, but so what. The
program, itself, is open source, and (in most circumstance, but perhaps not
all) no derivative work is created. There is, however, one disadvantage;
the copyright holder of the library might create problems if they are or
become an opponent of open source. Hence, RMS's caution is probably
noteworthy for some programming projects.

Rod





More information about the License-discuss mailing list