1 | |
---|
2 | Preamble to the Gnu Lesser General Public License |
---|
3 | |
---|
4 | Copyright (c) 2000 Franz Incorporated, Berkeley, CA 94704 |
---|
5 | |
---|
6 | The concept of the GNU Lesser General Public License version 2.1 |
---|
7 | ("LGPL") has been adopted to govern the use and distribution of |
---|
8 | above-mentioned application. However, the LGPL uses terminology that |
---|
9 | is more appropriate for a program written in C than one written in |
---|
10 | Lisp. Nevertheless, the LGPL can still be applied to a Lisp program if |
---|
11 | certain clarifications are made. This document details those |
---|
12 | clarifications. Accordingly, the license for the open-source Lisp |
---|
13 | applications consists of this document plus the LGPL. Wherever there |
---|
14 | is a conflict between this document and the LGPL, this document takes |
---|
15 | precedence over the LGPL. |
---|
16 | |
---|
17 | A "Library" in Lisp is a collection of Lisp functions, data and |
---|
18 | foreign modules. The form of the Library can be Lisp source code (for |
---|
19 | processing by an interpreter) or object code (usually the result of |
---|
20 | compilation of source code or built with some other |
---|
21 | mechanisms). Foreign modules are object code in a form that can be |
---|
22 | linked into a Lisp executable. When we speak of functions we do so in |
---|
23 | the most general way to include, in addition, methods and unnamed |
---|
24 | functions. Lisp "data" is also a general term that includes the data |
---|
25 | structures resulting from defining Lisp classes. A Lisp application |
---|
26 | may include the same set of Lisp objects as does a Library, but this |
---|
27 | does not mean that the application is necessarily a "work based on the |
---|
28 | Library" it contains. |
---|
29 | |
---|
30 | The Library consists of everything in the distribution file set before |
---|
31 | any modifications are made to the files. If any of the functions or |
---|
32 | classes in the Library are redefined in other files, then those |
---|
33 | redefinitions ARE considered a work based on the Library. If |
---|
34 | additional methods are added to generic functions in the Library, |
---|
35 | those additional methods are NOT considered a work based on the |
---|
36 | Library. If Library classes are subclassed, these subclasses are NOT |
---|
37 | considered a work based on the Library. If the Library is modified to |
---|
38 | explicitly call other functions that are neither part of Lisp itself |
---|
39 | nor an available add-on module to Lisp, then the functions called by |
---|
40 | the modified Library ARE considered a work based on the Library. The |
---|
41 | goal is to ensure that the Library will compile and run without |
---|
42 | getting undefined function errors. |
---|
43 | |
---|
44 | It is permitted to add proprietary source code to the Library, but it |
---|
45 | must be done in a way such that the Library will still run without |
---|
46 | that proprietary code present. Section 5 of the LGPL distinguishes |
---|
47 | between the case of a library being dynamically linked at runtime and |
---|
48 | one being statically linked at build time. Section 5 of the LGPL |
---|
49 | states that the former results in an executable that is a "work that |
---|
50 | uses the Library." Section 5 of the LGPL states that the latter |
---|
51 | results in one that is a "derivative of the Library", which is |
---|
52 | therefore covered by the LGPL. Since Lisp only offers one choice, |
---|
53 | which is to link the Library into an executable at build time, we |
---|
54 | declare that, for the purpose applying the LGPL to the Library, an |
---|
55 | executable that results from linking a "work that uses the Library" |
---|
56 | with the Library is considered a "work that uses the Library" and is |
---|
57 | therefore NOT covered by the LGPL. |
---|
58 | |
---|
59 | Because of this declaration, section 6 of LGPL is not applicable to |
---|
60 | the Library. However, in connection with each distribution of this |
---|
61 | executable, you must also deliver, in accordance with the terms and |
---|
62 | conditions of the LGPL, the source code of Library (or your derivative |
---|
63 | thereof) that is incorporated into this executable. |
---|
64 | |
---|
65 | End of Document |
---|