From: tzs@carson.u.washington.edu (Tim Smith)
Newsgroups: gnu.misc.discuss
Subject: Re: Fund raising at the FSF
Date: 8 Jan 1993 12:42:30 GMT
Organization: University of Washington School of Law, Class of '95
NNTP-Posting-Host: carson.u.washington.edu

friedman@gnu.ai.mit.edu (Noah Friedman) writes:
>>There is also the possibility that they would simply arrange things so that
>>the source you get is not all you need.  Suppose, for example, someone wanted
>>to use GNU Emacs in a proprietary editor for Microsoft Windows.  What would 
>>stop them from doing the following:
>>
>>        1. Find the places where they want to make proprietary changes to  
>>        GNU Emacs.
>>
>>        2. Rewrite those parts so that they depend on a DLL (dynamic link
>>        library) to perform the functions that they want to do    
>>        proprietarily (sp?).
>>
>>        3. Distribute the modified GNU Emacs under GPL.
>>
>>        4. Implement a proprietary DLL, which is not distributed under
>>        GPL.
>>
>>Is this a violation of GPL?
>
>Yes.  The GPL says, in part:
>
>      2. You may modify your copy or copies of the Program or any portion
>    of it, thus forming a work based on the Program, and copy and
>    distribute such modifications or work under the terms of Section 1
>    above, provided that you also meet all of these conditions:
>
>        ...
>
>        b) You must cause any work that you distribute or publish, that in
>        whole or in part contains or is derived from the Program or any
>        part thereof, to be licensed as a whole at no charge to all third
>        parties under the terms of this License.

Yes, but suppose they do distribute the modified Emacs with source, but
not the DLL?  The DLL does not contain any Emacs code, and is not part
Emacs (see below for an explanation of what a DLL is -- I think many people
might not know this).

>First, a general one.  If we permitted company A to make a propriatary
>file, and company B to distribute GNU software linked with that file,
>the effect would be to make a hole in the GPL big enough to drive a
>truck through.  This would be carte blanche for withholding the source
>code for all sorts of modifications and extensions to GNU software.
>
>Giving all users access to the source code is one of our main
>goals, so this consequence is definitely something to avoid.
>
>More directly, the versions of GNU software linked with proprietary
>libraries would not really be free software as we intend the term--they
>would not come with full source code that enables users to change and
>recompile the program.

The problem here is what does it mean to be linked?  A DLL is not linked
to a program in the traditional sense.  A DLL is a separate file that
exports entry points that the system binds dynamically to running programs.
It can be shared among several programs, and the program does not have to
be recompiled when the DLL changes.  It is installed by basically just
putting the file in a directory in your path.

If the GPL does prevent someone from doing this with a DLL, then how are
people able to distribute ports of Emacs for proprietary operating
systems?  If I modifiy GNU Emacs to work with my proprietary operating
system, and am willing to distribute my changes to Emacs, this is OK, right?
How is this different from modifying it to work with my proprietary
Windows DLL, as long as I am willing to distribute the Emacs changes?

--Tim Smith
Xref: sparky gnu.misc.discuss:4341 talk.philosophy.misc:3237 misc.legal:22277