License | 228 lines | 184 code | 44 blank | 0 comment | 0 complexity | ed506c8c1abf07f9caf7bd288ad387ee MD5 | raw file
1 Preamble to the Gnu Lesser General Public License 2 3 Copyright (c) 2000 Franz Incorporated, Berkeley, CA 94704 4 5The concept of the GNU Lesser General Public License version 2.1 6("LGPL") has been adopted to govern the use and distribution of 7above-mentioned application. However, the LGPL uses terminology that 8is more appropriate for a program written in C than one written in 9Lisp. Nevertheless, the LGPL can still be applied to a Lisp program if 10certain clarifications are made. This document details those 11clarifications. Accordingly, the license for the open-source Lisp 12applications consists of this document plus the LGPL. Wherever there 13is a conflict between this document and the LGPL, this document takes 14precedence over the LGPL. 15 16A "Library" in Lisp is a collection of Lisp functions, data and 17foreign modules. The form of the Library can be Lisp source code (for 18processing by an interpreter) or object code (usually the result of 19compilation of source code or built with some other 20mechanisms). Foreign modules are object code in a form that can be 21linked into a Lisp executable. When we speak of functions we do so in 22the most general way to include, in addition, methods and unnamed 23functions. Lisp "data" is also a general term that includes the data 24structures resulting from defining Lisp classes. A Lisp application 25may include the same set of Lisp objects as does a Library, but this 26does not mean that the application is necessarily a "work based on the 27Library" it contains. 28 29The Library consists of everything in the distribution file set before 30any modifications are made to the files. If any of the functions or 31classes in the Library are redefined in other files, then those 32redefinitions ARE considered a work based on the Library. If 33additional methods are added to generic functions in the Library, 34those additional methods are NOT considered a work based on the 35Library. If Library classes are subclassed, these subclasses are NOT 36considered a work based on the Library. If the Library is modified to 37explicitly call other functions that are neither part of Lisp itself 38nor an available add-on module to Lisp, then the functions called by 39the modified Library ARE considered a work based on the Library. The 40goal is to ensure that the Library will compile and run without 41getting undefined function errors. 42 43It is permitted to add proprietary source code to the Library, but it 44must be done in a way such that the Library will still run without 45that proprietary code present. Section 5 of the LGPL distinguishes 46between the case of a library being dynamically linked at runtime and 47one being statically linked at build time. Section 5 of the LGPL 48states that the former results in an executable that is a "work that 49uses the Library." Section 5 of the LGPL states that the latter 50results in one that is a "derivative of the Library", which is 51therefore covered by the LGPL. Since Lisp only offers one choice, 52which is to link the Library into an executable at build time, we 53declare that, for the purpose applying the LGPL to the Library, an 54executable that results from linking a "work that uses the Library" 55with the Library is considered a "work that uses the Library" and is 56therefore NOT covered by the LGPL. 57 58Because of this declaration, section 6 of LGPL is not applicable to 59the Library. However, in connection with each distribution of this 60executable, you must also deliver, in accordance with the terms and 61conditions of the LGPL, the source code of Library (or your derivative 62thereof) that is incorporated into this executable. 63 64 GNU LESSER GENERAL PUBLIC LICENSE 65 Version 3, 29 June 2007 66 67 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> 68 Everyone is permitted to copy and distribute verbatim copies 69 of this license document, but changing it is not allowed. 70 71 72 This version of the GNU Lesser General Public License incorporates 73the terms and conditions of version 3 of the GNU General Public 74License, supplemented by the additional permissions listed below. 75 76 0. Additional Definitions. 77 78 As used herein, "this License" refers to version 3 of the GNU Lesser 79General Public License, and the "GNU GPL" refers to version 3 of the GNU 80General Public License. 81 82 "The Library" refers to a covered work governed by this License, 83other than an Application or a Combined Work as defined below. 84 85 An "Application" is any work that makes use of an interface provided 86by the Library, but which is not otherwise based on the Library. 87Defining a subclass of a class defined by the Library is deemed a mode 88of using an interface provided by the Library. 89 90 A "Combined Work" is a work produced by combining or linking an 91Application with the Library. The particular version of the Library 92with which the Combined Work was made is also called the "Linked 93Version". 94 95 The "Minimal Corresponding Source" for a Combined Work means the 96Corresponding Source for the Combined Work, excluding any source code 97for portions of the Combined Work that, considered in isolation, are 98based on the Application, and not on the Linked Version. 99 100 The "Corresponding Application Code" for a Combined Work means the 101object code and/or source code for the Application, including any data 102and utility programs needed for reproducing the Combined Work from the 103Application, but excluding the System Libraries of the Combined Work. 104 105 1. Exception to Section 3 of the GNU GPL. 106 107 You may convey a covered work under sections 3 and 4 of this License 108without being bound by section 3 of the GNU GPL. 109 110 2. Conveying Modified Versions. 111 112 If you modify a copy of the Library, and, in your modifications, a 113facility refers to a function or data to be supplied by an Application 114that uses the facility (other than as an argument passed when the 115facility is invoked), then you may convey a copy of the modified 116version: 117 118 a) under this License, provided that you make a good faith effort to 119 ensure that, in the event an Application does not supply the 120 function or data, the facility still operates, and performs 121 whatever part of its purpose remains meaningful, or 122 123 b) under the GNU GPL, with none of the additional permissions of 124 this License applicable to that copy. 125 126 3. Object Code Incorporating Material from Library Header Files. 127 128 The object code form of an Application may incorporate material from 129a header file that is part of the Library. You may convey such object 130code under terms of your choice, provided that, if the incorporated 131material is not limited to numerical parameters, data structure 132layouts and accessors, or small macros, inline functions and templates 133(ten or fewer lines in length), you do both of the following: 134 135 a) Give prominent notice with each copy of the object code that the 136 Library is used in it and that the Library and its use are 137 covered by this License. 138 139 b) Accompany the object code with a copy of the GNU GPL and this license 140 document. 141 142 4. Combined Works. 143 144 You may convey a Combined Work under terms of your choice that, 145taken together, effectively do not restrict modification of the 146portions of the Library contained in the Combined Work and reverse 147engineering for debugging such modifications, if you also do each of 148the following: 149 150 a) Give prominent notice with each copy of the Combined Work that 151 the Library is used in it and that the Library and its use are 152 covered by this License. 153 154 b) Accompany the Combined Work with a copy of the GNU GPL and this license 155 document. 156 157 c) For a Combined Work that displays copyright notices during 158 execution, include the copyright notice for the Library among 159 these notices, as well as a reference directing the user to the 160 copies of the GNU GPL and this license document. 161 162 d) Do one of the following: 163 164 0) Convey the Minimal Corresponding Source under the terms of this 165 License, and the Corresponding Application Code in a form 166 suitable for, and under terms that permit, the user to 167 recombine or relink the Application with a modified version of 168 the Linked Version to produce a modified Combined Work, in the 169 manner specified by section 6 of the GNU GPL for conveying 170 Corresponding Source. 171 172 1) Use a suitable shared library mechanism for linking with the 173 Library. A suitable mechanism is one that (a) uses at run time 174 a copy of the Library already present on the user's computer 175 system, and (b) will operate properly with a modified version 176 of the Library that is interface-compatible with the Linked 177 Version. 178 179 e) Provide Installation Information, but only if you would otherwise 180 be required to provide such information under section 6 of the 181 GNU GPL, and only to the extent that such information is 182 necessary to install and execute a modified version of the 183 Combined Work produced by recombining or relinking the 184 Application with a modified version of the Linked Version. (If 185 you use option 4d0, the Installation Information must accompany 186 the Minimal Corresponding Source and Corresponding Application 187 Code. If you use option 4d1, you must provide the Installation 188 Information in the manner specified by section 6 of the GNU GPL 189 for conveying Corresponding Source.) 190 191 5. Combined Libraries. 192 193 You may place library facilities that are a work based on the 194Library side by side in a single library together with other library 195facilities that are not Applications and are not covered by this 196License, and convey such a combined library under terms of your 197choice, if you do both of the following: 198 199 a) Accompany the combined library with a copy of the same work based 200 on the Library, uncombined with any other library facilities, 201 conveyed under the terms of this License. 202 203 b) Give prominent notice with the combined library that part of it 204 is a work based on the Library, and explaining where to find the 205 accompanying uncombined form of the same work. 206 207 6. Revised Versions of the GNU Lesser General Public License. 208 209 The Free Software Foundation may publish revised and/or new versions 210of the GNU Lesser General Public License from time to time. Such new 211versions will be similar in spirit to the present version, but may 212differ in detail to address new problems or concerns. 213 214 Each version is given a distinguishing version number. If the 215Library as you received it specifies that a certain numbered version 216of the GNU Lesser General Public License "or any later version" 217applies to it, you have the option of following the terms and 218conditions either of that published version or of any later version 219published by the Free Software Foundation. If the Library as you 220received it does not specify a version number of the GNU Lesser 221General Public License, you may choose any version of the GNU Lesser 222General Public License ever published by the Free Software Foundation. 223 224 If the Library as you received it specifies that a proxy can decide 225whether future versions of the GNU Lesser General Public License shall 226apply, that proxy's public statement of acceptance of any version is 227permanent authorization for you to choose that version for the 228Library.