2005-01-26 13:52:24 +00:00
|
|
|
Preamble to the Gnu Lesser General Public License
|
|
|
|
|
|
|
|
Copyright (c) 2000 Franz Incorporated, Berkeley, CA 94704
|
|
|
|
|
2005-11-29 11:11:26 +00:00
|
|
|
The concept of the GNU Lesser General Public License version 2.1 ("LGPL") has
|
|
|
|
been adopted to govern the use and distribution of above-mentioned
|
|
|
|
application. However, the LGPL uses terminology that is more appropriate for a
|
|
|
|
program written in C than one written in Lisp. Nevertheless, the LGPL can still
|
|
|
|
be applied to a Lisp program if certain clarifications are made. This document
|
|
|
|
details those clarifications. Accordingly, the license for the open-source Lisp
|
|
|
|
applications consists of this document plus the LGPL. Wherever there is a
|
|
|
|
conflict between this document and the LGPL, this document takes precedence over
|
|
|
|
the LGPL.
|
2005-01-26 13:52:24 +00:00
|
|
|
|
2005-11-29 11:11:26 +00:00
|
|
|
A "Library" in Lisp is a collection of Lisp functions, data and foreign
|
|
|
|
modules. The form of the Library can be Lisp source code (for processing by an
|
|
|
|
interpreter) or object code (usually the result of compilation of source code or
|
|
|
|
built with some other mechanisms). Foreign modules are object code in a form
|
|
|
|
that can be linked into a Lisp executable. When we speak of functions we do so
|
|
|
|
in the most general way to include, in addition, methods and unnamed
|
|
|
|
functions. Lisp "data" is also a general term that includes the data structures
|
|
|
|
resulting from defining Lisp classes. A Lisp application may include the same
|
|
|
|
set of Lisp objects as does a Library, but this does not mean that the
|
|
|
|
application is necessarily a "work based on the Library" it contains.
|
2005-01-26 13:52:24 +00:00
|
|
|
|
2005-11-29 11:11:26 +00:00
|
|
|
The Library consists of everything in the distribution file set before any
|
|
|
|
modifications are made to the files. If any of the functions or classes in the
|
|
|
|
Library are redefined in other files, then those redefinitions ARE considered a
|
|
|
|
work based on the Library. If additional methods are added to generic functions
|
|
|
|
in the Library, those additional methods are NOT considered a work based on the
|
|
|
|
Library. If Library classes are subclassed, these subclasses are NOT considered
|
|
|
|
a work based on the Library. If the Library is modified to explicitly call other
|
|
|
|
functions that are neither part of Lisp itself nor an available add-on module to
|
|
|
|
Lisp, then the functions called by the modified Library ARE considered a work
|
|
|
|
based on the Library. The goal is to ensure that the Library will compile and
|
|
|
|
run without getting undefined function errors.
|
2005-01-26 13:52:24 +00:00
|
|
|
|
2005-11-29 11:11:26 +00:00
|
|
|
It is permitted to add proprietary source code to the Library, but it must be
|
|
|
|
done in a way such that the Library will still run without that proprietary code
|
|
|
|
present. Section 5 of the LGPL distinguishes between the case of a library being
|
|
|
|
dynamically linked at runtime and one being statically linked at build
|
|
|
|
time. Section 5 of the LGPL states that the former results in an executable that
|
|
|
|
is a "work that uses the Library." Section 5 of the LGPL states that the latter
|
|
|
|
results in one that is a "derivative of the Library", which is therefore covered
|
|
|
|
by the LGPL. Since Lisp only offers one choice, which is to link the Library
|
|
|
|
into an executable at build time, we declare that, for the purpose applying the
|
|
|
|
LGPL to the Library, an executable that results from linking a "work that uses
|
|
|
|
the Library" with the Library is considered a "work that uses the Library" and
|
|
|
|
is therefore NOT covered by the LGPL.
|
2005-01-26 13:52:24 +00:00
|
|
|
|
2005-11-29 11:11:26 +00:00
|
|
|
Because of this declaration, section 6 of LGPL is not applicable to the
|
|
|
|
Library. However, in connection with each distribution of this executable, you
|
|
|
|
must also deliver, in accordance with the terms and conditions of the LGPL, the
|
|
|
|
source code of Library (or your derivative thereof) that is incorporated into
|
|
|
|
this executable.
|
2005-01-26 13:52:24 +00:00
|
|
|
|