Re: GCL compliance and Bill Schelter



Sam Steingold wrote:
>>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) ..."
> 
> the crucial part is the next phrase you omitted:
> 
> "i.e. if they don't rely on CLISP internals and would as well run in any
>  other Common Lisp implementation."
> 
> the idea is that any application that does not _require_ CLISP to run
> is _not_ infected by CLISP GPL.

That's nearly the idea. But the phrase is: "... would as well run in 
_any_ other Common Lisp implementation", not "... would as well run in 
_some_ other Common Lisp implementation". So the idea is that
applications that are written in _portable_ Common Lisp are treated
as independent work.

> CLOCC/PORT is, in fact, a cross-platform portability kit which runs
> under CLISP, CMUCL, ACL, LW (and soon GCL - as soon as they fix 
> DEFPACKAGE &c).  Therefore it is not covered by GNU GPL (but by GNU LGPL
> with Franz clarification).  I.e., it does _not_ infect software that
> uses CLOCC/PORT with GNU LGPL.

I agree here. clocc/src/port/sys.lisp supports so many CL
implementations that for practical purposes it meets the
"in _any_ other Common Lisp implementation" clause.

> What's worse, VARIABLE-SPECIAL-P relies on SYS::SPECIAL-VARIABLE-P
> which is not exported in CLISP - and probably won't be.

Nevertheless, the aim being to extend the limits of portability (not
to hijack CLISP internals), this doesn't bring CLOCC's sys.lisp under
GPL.

Bruno