On Fri, 2003-07-25 at 20:33, Nicolas Neuss wrote:
> Adam Warner <lists@consulting.net.nz> writes:
>
> > I agree that this is sort of what CLISP is trying to achieve with their
> > exception clause, and it is done so quite successfully by simply
> > referencing package names and external symbols as defined in the ANSI CL
> > standard.
> >
> > Note that the moment one references a non-specified CLISP package or
> > non-external symbol at least part of the code is no longer an
> > independent work:
> > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/~checkout~/clisp/clisp/COPYRIGHT
> >
> > It appears to have been revised for memory images. It seems fair that if
> > one references a non-external, etc. symbol that only the sources to all
> > the parts that are not defined as "independent work" must be disclosed.
>
> Hmm. What about interfacing via CLOCC? By this reasoning, CLOCC has to be
> GPLed because it accesses internal symbols for CLISP. What about programs
> using CLOCC then?
As CLISP's copyright states, to be an independent work a program must
"only reference external symbols in CLISP's public packages (namely the
packages COMMON-LISP, COMMON-LISP-USER, KEYWORD, EXT) ..."
Nicolas, I have had a look at some of the CLOCC code and it indeed would
not be classified as a work independent of CLISP because it references
internal CLISP symbols. For example:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/~checkout~/clocc/clocc/src/port/sys.lisp
...
(defun getenv (var)
"Return the value of the environment variable."
#+allegro (sys::getenv (string var))
#+clisp (sys::getenv (string var))
^^^^^
...
This however is almost certainly an oversight. GETENV is also exported
as part of the EXT package. So the above could could be rewritten:
...
(defun getenv (var)
"Return the value of the environment variable."
#+allegro (sys::getenv (string var))
#+clisp (ext:getenv (string var))
^^^^^
...
And then the CLOCC code would be an independent work covered by CLISP's
GPL exception.
I have CCed Sam Steingold so he can consider fixing this.
Regards,
Adam