Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!nosc!ucsd!ucsdhub!hp-sdd!hplabs!hp-pcd!hplsla!jima
From: jima@hplsla.HP.COM (              Jim Adcock)
Newsgroups: comp.lang.c++
Subject: Re: GNU software rights (was Re: general class definitions)
Message-ID: <6590063@hplsla.HP.COM>
Date: 8 Aug 88 17:49:12 GMT
References: <24158@bu-cs.BU.EDU>
Organization: HP Lake Stevens, WA
Lines: 52

> >great idea, but making all code COMPILED with it necessarily sharable will
> >seriously limit its acceptance.  For instance, I work for a commercial
> >company and, despite how RMS feels about it, we do NOT give away everything
> >we do.  I would like to use g++ for a few things, but I can't do any more
> >than play with it as a toy because its use would compromise the ownership of
> >what my company feels (right or wrong) is its property.
> 
> It is my understanding from talking to RMS and some legal types that simply
> using g++ to compile your source code does NOT place any restrictions on
> the resulting binaries.  
> 
> The real problem with g++ (from my point of view)
> is the issue relating to libg++.  Since the process of using libg++ inherently
> pulls in source code into any source using it, you have combined your
> source code with source code falling under the GNU General public license
> and as such your source code would be subject to it's terms and conditions.
> I think the writer of a previous response stated it correctly:
> 
> >But there is a solution in between:
> >	* apply the GNU license to libg++, so if somebody enhances it, the 
> >	  enhanced version is still free
> >	* remove the restriction from the software that is linked together
> >	  with libg++
> 
> and     * remove the restriction from software which includes .h files from
>           libg++
> >
> >I think this approach would increase the use of the GNU compilers, and thus
> >expose many more people to the GNU philosophy. 

I believe this is close to being correct.  Except that people seem be ignoring
the fact that most compilers, including g++ include copyrighted source 
materials in virtually ANY compilation.  It would seem that any chunk of
binary code much larger than a machine instruction that is injected into a 
compilation -- if the source that caused that code to be injected into your 
compilation is copyrighted -- might be considered enough to compromise clear ownership of the 
code that was compiled.  And g++ injects such code in a number of situations
whether or not you call libg++.  For example, if you have a main() routine
then g++ will inject a _main() wrapper.  Copyrighted.  If you allocate or
deallocate objects directly or indirectly, then code will be injected to
handle this for you.  Copyrighted.  Etc.

So I do not believe mearly avoiding copyrighted libraries is enough to 
guarantee one clear title to code generated by anyone's compiler.  I believe
if you're going to have clear title to code generated by anyone's compiler then
their licensing agreement -- whether you paid money for it or not --
is going to have to clearly and explicitly give you clear ownership of
the results of any compilation from that compiler.  Without such clear
language in the licensing agreement, you better assume that you DO NOT have
clear ownership over the results of the compilation.

Again, see a lawyer who understands these details about software.
Not a substitute for competent legal advice -- Jim Adcock