From kragen@dnaco.net Sun Jul 19 13:02:02 1998
Date: Sun, 19 Jul 1998 13:02:01 -0400 (EDT)
From: Kragen <kragen@dnaco.net>
To: clug-user@clug.org
Subject: Questions I asked RMS about GPL and got no answer to
Message-ID: <Pine.SUN.3.96.980719125612.6874S-100000@picard.dnaco.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Keywords:
X-UID: 619
Status: O
X-Status: 

This is patched together from several emails.

I've wanted to know for some time how closely linked two pieces of code
must be for them to be part of the same program (for GPL purposes).
If I run GPLed Lisp code on my non-GPLed Franz ACL Lisp system, does
that constitute linking the Lisp code into Franz Lisp, and thus violate
the GPL?  Suppose I run GPLed Lisp code and non-GPLed Lisp code on the
same ACL Lisp system, in different threads and different environments.
These are different programs, operationally, just as much as an
emacs process and a vi process running on the same Unix system are.
But suppose they share an environment?  Suppose they share a thread,
each one calling the other, passing around data?

Suppose I dump the image of my running Lisp system in such a way that
I can reanimate it at a future time.  Are any two pieces of code that
are dumped into the same image `part of the same program'?

Suppose I load a non-GPLed device driver as a module into my Linux system.
(I'm not really knowledgeable about the subject, but my understanding goes
as follows: The .o file for the device driver gets mapped into memory,
resolving some symbols in it with addresses in the kernel, then passing
control to an entry point in the file in kernel context.  Normally,
the code in that entry point calls some kernel functions to arrange
for other code from the module to get called later on, then returns.)
Does this constitute a violation of the GPL, in your interpretation?

How about a Netscape plug-in?  Is it a violation of the GPL to load
a GPLed Netscape plug-in into Netscape?

<rms answered this "yes">

(This works analogously to loading a Linux device driver.)

How about running a GPLed program on non-GPLed MS-DOS?  Does it make a
difference if I switch from calling MS-DOS services by raising interrupts
to directly calling the places the interrupt vectors point at inside
the MS-DOS code?

<rms answered that this falls under the "major part of the operating system"
 loophole>

>     On an MS-DOS system, is it a violation of the GPL to load a GPLed TSR?
>
> <rms responds that he doesn't have time to think about such things>

I understand your point of view; I appreciate that you are very busy.

The reason I think these theoretical possibilities need considering is
that they are happening, and on a large scale; as you know, gcc has
been ported to Win32 (where it links with the libraries that constitute
much of the OS); there are numerous non-GPLed device drivers for Linux;
gcc has been ported to MS-DOS.


What's more, they will continue to happen in the future; it seems that
providing a function-call interface for your software -- rather than an
interface with sockets, pipes, and signals -- has come back into
vogue.  Knowledge of whether or not the GPL barred this could
significantly affect people's decisions on whether or not to GPL their
software; knowledge of whether or not you interpret the GPL to bar this
could significantly affect people's decisions on whether or not to sign
their software over to the FSF.

I suspect that not thinking about these issues will tend to incline
people more toward signing their software over to the FSF, so your
refusal to spend time on it would be understandable from a purely
selfish point of view.  I've never known you to be a selfish man,
though.

Kragen



