gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: [Maxima] Re: GCL compliance and Bill Schelter


From: Adam Warner
Subject: [Gcl-devel] Re: [Maxima] Re: GCL compliance and Bill Schelter
Date: 26 Jul 2003 00:16:50 +1200

On Fri, 2003-07-25 at 20:33, Nicolas Neuss wrote:
> Adam Warner <address@hidden> 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]