[comp.lang.c++] GNU software rights

tower@bu-cs.BU.EDU (Leonard H. Tower Jr.) (07/30/88)

In article <1988Jul25.194637.22208@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes:
|In article <6590058@hplsla.HP.COM> glenne@hplsla.HP.COM (Glenn Engel) writes:
|>  ... This will require you to offer for copying
|>  costs, all your source code.  I would like to see this restriction
|>  removed from libg++ so that it indeed will grow and grOW and GROW to
|>  be usable by everyone.
|
|Don't bet on it.  

Agreed.  This restriction will not be lifted.  Even so, the software
will grow and grow and grow, and will be usable by everyone who wishes
to freely share software.

Note that this will prevent several distinct proprietary variations from
appearing, with no easy legal way to combine the best features of each.

|This is an ideological issue for RMS (and others); he
|wants ALL source to be available for copying costs.  In fact he considers
|any other policy not merely misguided but evil.  I'd be very surprised to
|see any compromises made on this.  Buying into this ideology is the price
|you pay for using the software.  (Betcha thought the stuff was free!)

What Henry has say is essentially correct, though it slant is wrong.
I would say:  "Buying into this ideology is the price you pay for
contributing improvements to the software.  (The stuff is as free as
the neighbor who passes it on to you wishes to make it)."

RMS wants source code to be freely sharable among hackers and users.
He has explained his rationale in the GNU Manifesto.

The key requirement isn't the magnitude of the distribution costs, but
that source always accompanies executables, with no restriction on
further distribution of the source.

The success of GNU software (e.g. GNU Emacs, gcc and g++) certainly
demonstrates that the approach has merit and that a community of
sharers of freed software is viable.

Those wanting a copy of the Manifesto or more information about the
GNU Project can either:

- start up a copy of GNU Emacs and type:
	C-h C-w C-x C-v GNU RET
- or send an e-mail request to the project's inquiry address:
	gnu@prep.ai.mit.edu 	or	ucbvax!prep.ai.mit.edu!gnu

enjoy -len 

gore@eecs.nwu.edu (Jacob Gore) (07/30/88)

/ comp.lang.c++ / tower@bu-cs.BU.EDU (Leonard H. Tower Jr.) / Jul 29, 1988 /
>In article <6590058@hplsla.HP.COM> glenne@hplsla.HP.COM (Glenn Engel) writes:
>>  ... This will require you to offer for copying
>>  costs, all your source code.  I would like to see this restriction
>>  removed from libg++ so that it indeed will grow and grOW and GROW to
>>  be usable by everyone.
>...
>...  This restriction will not be lifted.  Even so, the software
>will grow and grow and grow, and will be usable by everyone who wishes
>to freely share software.
>
>Note that this will prevent several distinct proprietary variations from
>appearing, with no easy legal way to combine the best features of each.

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++

I think this approach would increase the use of the GNU compilers, and thus
expose many more people to the GNU philosophy. 

Jacob Gore				Gore@EECS.NWU.Edu
Northwestern Univ., EECS Dept.		{oddjob,gargoyle,att}!nucsrl!gore

ed@hpmtlx.HP.COM ($Ed Schlotzhauer) (08/02/88)

>The success of GNU software (e.g. GNU Emacs, gcc and g++) certainly
>demonstrates that the approach has merit and that a community of
>sharers of freed software is viable.

Yes, but I believe gnu emacs would be an obscure and unused curiosity if
EVERY FILE I edited with it became the property of FSF/RMS.

Likewise, making the source code of the g++ compiler freely sharable is a
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.

Laying aside the arguments about software ownership, the issue for me is
CHOICE.  I do not like to have my freedom of choice taken away.

Ed

dupuy@riverside.columbia.edu (Alexander Dupuy) (08/04/88)

In article <800001@hpmtlx.HP.COM> ed@hpmtlx.HP.COM ($Ed Schlotzhauer) writes:
>Yes, but I believe gnu emacs would be an obscure and unused curiosity if
>EVERY FILE I edited with it became the property of FSF/RMS.
>
>Likewise, making the source code of the g++ compiler freely sharable is a
>great idea, but making all code COMPILED with it necessarily sharable will
>seriously limit its acceptance.
[other complaints deleted]

First, a relevant quote from the GCC Public License:
______________________________________________________________________________
Mere aggregation of another unrelated program with this program (or its
derivative) on a volume of a storage or distribution medium does not bring
the other program under the scope of these terms.

  3. You may copy and distribute GNU CC (or a portion or derivative of it,
under Paragraph 2) in object code or executable form under the terms of
Paragraphs 1 and 2 above provided that you also do one of the following:

    a) accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of
    Paragraphs 1 and 2 above; or,

    b) accompany it with a written offer, valid for at least three
    years, to give any third party free (except for a nominal
    shipping charge) a complete machine-readable copy of the
    corresponding source code, to be distributed under the terms of
    Paragraphs 1 and 2 above; or,

    c) accompany it with the information you received as to where the
    corresponding source code may be obtained.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form alone.)
______________________________________________________________________________

As I understand it, there is no problem here (someone from FSF please correct
me if I'm wrong).

Code compiled or processed by g++ or gcc, or bison, etc. -is not- copylefted.

Code derived from GNU sources, including runtime libraries, -is- copylefted.

So how do I, J. Random Capitalist, use g++ to compile my proprietary whizbang?
If I compile and link with g++, I can't just distribute a binary, since by
virtue of including the runtime support library, my whizbang is _derived_ from
GNU source.

Instead, I provide binaries of g++ and libg++, plus all the .o files which are
needed to build my proprietary whizbang.  The installation script can link them
together.  It might be possible to provide a prelinked binary executable, but
that is arguably more than "mere aggregation".

To comply with the copyleft, I must provide (upon request) sources to g++ and
libg++.  I can charge a reasonable handling fee for this.

Caveat: I am not a lawyer - before you do this, have a good copyright lawyer
look at the GNU copyleft restrictions, and ask FSF what their feeling is.

@alex
-- 
inet: dupuy@columbia.edu
uucp: ...!rutgers!columbia!dupuy

brown@galaxy.ee.rochester.edu (Eric Brown) (08/04/88)

In article <800001@hpmtlx.HP.COM> ed@hpmtlx.HP.COM ($Ed Schlotzhauer) writes:
>Likewise, making the source code of the g++ compiler freely sharable is a
>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.
>
Perhaps I'm wrong, but I don't think that code COMPILED with g++ or gcc is
required to be free.  Read the licence agreement again.  If you find where
it says the code I just developed must be free, PLEASE show me.

Thanks.
Eric Brown.
broe@tut.cc.rochester.edu

glenne@hplsla.HP.COM ( Glenn Engel) (08/05/88)

>Likewise, making the source code of the g++ compiler freely sharable is a
>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. 
>
>Jacob Gore				Gore@EECS.NWU.Edu
>Northwestern Univ., EECS Dept.		{oddjob,gargoyle,att}!nucsrl!gore


 |  Glenn R. Engel
 |  Hewlett-Packard 
 |  (206) 335-2066
 |  hplabs!hp-pcd!hplsla!glenne

tower@bu-cs.BU.EDU (Leonard H. Tower Jr.) (08/05/88)

With apologies, this discussion is straying from C++:

In article <5796@columbia.edu> dupuy@riverside.columbia.edu (Alexander Dupuy) writes:
   ...

|As I understand it, there is no problem here (someone from FSF please correct
|me if I'm wrong).
|
|Code compiled or processed by ... or bison, etc. -is not- copylefted.

   ...
ok, Correction:

The output of bison IS copylefted, because the parser source code the
output contains is copylefted.

There is a fuller discussion of this in the soon to be released bison
texinfo manual.

enjoy -len 
aka tower@prep.ai.mit.edu 

chase@Ozona.orc.olivetti.com (David Chase) (08/05/88)

In article <24265@bu-cs.BU.EDU> tower@bu-it.bu.edu (Leonard H. Tower Jr.) writes:
>The output of bison IS copylefted, because the parser source code the
>output contains is copylefted.

Pardon me if I'm missing something, but "bison.hairy" contains no
copyright notice, and this is the file included if "%semantic_parser"
is specified (of course, the output seems much less yacc-compatible
in this case).  As far as I can tell, this means that the output of
bison is in certain circumstances NOT copylefted, since it contains no
copyright at all.  Are you wrong, or am I misunderstanding something?

David

henry@utzoo.uucp (Henry Spencer) (08/07/88)

In article <26715@oliveb.olivetti.com> chase@Ozona.UUCP (David Chase) writes:
>>The output of bison IS copylefted, because the parser source code the
>>output contains is copylefted.
>
>Pardon me if I'm missing something, but "bison.hairy" contains no
>copyright notice...  As far as I can tell, this means that the output of
>bison is in certain circumstances NOT copylefted, since it contains no
>copyright at all.  Are you wrong, or am I misunderstanding something?

I think you are misunderstanding something.  A page from a book is still
copyrighted even if it is torn out of the book; the presence of the
copyright notice only in the front of the book, rather than on every page,
is irrelevant.  Putting a copyright notice in every file is common, but it
is a precaution, not a legal necessity, as I understand it.
-- 
MSDOS is not dead, it just     |     Henry Spencer at U of Toronto Zoology
smells that way.               | uunet!attcan!utzoo!henry henry@zoo.toronto.edu

jima@hplsla.HP.COM ( Jim Adcock) (08/09/88)

> >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