[comp.misc] Re^2: Software, development & copyrights

leonard@bucket.UUCP (Leonard Erickson) (08/08/89)

I want to run through an analogy that I hope will shed some light on
how both sides feel about the GNU license agreement. At worst, it'll
shows how *I* feel about it.

Gnu is providing "tools" and "libraries". Ok, let pick a quite
reasonable analogy. 

I'm dealing with someone who produces a wonderful set of automated
machines tools and design libraries for them. You feed in a design
and out comes whatever... you can even (with a bit of work) get the
tools to produce themselves or even *improved* versions of themselves.

I have no problem with this person claiming rights to the tools. And if
I use the knowledge I get from examining them or the design libraries
to design better tools or libraries, then indeed they should be able to
excercise an amount of control based upon the extent to which the new
items are *derived* from the old. (that's what derivative work *means*)

But they want to say that they have rights over *anything* produced with
theses tools and libraries, not merely things *derived* from them.
Sorry, but if I use their tools to build a piano, the have no rights
to the piano in any ethical system. 

-- 
Leonard Erickson		...!tektronix!reed!percival!bucket!leonard
CIS: [70465,203]
"I'm all in favor of keeping dangerous weapons out of the hands of fools.
Let's start with typewriters." -- Solomon Short

talvola@janus.berkeley.edu (Erik Talvola) (08/10/89)

In article <1610@bucket.UUCP> leonard@bucket.UUCP (Leonard Erickson) writes:

   Gnu is providing "tools" and "libraries". Ok, let pick a quite
   reasonable analogy. 

   I'm dealing with someone who produces a wonderful set of automated
   machines tools and design libraries for them. You feed in a design
   and out comes whatever... you can even (with a bit of work) get the
   tools to produce themselves or even *improved* versions of themselves.

   I have no problem with this person claiming rights to the tools. And if
   I use the knowledge I get from examining them or the design libraries
   to design better tools or libraries, then indeed they should be able to
   excercise an amount of control based upon the extent to which the new
   items are *derived* from the old. (that's what derivative work *means*)

   But they want to say that they have rights over *anything* produced with
   theses tools and libraries, not merely things *derived* from them.
   Sorry, but if I use their tools to build a piano, the have no rights
   to the piano in any ethical system. 

I don't believe this is really an accurate analogy, and I would like
to supply one which I feel is closer to the situation.

Let's say that one is writing a large research paper.  In this paper, he
is using information from several other papers written by different
people.  Now, this person isn't deriving anything from the other papers,
but he is using them in the writing of his paper. 

Now, if this person uses the actual text of one of the original papers, 
then he is subject to the conditions of its distribution.  For example, it
may say something like: "No portion of this paper may be distributed without
the express written permission of the author."  Yes, quotes are allowed to
be taken from papers without getting permission, but let's say that the
person took a whole chapter from some book and used it.

Now, the writer of the new research paper has a couple of options.  He can
rewrite the section of the paper which was copied, or he can go by the rules
and contact the author for permission, and see what restrictions the author
wants on the distribution.

I see this in being similar to the GNU stuff.  Someone wants to write a
new compiler, and wants to use Bison.  Yes, Bison is only a tool, but it
contains code with restrictions on it.  In the same way that you cannot
take a chapter of a book and republish it, you cannot take a section of
code (namely, the skeleton parser), and republish it - without the permission
of the author.  In the case of the GNU stuff, the 'permission of the
author' means that you must obey by the rules and distribute your source
code.  The same goes with the C++ library, and the forthcoming C library.

OK - you may say "this is unfair, since you need the C library to do
anything."  Perhaps you do, but since the code in the library isn't
yours to do with, since you did not write it, you don't have permission
to do what you want with it.  This includes incorporating it in your
personal works without following the author's rules.  If you don't
want to follow the rules - write your own code.

I am avoiding one argument that many people have brought up - that is,
should the FSF copyleft the C/C++/Bison stuff.  I feel they have the
right to do so, since it is their code.  I use the Gnu stuff often here
at Berkeley, and the Gnu stuff is used all the time in many of the classes
here on campus.  I just wish that instead of trying to find ways to get
around the restrictions on the Gnu code, people would either a) distribute
their source like Gnu does, or b) use Gnu stuff on Gnu-type code, and
commercial/other stuff on code which they want to distribute binaries 
only.




--
+----------------------------+
! Erik Talvola               | "It's just what we need... a colossal negative 
! talvola@janus.berkeley.edu | space wedgie of great power coming right at us
! ...!ucbvax!janus!talvola   | at warp speed." -- Star Drek

darin@nova.laic.uucp (Darin Johnson) (08/11/89)

In article <TALVOLA.89Aug9115451@janus.berkeley.edu> talvola@janus.berkeley.edu (Erik Talvola) writes:
>I don't believe this is really an accurate analogy, and I would like
>to supply one which I feel is closer to the situation.
>
>Let's say that one is writing a large research paper.  In this paper, he
>is using information from several other papers written by different
>people.  Now, this person isn't deriving anything from the other papers,
>but he is using them in the writing of his paper. 
>
>I see this in being similar to the GNU stuff.  Someone wants to write a
>new compiler, and wants to use Bison.  Yes, Bison is only a tool, but it
>contains code with restrictions on it.  In the same way that you cannot
>take a chapter of a book and republish it, you cannot take a section of
>code (namely, the skeleton parser), and republish it - without the permission
>of the author.

But using the skeleton parser is not quite the same as borrowing a whole
chapter (IMHO).  Borrowing a chapter would be more like using the same
routines that are used to parse the bison input, output the tables, etc.
The skeleton parser is like the annotated bibliography - the paper is
pretty much useless without it (to most people).  Also, the skeleton
parser does not get included in the file executable, only a compiled
version of it - not a trivial matter to get it back in source form
- but I agree that object code is a derivation of source.  However, I
am pretty sure that if I distribute an executable, I am not giving away
my source or any trade-secrets, etc.  The skeleton is most likely a lot
more efficient than what most undergrads could write, but I am sure some
competent people could come up with a replacement for the skeleton pretty
easily (has anyone done this?).  If someone does this after a quick
glance at yaccpar or the bison skeleton, will someone else complain that
it wasn't 'original' since they saw the sources (of course, the Bison
author(s) have seen yaccpar).  If someone wrote one, will FSF distribute
it without the copyleft?  If not, does FSF become monopolists and software
hoarders?

Similarly, including the GNUCC libs, is not in the same caliber as
lifting a whole chapter (especially since you are not including
source).  GNU CC is a tool to develop executables.  The GNU CC
libraries serve exactly the same purpose - a tool to develop
executables.  I don't know how FSF can say the GCC output is not
derived work but including the libraries is - especially since it took
a lot more effort to develop the compiler than the libraries (unless
those are going to be some whiz-bang libraries :-).  Likewise, I think
some people could come up with a compatible library (it doesn't have
to be GNU compatible, just have common C libs).  On all the systems I
use now, the GNU libraries will not be used (or allowed, else the
mythical enemy, the Russians, could just request a copy of all the
source code to all the work), but the compiler can be used because
existing libraries exist.  However, I know of people with systems
without a C compiler, who cannot afford a C compiler (why waste the
budget when FORTRAN does the job), but cannot use GNU CC because there
are no existing libraries.  So in essence, FSF is forcing people to
use FORTRAN :-) :-)

So why doesn't someone write some compatible stuff?  Or are all the
people with the free time on the FSF side?


Darin Johnson (leadsv!laic!darin@pyramid.pyramid.com)
	We now return you to your regularly scheduled program.

julian@uhccux.uhcc.hawaii.edu (Julian Cowley) (08/12/89)

In article <661@laic.UUCP> darin@nova.UUCP (Darin Johnson) writes:
>If someone does this after a quick glance at yaccpar or the
>bison skeleton, will someone else complain that it wasn't
>'original' since they saw the sources (of course, the Bison
>author(s) have seen yaccpar)?

The FSF is concerned about this themselves, and they have a
programming guidelines document that explicitly warns you not to
look at the Unix sources when developing a corresponding GNU
utility.  They also urge you to look for newer and faster
algorithms than what the originals used, since that would clear
the air completely.

>If someone wrote one [a skeletal parser], will FSF distribute
>it without the copyleft?  If not, does FSF become monopolists and software
>hoarders?

I doubt they would distribute something that doesn't fit in with
their ideology, especially if it aides "horders", but they could
not justifiably be called monopolists for doing so.  Not
distributing a certain piece of software is not the same as
disallowing the software to be distributed in the first place,
and the the FSF is under no obligation to distribute source code
to anyone.  In fact, they vehemently refuse to distribute source
code that supports certain vendors (e.g., Apple).

>I don't know how FSF can say the GCC output is not
>derived work but including the libraries is - especially since it took
>a lot more effort to develop the compiler than the libraries (unless
>those are going to be some whiz-bang libraries :-).

Consider GCC as a translator.  A copy of, say, "The Satanic
Verses" may be written originally in English, but a copy
translated into Iranian is still the same work.  The same
argument can be used with GCC's output compared to the original
source.  The two files are intrinsically the same, except that one
is machine readable, and the other is intended for people to
read.

However, I find the FSF's argument about how the whole executable
file becomes copylefted with the inclusion of copylefted source
somewhat inpalatable.  In fact, if you look closely at the GPL,
you'll notice that it says this:

   "For an executable file, complete source code means all the
    source code for all modules it contains; but, as a special
    exception, it need not include source code for modules which
    are standard libraries that accompany the operating system
    on which the executable file runs."

    (From the Emacs 18.53 copying license)

This is meant to waver having to distribute proprietary C
libraries, since nobody could do that.  But this is almost
contradictory with the FSF's current policy, since it could be
applied to their library also.  The AT&T Unix C library may be
proprietary, but distributing executables containing it does not
bring the executables under its terms (perhaps against AT&T's
wishes).  The GNU C libraries should not do this either.  As much
as I respect the FSF, I feel that RMS's insistence on this point
has created many more enemies towards him since he announced it
sometime last year.

For the inclusion of copylefted sources besides the standard
libraries, I am not sure how this affects the whole.  Does the
work fall under a "least common denominator" license (as the FSF
is trying to make out)?  Or does each separate piece of the
whole get distributed (or not distributed) according to its
individual license?  I lean towards the latter, but it clearly
means that people would then use GNU CC to develop proprietary
software.  I'm not saying this is bad, but it is not likely to
happen since it runs contrary to RMS's firmly stated policy of
not helping "hoarders".

>So why doesn't someone write some compatible stuff?  Or are all the
>people with the free time on the FSF side?

I don't see how anyone can be on either "side".  People who need
to make money off of their programming ability have a noble
cause.  So do people who enjoy making their programs available
to other people.  Unfortunately, at least in the way our society
is set up now, the two causes contradict each other economically,
but this doesn't mean that an individual doesn't want to achieve
both.  The thing I like about GNU is that it recognizes that
there is a problem.

julian@uhccux.uhcc.hawaii.edu		gnu emacs -- the editor that
julian@uhccux.bitnet			takes two newsgroups to pin down.