annotate etc/COPYING.LIB @ 1315:70921960b980

[xemacs-hg @ 2003-02-20 08:19:28 by ben] check in makefile fixes et al Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory into src/. Simplify the dependencies -- everything in src/ is dependent on the single entry `src' in MAKE_SUBDIRS. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. mule/mule-msw-init.el: Removed. Delete this file. mule/mule-win32-init.el: New file, with stuff from mule-msw-init.el -- not just for MS Windows native, boys and girls! bytecomp.el: Change code inserted to catch trying to load a Mule-only .elc file in a non-Mule XEmacs. Formerly you got the rather cryptic "The required feature `mule' cannot be provided". Now you get "Loading this file requires Mule support". finder.el: Remove dependency on which directory this function is invoked from. update-elc.el: Don't mess around with ../src/BYTECOMPILE_CHANGE. Now that Makefile.in.in and xemacs.mak are in sync, both of them use NEEDTODUMP and the other one isn't used. dumped-lisp.el: Rewrite in terms of `list' and `nconc' instead of assemble-list, so we can have arbitrary forms, not just `when-feature'. very-early-lisp.el: Nuke this file. finder-inf.el, packages.el, update-elc.el, update-elc-2.el, loadup.el, make-docfile.el: Eliminate references to very-early-lisp. msw-glyphs.el: Comment clarification. xemacs.mak: Add macros DO_TEMACS, DO_XEMACS, and a few others; this macro section is now completely in sync with src/Makefile.in.in. Copy check-features, load-shadows, and rebuilding finder-inf.el from src/Makefile.in.in. The main build/dump/recompile process is now synchronized with src/Makefile.in.in. Change `WARNING' to `NOTE' and `error checking' to `error-checking' TO avoid tripping faux warnings and errors in the VC++ IDE. Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory from top-level Makefile.in.in to here. Simplify the dependencies. Rearrange into logical subsections. Synchronize the main compile/dump/build-elcs section with xemacs.mak, which is already clean and in good working order. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS, TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so it doesn't need to ignore the return value from dumping. Add .NO_PARALLEL since various aspects of building and dumping must be serialized but do not always have dependencies between them (this is impossible in some cases). Everything related to src/ now gets built in one pass in this directory by just running `make' (except the Makefiles themselves and config.h, paths.h, Emacs.ad.h, and other generated .h files). console.c: Update list of possibly valid console types. emacs.c: Rationalize the specifying and handling of the type of the first frame. This was originally prompted by a workspace in which I got GTK to compile under C++ and in the process fixed it so it could coexist with X in the same build -- hence, a combined TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However, you can't simultaneously *display* more than one kind of device connection -- but getting that to work is not that difficult. Perhaps a project for a bored grad student. I (ben) would do it but don't see the use.) To make sense of this, I added new switches that can be used to specifically indicate the window system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka --use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka --use-gnome, same as --use-gtk]. -nw continues as an alias for -tty. When none have been given, XEmacs checks for other parameters implying particular device types (-t -> tty, -display -> x [or should it have same treatment as DISPLAY below?]), and has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or gtk? perhaps should check whether gnome is running), else MS Windows if it exsits, else TTY if it exists, else stream, and you must be running in batch mode. This also fixes an existing bug whereby compiling with no x, no mswin, no tty, when running non- interactively (e.g. to dump) I get "sorry, must have TTY support". emacs.c: Turn on Vstack_trace_on_error so that errors are debuggable even when occurring extremely early in reinitialization. emacs.c: Try to make sure that the user can see message output under Windows (i.e. it doesn't just disappear right away) regardless of when it occurs, e.g. in the middle of creating the first frame. emacs.c: Define new function `emacs-run-status', indicating whether XEmacs is noninteractive or interactive, whether raw, post-dump/pdump-load or run-temacs, whether we are dumping, whether pdump is in effect. event-stream.c: It's "mommas are fat", not "momas are fat". Fix other typo. event-stream.c: Conditionalize in_menu_callback check on HAVE_MENUBARS, because it won't exist on w/o menubar support, lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it blank only for GCC 2.5 through 2.999999999999999. Declare Vstack_trace_on_error. profile.c: Need to include "profile.h" to fix warnings. sheap.c: Don't fatal() when need to rerun Make, just stderr_out() and exit(0). That way we can distinguish between a dumping failing expectedly (due to lack of stack space, triggering another dump) and unexpectedly, in which case, we want to stop building. (or go on, if -K is given) syntax.c, syntax.h: Use ints where they belong, and enum syntaxcode's where they belong, and fix warnings thereby. syntax.h: Fix crash caused by an edge condition in the syntax-cache macros. text.h: Spacing fixes. xmotif.h: New file, to get around shadowing warnings. EmacsManager.c, event-Xt.c, glyphs-x.c, gui-x.c, input-method-motif.c, xmmanagerp.h, xmprimitivep.h: Include xmotif.h. alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC. config.h.in, file-coding.h, fileio.c, getloadavg.c, select-x.c, signal.c, sysdep.c, sysfile.h, systime.h, text.c, unicode.c: Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead. Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY. lisp.h: More futile attempts to walk and chew gum at the same time when dealing with subr's that don't return.
author ben
date Thu, 20 Feb 2003 08:19:44 +0000
parents 376386a54a3c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 GNU LIBRARY GENERAL PUBLIC LICENSE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 Version 2, June 1991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 Copyright (C) 1991 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 59 Temple Place - Suite 330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 Boston, MA 02111-1307, USA.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 Everyone is permitted to copy and distribute verbatim copies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 of this license document, but changing it is not allowed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 [This is the first released version of the library GPL. It is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 numbered 2 because it goes with version 2 of the ordinary GPL.]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 Preamble
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 The licenses for most software are designed to take away your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 freedom to share and change it. By contrast, the GNU General Public
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 Licenses are intended to guarantee your freedom to share and change
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 free software--to make sure the software is free for all its users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 This license, the Library General Public License, applies to some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 specially designated Free Software Foundation software, and to any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 other libraries whose authors decide to use it. You can use it for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 your libraries, too.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 When we speak of free software, we are referring to freedom, not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 price. Our General Public Licenses are designed to make sure that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 have the freedom to distribute copies of free software (and charge for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 this service if you wish), that you receive source code or can get it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 if you want it, that you can change the software or use pieces of it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 in new free programs; and that you know you can do these things.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 To protect your rights, we need to make restrictions that forbid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 anyone to deny you these rights or to ask you to surrender the rights.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 These restrictions translate to certain responsibilities for you if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 you distribute copies of the library, or if you modify it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 For example, if you distribute copies of the library, whether gratis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 or for a fee, you must give the recipients all the rights that we gave
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 you. You must make sure that they, too, receive or can get the source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 code. If you link a program with the library, you must provide
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 complete object files to the recipients so that they can relink them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 with the library, after making changes to the library and recompiling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 it. And you must show them these terms so they know their rights.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 Our method of protecting your rights has two steps: (1) copyright
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 the library, and (2) offer you this license which gives you legal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 permission to copy, distribute and/or modify the library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 Also, for each distributor's protection, we want to make certain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 that everyone understands that there is no warranty for this free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 library. If the library is modified by someone else and passed on, we
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 want its recipients to know that what they have is not the original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 version, so that any problems introduced by others will not reflect on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 the original authors' reputations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 Finally, any free program is threatened constantly by software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 patents. We wish to avoid the danger that companies distributing free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 software will individually obtain patent licenses, thus in effect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 transforming the program into proprietary software. To prevent this,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 we have made it clear that any patent must be licensed for everyone's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 free use or not licensed at all.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 Most GNU software, including some libraries, is covered by the ordinary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 GNU General Public License, which was designed for utility programs. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 license, the GNU Library General Public License, applies to certain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 designated libraries. This license is quite different from the ordinary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 one; be sure to read it in full, and don't assume that anything in it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 the same as in the ordinary license.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 The reason we have a separate public license for some libraries is that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 they blur the distinction we usually make between modifying or adding to a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 program and simply using it. Linking a program with a library, without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 changing the library, is in some sense simply using the library, and is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 analogous to running a utility program or application program. However, in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 a textual and legal sense, the linked executable is a combined work, a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 derivative of the original library, and the ordinary General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 treats it as such.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 Because of this blurred distinction, using the ordinary General
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 Public License for libraries did not effectively promote software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 sharing, because most developers did not use the libraries. We
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 concluded that weaker conditions might promote sharing better.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 However, unrestricted linking of non-free programs would deprive the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 users of those programs of all benefit from the free status of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 libraries themselves. This Library General Public License is intended to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 permit developers of non-free programs to use free libraries, while
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 preserving your freedom as a user of such programs to change the free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 libraries that are incorporated in them. (We have not seen how to achieve
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 this as regards changes in header files, but we have achieved it as regards
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 changes in the actual functions of the Library.) The hope is that this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 will lead to faster development of free libraries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 The precise terms and conditions for copying, distribution and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 modification follow. Pay close attention to the difference between a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 "work based on the library" and a "work that uses the library". The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 former contains code derived from the library, while the latter only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 works together with the library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 Note that it is possible for a library to be covered by the ordinary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 General Public License rather than by this special one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 GNU LIBRARY GENERAL PUBLIC LICENSE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 0. This License Agreement applies to any software library which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 contains a notice placed by the copyright holder or other authorized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 party saying it may be distributed under the terms of this Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 General Public License (also called "this License"). Each licensee is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 addressed as "you".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 A "library" means a collection of software functions and/or data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 prepared so as to be conveniently linked with application programs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 (which use some of those functions and data) to form executables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 The "Library", below, refers to any such software library or work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 which has been distributed under these terms. A "work based on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 Library" means either the Library or any derivative work under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 copyright law: that is to say, a work containing the Library or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 portion of it, either verbatim or with modifications and/or translated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 straightforwardly into another language. (Hereinafter, translation is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 included without limitation in the term "modification".)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 "Source code" for a work means the preferred form of the work for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 making modifications to it. For a library, complete source code means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 all the source code for all modules it contains, plus any associated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 interface definition files, plus the scripts used to control compilation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 and installation of the library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 Activities other than copying, distribution and modification are not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 covered by this License; they are outside its scope. The act of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 running a program using the Library is not restricted, and output from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 such a program is covered only if its contents constitute a work based
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 on the Library (independent of the use of the Library in a tool for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 writing it). Whether that is true depends on what the Library does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 and what the program that uses the Library does.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 1. You may copy and distribute verbatim copies of the Library's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 complete source code as you receive it, in any medium, provided that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 you conspicuously and appropriately publish on each copy an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 appropriate copyright notice and disclaimer of warranty; keep intact
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 all the notices that refer to this License and to the absence of any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 warranty; and distribute a copy of this License along with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 Library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 You may charge a fee for the physical act of transferring a copy,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 and you may at your option offer warranty protection in exchange for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 fee.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 2. You may modify your copy or copies of the Library or any portion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 of it, thus forming a work based on the Library, and copy and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 distribute such modifications or work under the terms of Section 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 above, provided that you also meet all of these conditions:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 a) The modified work must itself be a software library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 b) You must cause the files modified to carry prominent notices
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 stating that you changed the files and the date of any change.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 c) You must cause the whole of the work to be licensed at no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 charge to all third parties under the terms of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 d) If a facility in the modified Library refers to a function or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 table of data to be supplied by an application program that uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 the facility, other than as an argument passed when the facility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 is invoked, then you must make a good faith effort to ensure that,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 in the event an application does not supply such function or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 table, the facility still operates, and performs whatever part of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 its purpose remains meaningful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 (For example, a function in a library to compute square roots has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 a purpose that is entirely well-defined independent of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 application. Therefore, Subsection 2d requires that any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 application-supplied function or table used by this function must
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 be optional: if the application does not supply it, the square
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 root function must still compute square roots.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 These requirements apply to the modified work as a whole. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 identifiable sections of that work are not derived from the Library,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 and can be reasonably considered independent and separate works in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 themselves, then this License, and its terms, do not apply to those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 sections when you distribute them as separate works. But when you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 distribute the same sections as part of a whole which is a work based
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 on the Library, the distribution of the whole must be on the terms of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 this License, whose permissions for other licensees extend to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 entire whole, and thus to each and every part regardless of who wrote
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 Thus, it is not the intent of this section to claim rights or contest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 your rights to work written entirely by you; rather, the intent is to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 exercise the right to control the distribution of derivative or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 collective works based on the Library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 In addition, mere aggregation of another work not based on the Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 with the Library (or with a work based on the Library) on a volume of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 a storage or distribution medium does not bring the other work under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197 the scope of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 3. You may opt to apply the terms of the ordinary GNU General Public
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 License instead of this License to a given copy of the Library. To do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 this, you must alter all the notices that refer to this License, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 that they refer to the ordinary GNU General Public License, version 2,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 instead of to this License. (If a newer version than version 2 of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 ordinary GNU General Public License has appeared, then you can specify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 that version instead if you wish.) Do not make any other change in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 these notices.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 Once this change is made in a given copy, it is irreversible for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 that copy, so the ordinary GNU General Public License applies to all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 subsequent copies and derivative works made from that copy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 This option is useful when you wish to copy part of the code of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 the Library into a program that is not a library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 4. You may copy and distribute the Library (or a portion or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 derivative of it, under Section 2) in object code or executable form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 under the terms of Sections 1 and 2 above provided that you accompany
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 it with the complete corresponding machine-readable source code, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 must be distributed under the terms of Sections 1 and 2 above on a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 medium customarily used for software interchange.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 If distribution of object code is made by offering access to copy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 from a designated place, then offering equivalent access to copy the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 source code from the same place satisfies the requirement to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 distribute the source code, even though third parties are not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 compelled to copy the source along with the object code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 5. A program that contains no derivative of any portion of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 Library, but is designed to work with the Library by being compiled or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 linked with it, is called a "work that uses the Library". Such a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 work, in isolation, is not a derivative work of the Library, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 therefore falls outside the scope of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 However, linking a "work that uses the Library" with the Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 creates an executable that is a derivative of the Library (because it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 contains portions of the Library), rather than a "work that uses the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 library". The executable is therefore covered by this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 Section 6 states terms for distribution of such executables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 When a "work that uses the Library" uses material from a header file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 that is part of the Library, the object code for the work may be a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 derivative work of the Library even though the source code is not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 Whether this is true is especially significant if the work can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 linked without the Library, or if the work is itself a library. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 threshold for this to be true is not precisely defined by law.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 If such an object file uses only numerical parameters, data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 structure layouts and accessors, and small macros and small inline
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 functions (ten lines or less in length), then the use of the object
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 file is unrestricted, regardless of whether it is legally a derivative
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 work. (Executables containing this object code plus portions of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 Library will still fall under Section 6.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 Otherwise, if the work is a derivative of the Library, you may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 distribute the object code for the work under the terms of Section 6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 Any executables containing that work also fall under Section 6,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 whether or not they are linked directly with the Library itself.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 6. As an exception to the Sections above, you may also compile or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 link a "work that uses the Library" with the Library to produce a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 work containing portions of the Library, and distribute that work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 under terms of your choice, provided that the terms permit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 modification of the work for the customer's own use and reverse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 engineering for debugging such modifications.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 You must give prominent notice with each copy of the work that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 Library is used in it and that the Library and its use are covered by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 this License. You must supply a copy of this License. If the work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 during execution displays copyright notices, you must include the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 copyright notice for the Library among them, as well as a reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 directing the user to the copy of this License. Also, you must do one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 of these things:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 a) Accompany the work with the complete corresponding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 machine-readable source code for the Library including whatever
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 changes were used in the work (which must be distributed under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 Sections 1 and 2 above); and, if the work is an executable linked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 with the Library, with the complete machine-readable "work that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 uses the Library", as object code and/or source code, so that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 user can modify the Library and then relink to produce a modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 executable containing the modified Library. (It is understood
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 that the user who changes the contents of definitions files in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 Library will not necessarily be able to recompile the application
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 to use the modified definitions.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 b) Accompany the work with a written offer, valid for at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 least three years, to give the same user the materials
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 specified in Subsection 6a, above, for a charge no more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 than the cost of performing this distribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 c) If distribution of the work is made by offering access to copy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 from a designated place, offer equivalent access to copy the above
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 specified materials from the same place.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 d) Verify that the user has already received a copy of these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 materials or that you have already sent this user a copy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 For an executable, the required form of the "work that uses the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 Library" must include any data and utility programs needed for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 reproducing the executable from it. However, as a special exception,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 the source code distributed need not include anything that is normally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 distributed (in either source or binary form) with the major
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 components (compiler, kernel, and so on) of the operating system on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 which the executable runs, unless that component itself accompanies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 the executable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 It may happen that this requirement contradicts the license
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 restrictions of other proprietary libraries that do not normally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 accompany the operating system. Such a contradiction means you cannot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 use both them and the Library together in an executable that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 distribute.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 7. You may place library facilities that are a work based on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 Library side-by-side in a single library together with other library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 facilities not covered by this License, and distribute such a combined
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 library, provided that the separate distribution of the work based on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 the Library and of the other library facilities is otherwise
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 permitted, and provided that you do these two things:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 a) Accompany the combined library with a copy of the same work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 based on the Library, uncombined with any other library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 facilities. This must be distributed under the terms of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 Sections above.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 b) Give prominent notice with the combined library of the fact
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 that part of it is a work based on the Library, and explaining
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 where to find the accompanying uncombined form of the same work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 8. You may not copy, modify, sublicense, link with, or distribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 the Library except as expressly provided under this License. Any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 attempt otherwise to copy, modify, sublicense, link with, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 distribute the Library is void, and will automatically terminate your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 rights under this License. However, parties who have received copies,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 or rights, from you under this License will not have their licenses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 terminated so long as such parties remain in full compliance.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 9. You are not required to accept this License, since you have not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 signed it. However, nothing else grants you permission to modify or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 distribute the Library or its derivative works. These actions are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 prohibited by law if you do not accept this License. Therefore, by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 modifying or distributing the Library (or any work based on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342 Library), you indicate your acceptance of this License to do so, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 all its terms and conditions for copying, distributing or modifying
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 the Library or works based on it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 10. Each time you redistribute the Library (or any work based on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 Library), the recipient automatically receives a license from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 original licensor to copy, distribute, link with or modify the Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349 subject to these terms and conditions. You may not impose any further
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 restrictions on the recipients' exercise of the rights granted herein.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 You are not responsible for enforcing compliance by third parties to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 11. If, as a consequence of a court judgment or allegation of patent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 infringement or for any other reason (not limited to patent issues),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 conditions are imposed on you (whether by court order, agreement or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 otherwise) that contradict the conditions of this License, they do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 excuse you from the conditions of this License. If you cannot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 distribute so as to satisfy simultaneously your obligations under this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 License and any other pertinent obligations, then as a consequence you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 may not distribute the Library at all. For example, if a patent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 license would not permit royalty-free redistribution of the Library by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 all those who receive copies directly or indirectly through you, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 the only way you could satisfy both it and this License would be to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 refrain entirely from distribution of the Library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 If any portion of this section is held invalid or unenforceable under any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 particular circumstance, the balance of the section is intended to apply,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 and the section as a whole is intended to apply in other circumstances.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 It is not the purpose of this section to induce you to infringe any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 patents or other property right claims or to contest validity of any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 such claims; this section has the sole purpose of protecting the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 integrity of the free software distribution system which is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 implemented by public license practices. Many people have made
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 generous contributions to the wide range of software distributed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377 through that system in reliance on consistent application of that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 system; it is up to the author/donor to decide if he or she is willing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 to distribute software through any other system and a licensee cannot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 impose that choice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 This section is intended to make thoroughly clear what is believed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 be a consequence of the rest of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 12. If the distribution and/or use of the Library is restricted in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 certain countries either by patents or by copyrighted interfaces, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 original copyright holder who places the Library under this License may add
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 an explicit geographical distribution limitation excluding those countries,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 so that distribution is permitted only in or among countries not thus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 excluded. In such case, this License incorporates the limitation as if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 written in the body of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 13. The Free Software Foundation may publish revised and/or new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 versions of the Library General Public License from time to time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 Such new versions will be similar in spirit to the present version,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 but may differ in detail to address new problems or concerns.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 Each version is given a distinguishing version number. If the Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 specifies a version number of this License which applies to it and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 "any later version", you have the option of following the terms and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 conditions either of that version or of any later version published by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 the Free Software Foundation. If the Library does not specify a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 license version number, you may choose any version ever published by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 the Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 14. If you wish to incorporate parts of the Library into other free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 programs whose distribution conditions are incompatible with these,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 write to the author to ask for permission. For software which is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 copyrighted by the Free Software Foundation, write to the Free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 Software Foundation; we sometimes make exceptions for this. Our
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 decision will be guided by the two goals of preserving the free status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 of all derivatives of our free software and of promoting the sharing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 and reuse of software generally.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 NO WARRANTY
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 DAMAGES.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 END OF TERMS AND CONDITIONS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440 Appendix: How to Apply These Terms to Your New Libraries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 If you develop a new library, and you want it to be of the greatest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 possible use to the public, we recommend making it free software that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 everyone can redistribute and change. You can do so by permitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 redistribution under these terms (or, alternatively, under the terms of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 ordinary General Public License).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 To apply these terms, attach the following notices to the library. It is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 safest to attach them to the start of each source file to most effectively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 convey the exclusion of warranty; and each file should have at least the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 "copyright" line and a pointer to where the full notice is found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 <one line to give the library's name and a brief idea of what it does.>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454 Copyright (C) <year> <name of author>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 This library is free software; you can redistribute it and/or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 modify it under the terms of the GNU Library General Public
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 License as published by the Free Software Foundation; either
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 version 2 of the License, or (at your option) any later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 This library is distributed in the hope that it will be useful,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 but WITHOUT ANY WARRANTY; without even the implied warranty of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464 Library General Public License for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 You should have received a copy of the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 along with this library; see the file COPYING. If not, write to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 Boston, MA 02111-1307, USA.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 Also add information on how to contact you by electronic and paper mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 You should also get your employer (if you work as a programmer) or your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 school, if any, to sign a "copyright disclaimer" for the library, if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 necessary. Here is a sample; alter the names:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 Yoyodyne, Inc., hereby disclaims all copyright interest in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 library `Frob' (a library for tweaking knobs) written by James Random Hacker.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 <signature of Ty Coon>, 1 April 1990
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 Ty Coon, President of Vice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 That's all there is to it!