[alt.religion.computers] GNU Public License restrictions and GNU utilities

ned@pebbles.cad.mcc.com (Ned Nowotny) (12/07/89)

In article <1918@texsun.Central.Sun.COM> jthomp@wintermute.Sun.COM (Jim Thompson ) writes:
>BYTE: Do your restrictions apply if people take pieces of your code to
>produce other things as well?
>
>Stallman: Yes, if they incorporate with changes any sizable piece.  If it
>were two lines of code, that's nothing; copyright doesn't apply to that.
>Essentially, I have chosen these conditions so that first there is a
>copyright, which is what all the software hoarders use to stop everybody
>from doing anything, and then I add a notice giving up part of those
>rights.  So the conditions talk only about the things that copyright applies
>to.  I don't believe that the reason you should obey these conditions is
>because of the law.  The reason you should obey is because an upright person
>when he distributes software encourages other people to share it further.
>

However, the GPL is not just about sharing software.  It provides for a
specific form of software sharing which includes restrictions of its own.

In particular, it is not possible to write a program which includes any
code copied directly from any GPL covered software and to then place the
program in question in the public domain.  The typical response to this
is to say don't use the GPL covered code if you don't want to abide by
the GPL.  Given that the FSF is advocating a philosophy of software
sharing, it is a bit odd to be told not to share software except on
their terms.  Of course they are entirely correct and within their
rights, but it still smacks of sophistry.

In fact, I have several problems with copyrights on "free" code:

1.  Copyrights imply the potential need for legal consultations.  These
    consultations can be very expensive in time, money, and peace of
    mind.

2.  Although RMS says that copyright does not apply to only a couple of
    lines of code, there is no clear demarcation between copyright
    infringement and "fair use" in software.  As a result, the only
    prudent course is abstinence.  (Frankly, I find it hard to accept
    copyright on anything less than a significant code module or complete
    program.  However, our legal system sees things differently and,
    certainly, less clearly.  After all, gray areas are the feeding
    grounds of the legal profession and those who would employ its
    members.)

3.  As one example, it has been repeatedly suggested that bison output
    could be used without coming under the GPL if the user were only
    willing and able (usually suggested in a mocking tone of superiority)
    to write their own driver.  However, it is not clear to me how one
    goes about writing such a driver without fear of copyright and GPL
    infringement claims.  Given that any user in question has had access
    to the bison source code, the packaged bison drivers, and the almost
    certain need to examine both to determine how a replacement driver
    can be built, it is extremely unlikely that anyone would be able to
    produce a reasonably efficient implementation of a bison driver
    which did not look similar enough to the packaged versions to
    escape claims of plagiarism, at best, and copyright/GPL infringement,
    at worst.  (Of course, in a rational world of software copyright law,
    the bison drivers would be small enough to fall under the "fair use"
    doctrine.)

4.  Frankly, my biggest problem with copyrights and licenses on freely
    distributed source code comes from an extension of the concerns
    expressed above.  Given the limited expressiveness of programming
    languages, the frequent recurrence of many basic data structures
    and algorithms, and the ever present demands on execution and space
    efficiency, it is exceedingly unlikely that sections of any non-trivial
    program will not resemble some sections of code available in freely
    distributed source sufficiently enough to be considered a derivation.
    While there are not necessarily legal consequences to such coincidental
    similarities, there are more than a few people on the net alone who
    would not be above accusing someone else of violating a copyright or
    license.  (Once again, this would not be a problem if there was a clear
    appreciation that only systems, or significant subsystems, could be
    considered original work and therefore subject to copyright.)

5.  Finally, I would have very few objections to the GPL if it only applied
    to use of FSF source code.  However, I do object to a license which
    grasps for the product of my own labor through a process of "guilt by
    association".  While I can certainly avoid the problem (except for
    the potential problem listed in 4 above) by never using FSF source
    code in any of my own code, I still believe that the intent to extend
    FSF ownership to code not freely given to the FSF by dragging it under
    the GPL as a consequence of mere proximity is contrary to real software
    sharing.

>BYTE: In a sense you are enticing people into this mode of thinking by
>providing all of these interesting tools that they can use but only if they
>buy into your philosophy.
>
>Stallman: Yes.  You could also see it as using the legal system that
>software hoarders have set up against them.  I'm using it to protect the
>public from them.
>

Unfortunately, the cure is nearly as bad as the disease.  The FSF is merely
substituting one legal entanglement and a set of restrictions for another.

By the way, I have no objection to the prodigious software development by
RMS and the FSF supporters.  I do make use of several of their tools and
will continue to do so.  It is only my faint hope that my comments and
those of some others may persuade the FSF to a less restrictive policy on
software sharing.  Please consider that copyright law is a tarpit for
both the "software hoarder" and opposition alike.  The rest of us
would just like to stop reinventing the wheel.  Both hoarders and foes
are impediments, if unequal in their effect.

Ned Nowotny, MCC CAD Program, Box 200195, Austin, TX  78720  Ph: (512) 338-3715
ARPA: ned@mcc.com                   UUCP: ...!cs.utexas.edu!milano!cadillac!ned
-------------------------------------------------------------------------------
"We have ways to make you scream." - Intel advertisement in the June 1989 DDJ.

raulmill@usc.edu (Raul Deluth Rockwell) (12/08/89)

In article <4598@cadillac.CAD.MCC.COM> ned@pebbles.cad.mcc.com (Ned Nowotny) writes:
;> In particular, it is not possible to write a program which includes
;> any code copied directly from any GPL covered software and to then
;> place the program in question in the public domain.  The typical
;> response to this is to say don't use the GPL covered code if you
;> don't want to abide by the GPL.  Given that the FSF is advocating a
;> philosophy of software sharing, it is a bit odd to be told not to
;> share software except on their terms.  Of course they are entirely
;> correct and within their rights, but it still smacks of sophistry.

Public domain means:  anyone who wants can do anything they want with
it (including sell it for $5,000 with a liscence prohibiting you from
dissassembling it or letting others use it).

;> In fact, I have several problems with copyrights on "free" code:

;> 1.  Copyrights imply the potential need for legal consultations.  These
;>     consultations can be very expensive in time, money, and peace of
;>     mind.

No they don't.  Copyright enforcement MIGHT.  That copyrights require
lawyers is a stupid myth.

;> 2.  Although RMS says that copyright does not apply to only a couple of
;>     lines of code, there is no clear demarcation between copyright
;>     infringement and "fair use" in software.  As a result, the only
;>     prudent course is abstinence.  (Frankly, I find it hard to
;>     accept copyright on anything less than a significant code
;>     module or complete program.  However, our legal system sees
;>     things differently and, certainly, less clearly.  After all,
;>     gray areas are the feeding grounds of the legal profession and
;>     those who would employ its members.)

What's wrong with:  develop your code using FSF.  If you can't figure
out a way to distribute your program under FSF's terms, finish the job
by hand-coding the parts of FSF's software that you are linking with.

;> 3.  As one example, it has been repeatedly suggested that bison output
;>     could be used without coming under the GPL if the user were
;>     only willing and able (usually suggested in a mocking tone of
;>     superiority) to write their own driver.  However, it is not
;>     clear to me how one goes about writing such a driver without
;>     fear of copyright and GPL infringement claims.  Given that any
;>     user in question has had access to the bison source code, the
;>     packaged bison drivers, and the almost certain need to examine
;>     both to determine how a replacement driver can be built, it is
;>     extremely unlikely that anyone would be able to produce a
;>     reasonably efficient implementation of a bison driver which did
;>     not look similar enough to the packaged versions to escape
;>     claims of plagiarism, at best, and copyright/GPL infringement,
;>     at worst.  (Of course, in a rational world of software
;>     copyright law, the bison drivers would be small enough to fall
;>     under the "fair use" doctrine.)

since I don't use bison, I can't claim to understand what the problem
is.  I know for a fact, however, that there are lots of different ways
of writing syntax recognition code.  (I usually use arrays of
functions indexed by characters, with about a dozen different
functions, one for each syntactic class.  You initialize a 'syntax
table' during startup which handles the parsing: instant lex
substitute (and faster as well).  For yacc replacement, some
characters invoke 'word completion' which either stacks the argument
to be dealt with later, or attempts to look it up in a command table
(which if successful also returns a grammar for dealing with
arguments)).  [I developed this scheme over the course of a month.  It
isn't very complicated, once you get the right perspective.]

;> 4.  Frankly, my biggest problem with copyrights and licenses on freely
;>     distributed source code comes from an extension of the concerns
;>     expressed above.  Given the limited expressiveness of
;>     programming languages, the frequent recurrence of many basic
;>     data structures and algorithms, and the ever present demands on
;>     execution and space efficiency, it is exceedingly unlikely that
;>     sections of any non-trivial program will not resemble some
;>     sections of code available in freely distributed source
;>     sufficiently enough to be considered a derivation.  While there
;>     are not necessarily legal consequences to such coincidental
;>     similarities, there are more than a few people on the net alone
;>     who would not be above accusing someone else of violating a
;>     copyright or license.  (Once again, this would not be a problem
;>     if there was a clear appreciation that only systems, or
;>     significant subsystems, could be considered original work and
;>     therefore subject to copyright.)

So?  If what you say is true, then independent authors of freely
distributable code should be coming up with the same code sequences*.
The better ones also ought to show up in textbooks.  IF you were taken
to task, you ought to be able to show either prior art (something so
old that copyrights don't apply), or show that this is a general
technique, rather than a specific implementation.

* Not something that I have observed happening, by the way.  Contrary
  to what you seem to believe, there are many different ways of coding
  the same algorithm.  And coincidences are not a concern in a large
  'work of art'.  Exact duplication is.

;> 5.  Finally, I would have very few objections to the GPL if it only applied
;>     to use of FSF source code.  However, I do object to a license
;>     which grasps for the product of my own labor through a process
;>     of "guilt by association".  While I can certainly avoid the
;>     problem (except for the potential problem listed in 4 above) by
;>     never using FSF source code in any of my own code, I still
;>     believe that the intent to extend FSF ownership to code not
;>     freely given to the FSF by dragging it under the GPL as a
;>     consequence of mere proximity is contrary to real software
;>     sharing.

Seems to me people have gotten around this one.

;> By the way, I have no objection to the prodigious software
;> development by RMS and the FSF supporters.  I do make use of
;> several of their tools and will continue to do so.  It is only my
;> faint hope that my comments and those of some others may persuade
;> the FSF to a less restrictive policy on software sharing.  Please
;> consider that copyright law is a tarpit for both the "software
;> hoarder" and opposition alike.  The rest of us would just like to
;> stop reinventing the wheel.  Both hoarders and foes are
;> impediments, if unequal in their effect.

Personally, I like the current FSF policy, and would be disappointed
if it changed in that direction.  And I've never noticed any tar in
the copyright law.  Rarely, if ever, do you have to do more than put a
copyright notice on your work before publishing.

--