[gnu.misc.discuss] The GNU license.

pardo@june.cs.washington.edu (David Keppel) (07/27/89)

[The original discussion has been going on for a while in
comp.lang.misc: why is linking with copylefted GNU runtiime
library code `special'?  Here I speak for myself, not for
the Free Software Foundation.]

kennel@cognet.ucla.edu (Matt Kennel) writes:
>Consider a typical Programming Systems class [...] which uses GCC and
>the libraries.  The copyleft means that Jock Bonehead, who's running
>a low C- average, can demand that Joan Von Neumann give him her A+
>final programming project, complete with source code.

I think that the copyleft requires something slightly different.  The
requirement is that if Joan Von Newumann distributes her .o files
linked with GNU runtime libraries, then she must also distribute, free
of charge (except for "nominal" copyiing costs), the source.

If she does not distribute the .o (a.out) files, then she is not
obligated to do anything with her source code.  For example, she can
burn it, if she likes.  If she distributes her .o files but does not
link them with GNU runtime libraries, then she can, say, dump her
sources in hydrochloric acid.

The particular case of `gcc' is that if she just distributes the .o
files, and nothing linked with the GNU runtime libraries, then she is
*not* required to redistribute the source code, becuase C .o files are
`derived' from the input source, and *not* from the compiler.  If she
used `bison', then she would be obligated to distribute the parse.y
file along with the parse.o, but if the parse.o isn't linked to the
rest of the files, then she's not required to distribute source for
any of the other .o's.

To make an anlogy: compiling code with GCC is akin to editing text
with gemacs.  It doesn't matter which editor/compiler you use, you get
the same result.  Using bison is taking an existing, copylefted,
program (bison.skel) and modifying it (based on the contents of
parse.y).  Since you are modifing GNU code, you are agreeing to the
terms of the copyleft (if you distribute the .o, you must also freely
distribute the sources).

>How can the mere linking of my program with copylefted libraries
>abrogate _my_ rights to _my_ code?   Copyrighted material with power
>over other material---this doesn't seem right.

In short, you lose no rights by linking your code with copylefted
code.  If you link your code with GNU copylefted code and then
distribute the result, then you are *agreeing* to follow the GNU rules
for distribution of GNU code.  You are losing no rights.  If you don't
want to distribute source to your programs, then distribute your
programs so that they are not linked with GNU code.

For anybody who is interested, you can get additional information on
the GNU project and the GNU manifesto by anonymous ftp to
prep.ai.mit.edu.

	ftp prep.ai.mit.edu
	login: anonymous
	passwd: <username>
	cd pub/gnu
	get GETTING.GNU.SOFTWARE
	cd etc
	get APPLE
	get DISTRIB
	get FTP
	get GNU
	get INTERVIEW
	get SERVICE
	bye

The "etc" files are as follows:
APPLE - Background information on the FSF position on the Apple vs.
	Microsoft/HP lawsuit.
DISTRIB - How to get software from the FSF, (lack of) warranty
	information, and reporting bugs.
FTP -	How to get GNU software via. anonymous ftp and uucp.
GNU -	The GNU manifesto : What is GNU, who *is* Richard Stallman,
	why people contribute, and who benefits, common objections to
	GNU's goals.
INTERVIEW - BYTE discussion with RMS about GNU.
MACHINES - Machines that GNU Emacs runs on.
MAILINGLISTS - GNU Project (electronic) mailing lists.
MOTIVATION - Motivation vs. Reward (from the Boston Globe).
SERVICE - People who offer GNU spoort, some for a fee, some for free.
SUN-SUPPORT - Running gemacs under Sun windows.

If you are getting anything larger than a small text file, please do
it before 0800 EST or after 01800 EST.

Followups to gnu.misc.discuss

		;-D on  ( I just GNU it! )  Pardo
-- 
		    pardo@cs.washington.edu
    {rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo
Newsgroups: comp.lang.misc,gnu.misc.d
Subject: Re: The GNU license.
Summary: 
Expires: 
References: <873@umb.umb.edu> <8743@attctc.Dallas.TX.US> <26027@shemp.CS.UCLA.EDU>
Sender: 
Reply-To: pardo@uw-june.cs.washington.edu (David Keppel)
Followup-To: gnu.misc.d
Distribution: na
Organization: University of Washington, Computer Science, Seattle
Keywords: 

[The original discussion has been going on for a while in
comp.lang.misc: why is linking with copylefted GNU runtiime
library code `special'?  Here I speak for myself, not for
the Free Software Foundation.]

kennel@cognet.ucla.edu (Matt Kennel) writes:
>Consider a typical Programming Systems class [...] which uses GCC and
>the libraries.  The copyleft means that Jock Bonehead, who's running
>a low C- average, can demand that Joan Von Neumann give him her A+
>final programming project, complete with source code.

I think that the copyleft requires something slightly different.  The
requirement is that if Joan Von Newumann distributes her .o files
linked with GNU runtime libraries, then she must also distribute, free
of charge (except for "nominal" copyiing costs), the source.

If she does not distribute the .o (a.out) files, then she is not
obligated to do anything with her source code.  For example, she can
burn it, if she likes.  If she distributes her .o files but does not
link them with GNU runtime libraries, then she can, say, dump her
sources in hydrochloric acid.

The particular case of `gcc' is that if she just distributes the .o
files, and nothing linked with the GNU runtime libraries, then she is
*not* required to redistribute the source code, becuase C .o files are
`derived' from the input source, and *not* from the compiler.  If she
used `bison', then she would be obligated to distribute the parse.y
file along with the parse.o, but if the parse.o isn't linked to the
rest of the files, then she's not required to distribute source for
any of the other .o's.

To make an anlogy: compiling code with GCC is akin to editing text
with gemacs.  It doesn't matter which editor/compiler you use, you get
the same result.  Using bison is taking an existing, copylefted,
program (bison.skel) and modifying it (based on the contents of
parse.y).  Since you are modifing GNU code, you are agreeing to the
terms of the copyleft (if you distribute the .o, you must also freely
distribute the sources).

>How can the mere linking of my program with copylefted libraries
>abrogate _my_ rights to _my_ code?   Copyrighted material with power
>over other material---this doesn't seem right.

In short, you lose no rights by linking your code with copylefted
code.  If you link your code with GNU copylefted code and then
distribute the result, then you are *agreeing* to follow the GNU rules
for distribution of GNU code.  You are losing no rights.  If you don't
want to distribute source to your programs, then distribute your
programs so that they are not linked with GNU code.

For anybody who is interested, you can get additional information on
the GNU project and the GNU manifesto by anonymous ftp to
prep.ai.mit.edu.

	ftp prep.ai.mit.edu
	login: anonymous
	passwd: <username>
	cd pub/gnu
	get GETTING.GNU.SOFTWARE
	cd etc
	get APPLE
	get DISTRIB
	get FTP
	get GNU
	get INTERVIEW
	get SERVICE
	bye

The "etc" files are as follows:
APPLE - Background information on the FSF position on the Apple vs.
	Microsoft/HP lawsuit.
DISTRIB - How to get software from the FSF, (lack of) warranty
	information, and reporting bugs.
FTP -	How to get GNU software via. anonymous ftp and uucp.
GNU -	The GNU manifesto : What is GNU, who *is* Richard Stallman,
	why people contribute, and who benefits, common objections to
	GNU's goals.
INTERVIEW - BYTE discussion with RMS about GNU.
MACHINES - Machines that GNU Emacs runs on.
MAILINGLISTS - GNU Project (electronic) mailing lists.
MOTIVATION - Motivation vs. Reward (from the Boston Globe).
SERVICE - People who offer GNU spoort, some for a fee, some for free.
SUN-SUPPORT - Running gemacs under Sun windows.

If you are getting anything larger than a small text file, please do
it before 0800 EST or after 01800 EST.

Followups to gnu.misc.discuss

		;-D on  ( I just GNU it! )  Pardo
-- 
		    pardo@cs.washington.edu
    {rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo

dsill@ark1.nswc.navy.mil (Dave Sill) (07/27/89)

In article <8808@june.cs.washington.edu> pardo@uw-june.cs.washington.edu (David Keppel) writes:
>To make an anlogy: compiling code with GCC is akin to editing text
>with gemacs.  It doesn't matter which editor/compiler you use, you get
>the same result.

(I hate analogies.)  But you *don't* get the same result, at least if
you consider the size of the resulting binary or the speed at which it
runs.  For all but the simplest programs, the result of an optimized
compilation will be as unique as a fingerprint.  But that's just a
weakness in your analogy.
-- 
Dave Sill (dsill@relay.nswc.navy.mil)