-
Notifications
You must be signed in to change notification settings - Fork 2
/
COPYING-preamble.txt
66 lines (58 loc) · 3.62 KB
/
COPYING-preamble.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Prequel to the Gnu Lesser General Public License
Copyright (c) 2000 Franz Inc., Berkeley, CA 94704
Matthias Koeppe has adopted the concept of the GNU Lesser General Public
License version 2.1 ("LGPL") or any later version to govern the use and
distribution of cl-bibtex. However, LGPL uses terminology that is more
appropriate for a program written in C than one written in Lisp.
Nevertheless, LGPL can still be applied to a Lisp program if certain
clarifications are made. This document details those clarifications.
Accordingly, the license for cl-bibtex consists of this document
plus LGPL. Wherever there is a conflict between this document and
LGPL, this document takes precedence over LGPL.
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.
The cl-bibtex Library consists of everything in the cl-bibtex
distribution file set before any modifications are made to the files.
If any of the functions or classes in the cl-bibtex Library are
redefined in other files, then those redefinitions ARE considered a
work based on the cl-bibtex Library. If additional methods are
added to generic functions in the cl-bibtex Library, those
additional methods are NOT considered a work based on the cl-bibtex
Library. If cl-bibtex classes are subclassed, these subclasses are
NOT considered a work based on the cl-bibtex Library. If the
cl-bibtex 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 cl-bibtex Library
ARE considered a work based on the cl-bibtex Library. The goal is
to ensure that the cl-bibtex Library will compile and run without
getting undefined function errors.
It is permitted to add proprietary source code to the cl-bibtex
Library, but it must be done in a way such that the cl-bibtex
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 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 LGPL to the
cl-bibtex Library, an executable that results from linking a "work
that uses the cl-bibtex Library" with the Library is considered a
"work that uses the Library" and is therefore NOT covered by LGPL.
Because of this declaration, section 6 of LGPL is not applicable to
the cl-bibtex 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
cl-bibtex Library (or your derivative thereof) that is incorporated
into this executable.