source: tags/pre_1_0_pre_hash_modifications/ccl/LICENSE @ 2475

Last change on this file since 2475 was 2475, checked in by anonymous, 14 years ago

This commit was manufactured by cvs2svn to create tag
'pre_1_0_pre_hash_modifications'.

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