[gnu.gcc] Some people won't use GCC, but there are few excuses.

pcg@aber-cs.UUCP (Piercarlo Grandi) (06/07/89)

In article <9287@csli.Stanford.EDU> carl@csli.stanford.edu (Carl Schaefer)
writes:

    In article <4818@uoregon.uoregon.edu> markv@tillamook.UUCP
    (Mark VandeWettering) writes:
    
    >	It sure would be nice to replace those copyleft notices which
    >	add a good 8K to every file in GNU software with something like
    >
    >	"Use this code.  Improve this code.  Tell me about it."
    
    This is precisely the point.  The copyleft allows the first of these,
    encourages the second, but requires the third.

Actually, it does not require the third. Nobody is under any obligation to
distribute material that includes parts of FSF material. You can develop all
kinds of proprietary material that includes FSF's, and keep them to yourself,
and tell nobody.

The obligation you have is that *if* (and only if) you distribute to third
parties executables that include any nontrivial amount of copylefted FSF
material, you must be ready to supply the sources for such executable (yours
and the FSF's) at the conditions detailed in the GPL. There is emphatically
no obligation for you to distribute your material to all comers, or to let
others know it exists (while such obligation exists for Academic Source
licensees of Un*x, if you decide to distribute sw based on licenced
material).

There are two further subtle points: [1] as far as I can see, the GPL
conditions apply to the sources, but *not* to the executables (which is
mostly a moot point though); [2] you have at least two ways (actually two
variations of the same idea) of "cheating", without violating the terms of
the GPL, but they are cumbersome, so much so that it is probably pointless
to use them in a commercial environment.

	[the idea is that you can supply proprietary extensions, patches,
	modifications, libraries to a customer that then proceeds to
	incorporate or link them into their copy of FSF software. Since you
	supply material that is neither a proper derivative nor incorporates
	any FSF material, you escape the terms of the GPL.]

Last but not least the compilers: as RMS has stated many times (most
recently here), the output of the compilers is not and cannot be
copyrighted, and their fundametal RUNTIME library and header have been put
by the FSF in the public domain, they are not copyrighted.

	[note that C (and almost as same is true for C++) does *not*, by
	definition of the language (at least until Ansi C defined an "hosted"
	implementation), include os interfacing, io, string handling, memory
	allocation, etc...  the runtime library proper therefore only
	includes code to support language primitives, e.g.  prologue and
	epilogue, variable argument lists, long arithmetic for some
	machines, etc...]

The FSF does supply also a copylefted STANDARD (i.e. what is described in
chapters 7 and 8 of K&R) library (and many others, like Doug Lea's suite for
C++), though, for your convenience.  If you include *this* sw with your
programs (whether you compile them or the libraries with an FSF compiler or
not is immaterial) then the GPL applies.

If you want to avoid this, use another "standard library"; there are many
free ones, or you can use one by a commercial supplier (e.g. the one often
included with your os), maybe one like AT&T, which lets you use their
libraries for your products without royalties. The FSF compilers take care
to generate code that can be linked with that compiled by other compilers,
(even if sometimes though the default linkage convetion is different), and
that can be used with precompiled libraries by other parties.

	[if I have misunderstood the intended meaning of the FSF conditions,
	I hope some of them will correct me].
-- 
Piercarlo "Peter" Grandi           | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcvax!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk