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