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)