annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/info/autosprintf.info @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
rev   line source
jpayne@68 1 This is autosprintf.info, produced by makeinfo version 6.8 from
jpayne@68 2 autosprintf.texi.
jpayne@68 3
jpayne@68 4 Copyright (C) 2002-2003, 2006-2007, 2018-2019 Free Software
jpayne@68 5 Foundation, Inc.
jpayne@68 6
jpayne@68 7 This manual is free documentation. It is dually licensed under the
jpayne@68 8 GNU FDL and the GNU GPL. This means that you can redistribute this
jpayne@68 9 manual under either of these two licenses, at your choice.
jpayne@68 10
jpayne@68 11 This manual is covered by the GNU FDL. Permission is granted to copy,
jpayne@68 12 distribute and/or modify this document under the terms of the GNU Free
jpayne@68 13 Documentation License (FDL), either version 1.2 of the License, or (at
jpayne@68 14 your option) any later version published by the Free Software Foundation
jpayne@68 15 (FSF); with no Invariant Sections, with no Front-Cover Text, and with no
jpayne@68 16 Back-Cover Texts. A copy of the license is at
jpayne@68 17 <https://www.gnu.org/licenses/fdl.html>.
jpayne@68 18
jpayne@68 19 This manual is covered by the GNU GPL. You can redistribute it and/or
jpayne@68 20 modify it under the terms of the GNU General Public License (GPL),
jpayne@68 21 either version 2 of the License, or (at your option) any later version
jpayne@68 22 published by the Free Software Foundation (FSF). A copy of the license
jpayne@68 23 is at <https://www.gnu.org/licenses/gpl.html>.
jpayne@68 24 INFO-DIR-SECTION C++ libraries
jpayne@68 25 START-INFO-DIR-ENTRY
jpayne@68 26 * autosprintf: (autosprintf). Support for printf format strings in C++.
jpayne@68 27 END-INFO-DIR-ENTRY
jpayne@68 28
jpayne@68 29 This file provides documentation for GNU 'autosprintf' library.
jpayne@68 30
jpayne@68 31 
jpayne@68 32 File: autosprintf.info, Node: Top, Next: Introduction, Up: (dir)
jpayne@68 33
jpayne@68 34 GNU autosprintf
jpayne@68 35 ***************
jpayne@68 36
jpayne@68 37 This manual documents the GNU autosprintf class, version 1.0.
jpayne@68 38
jpayne@68 39 * Menu:
jpayne@68 40
jpayne@68 41 * Introduction:: Introduction
jpayne@68 42 * Class autosprintf:: The 'autosprintf' class
jpayne@68 43 * Using autosprintf:: Using 'autosprintf' in own programs
jpayne@68 44 * Licenses::
jpayne@68 45
jpayne@68 46 
jpayne@68 47 File: autosprintf.info, Node: Introduction, Next: Class autosprintf, Prev: Top, Up: Top
jpayne@68 48
jpayne@68 49 1 Introduction
jpayne@68 50 **************
jpayne@68 51
jpayne@68 52 This package makes the C formatted output routines ('fprintf' et al.)
jpayne@68 53 usable in C++ programs, for use with the '<string>' strings and the
jpayne@68 54 '<iostream>' streams.
jpayne@68 55
jpayne@68 56 It allows to write code like
jpayne@68 57
jpayne@68 58 cerr << autosprintf ("syntax error in %s:%d: %s", filename, line, errstring);
jpayne@68 59
jpayne@68 60 instead of
jpayne@68 61
jpayne@68 62 cerr << "syntax error in " << filename << ":" << line << ": " << errstring;
jpayne@68 63
jpayne@68 64 The benefits of the autosprintf syntax are:
jpayne@68 65
jpayne@68 66 * It reuses the standard POSIX printf facility. Easy migration from
jpayne@68 67 C to C++.
jpayne@68 68
jpayne@68 69 * English sentences are kept together.
jpayne@68 70
jpayne@68 71 * It makes internationalization possible. Internationalization
jpayne@68 72 requires format strings, because in some cases the translator needs
jpayne@68 73 to change the order of a sentence, and more generally it is easier
jpayne@68 74 for the translator to work with a single string for a sentence than
jpayne@68 75 with multiple string pieces.
jpayne@68 76
jpayne@68 77 * It reduces the risk of programming errors due to forgotten state in
jpayne@68 78 the output stream (e.g. 'cout << hex;' not followed by 'cout <<
jpayne@68 79 dec;').
jpayne@68 80
jpayne@68 81 
jpayne@68 82 File: autosprintf.info, Node: Class autosprintf, Next: Using autosprintf, Prev: Introduction, Up: Top
jpayne@68 83
jpayne@68 84 2 The 'autosprintf' class
jpayne@68 85 *************************
jpayne@68 86
jpayne@68 87 An instance of class 'autosprintf' just contains a string with the
jpayne@68 88 formatted output result. Such an instance is usually allocated as an
jpayne@68 89 automatic storage variable, i.e. on the stack, not with 'new' on the
jpayne@68 90 heap.
jpayne@68 91
jpayne@68 92 The constructor 'autosprintf (const char *format, ...)' takes a
jpayne@68 93 format string and additional arguments, like the C function 'printf'.
jpayne@68 94
jpayne@68 95 Conversions to 'char *' and 'std::string' are defined that return the
jpayne@68 96 encapsulated string. The conversion to 'char *' returns a freshly
jpayne@68 97 allocated copy of the encapsulated string; it needs to be freed using
jpayne@68 98 'delete[]'. The conversion to 'std::string' returns a copy of the
jpayne@68 99 encapsulated string, with automatic memory management.
jpayne@68 100
jpayne@68 101 The destructor '~autosprintf ()' destroys the encapsulated string.
jpayne@68 102
jpayne@68 103 An 'operator <<' is provided that outputs the encapsulated string to
jpayne@68 104 the given 'ostream'.
jpayne@68 105
jpayne@68 106 
jpayne@68 107 File: autosprintf.info, Node: Using autosprintf, Next: Licenses, Prev: Class autosprintf, Up: Top
jpayne@68 108
jpayne@68 109 3 Using 'autosprintf' in own programs
jpayne@68 110 *************************************
jpayne@68 111
jpayne@68 112 To use the 'autosprintf' class in your programs, you need to add
jpayne@68 113
jpayne@68 114 #include "autosprintf.h"
jpayne@68 115 using gnu::autosprintf;
jpayne@68 116
jpayne@68 117 to your source code. The include file defines the class 'autosprintf',
jpayne@68 118 in a namespace called 'gnu'. The 'using' statement makes it possible to
jpayne@68 119 use the class without the (otherwise natural) 'gnu::' prefix.
jpayne@68 120
jpayne@68 121 When linking your program, you need to link with 'libasprintf',
jpayne@68 122 because that's where the class is defined. In projects using GNU
jpayne@68 123 'autoconf', this means adding 'AC_LIB_LINKFLAGS([asprintf])' to
jpayne@68 124 'configure.in' or 'configure.ac', and using the @LIBASPRINTF@ Makefile
jpayne@68 125 variable that it provides.
jpayne@68 126
jpayne@68 127 
jpayne@68 128 File: autosprintf.info, Node: Licenses, Prev: Using autosprintf, Up: Top
jpayne@68 129
jpayne@68 130 Appendix A Licenses
jpayne@68 131 *******************
jpayne@68 132
jpayne@68 133 The files of this package are covered by the licenses indicated in
jpayne@68 134 each particular file or directory. Here is a summary:
jpayne@68 135
jpayne@68 136 * The 'libasprintf' library is covered by the GNU Lesser General
jpayne@68 137 Public License (LGPL), either version 2.1 of the License, or (at
jpayne@68 138 your option) any later version published by the Free Software
jpayne@68 139 Foundation (FSF). A copy of the license is included in *note GNU
jpayne@68 140 LGPL::.
jpayne@68 141
jpayne@68 142 * This manual is free documentation. It is dually licensed under the
jpayne@68 143 GNU FDL and the GNU GPL. This means that you can redistribute this
jpayne@68 144 manual under either of these two licenses, at your choice.
jpayne@68 145 This manual is covered by the GNU FDL. Permission is granted to
jpayne@68 146 copy, distribute and/or modify this document under the terms of the
jpayne@68 147 GNU Free Documentation License (FDL), either version 1.2 of the
jpayne@68 148 License, or (at your option) any later version published by the
jpayne@68 149 Free Software Foundation (FSF); with no Invariant Sections, with no
jpayne@68 150 Front-Cover Text, and with no Back-Cover Texts. A copy of the
jpayne@68 151 license is included in *note GNU FDL::.
jpayne@68 152 This manual is covered by the GNU GPL. You can redistribute it
jpayne@68 153 and/or modify it under the terms of the GNU General Public License
jpayne@68 154 (GPL), either version 2 of the License, or (at your option) any
jpayne@68 155 later version published by the Free Software Foundation (FSF). A
jpayne@68 156 copy of the license is included in *note GNU GPL::.
jpayne@68 157
jpayne@68 158 * Menu:
jpayne@68 159
jpayne@68 160 * GNU LGPL:: GNU Lesser General Public License
jpayne@68 161 * GNU GPL:: GNU General Public License
jpayne@68 162 * GNU FDL:: GNU Free Documentation License
jpayne@68 163
jpayne@68 164 
jpayne@68 165 File: autosprintf.info, Node: GNU LGPL, Next: GNU GPL, Up: Licenses
jpayne@68 166
jpayne@68 167 A.1 GNU LESSER GENERAL PUBLIC LICENSE
jpayne@68 168 =====================================
jpayne@68 169
jpayne@68 170 Version 2.1, February 1999
jpayne@68 171
jpayne@68 172 Copyright (C) 1991, 1999 Free Software Foundation, Inc.
jpayne@68 173 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
jpayne@68 174
jpayne@68 175 Everyone is permitted to copy and distribute verbatim copies
jpayne@68 176 of this license document, but changing it is not allowed.
jpayne@68 177
jpayne@68 178 [This is the first released version of the Lesser GPL. It also counts
jpayne@68 179 as the successor of the GNU Library Public License, version 2, hence the
jpayne@68 180 version number 2.1.]
jpayne@68 181
jpayne@68 182 Preamble
jpayne@68 183 --------
jpayne@68 184
jpayne@68 185 The licenses for most software are designed to take away your freedom
jpayne@68 186 to share and change it. By contrast, the GNU General Public Licenses
jpayne@68 187 are intended to guarantee your freedom to share and change free
jpayne@68 188 software--to make sure the software is free for all its users.
jpayne@68 189
jpayne@68 190 This license, the Lesser General Public License, applies to some
jpayne@68 191 specially designated software--typically libraries--of the Free Software
jpayne@68 192 Foundation and other authors who decide to use it. You can use it too,
jpayne@68 193 but we suggest you first think carefully about whether this license or
jpayne@68 194 the ordinary General Public License is the better strategy to use in any
jpayne@68 195 particular case, based on the explanations below.
jpayne@68 196
jpayne@68 197 When we speak of free software, we are referring to freedom of use,
jpayne@68 198 not price. Our General Public Licenses are designed to make sure that
jpayne@68 199 you have the freedom to distribute copies of free software (and charge
jpayne@68 200 for this service if you wish); that you receive source code or can get
jpayne@68 201 it if you want it; that you can change the software and use pieces of it
jpayne@68 202 in new free programs; and that you are informed that you can do these
jpayne@68 203 things.
jpayne@68 204
jpayne@68 205 To protect your rights, we need to make restrictions that forbid
jpayne@68 206 distributors to deny you these rights or to ask you to surrender these
jpayne@68 207 rights. These restrictions translate to certain responsibilities for
jpayne@68 208 you if you distribute copies of the library or if you modify it.
jpayne@68 209
jpayne@68 210 For example, if you distribute copies of the library, whether gratis
jpayne@68 211 or for a fee, you must give the recipients all the rights that we gave
jpayne@68 212 you. You must make sure that they, too, receive or can get the source
jpayne@68 213 code. If you link other code with the library, you must provide
jpayne@68 214 complete object files to the recipients, so that they can relink them
jpayne@68 215 with the library after making changes to the library and recompiling it.
jpayne@68 216 And you must show them these terms so they know their rights.
jpayne@68 217
jpayne@68 218 We protect your rights with a two-step method: (1) we copyright the
jpayne@68 219 library, and (2) we offer you this license, which gives you legal
jpayne@68 220 permission to copy, distribute and/or modify the library.
jpayne@68 221
jpayne@68 222 To protect each distributor, we want to make it very clear that there
jpayne@68 223 is no warranty for the free library. Also, if the library is modified
jpayne@68 224 by someone else and passed on, the recipients should know that what they
jpayne@68 225 have is not the original version, so that the original author's
jpayne@68 226 reputation will not be affected by problems that might be introduced by
jpayne@68 227 others.
jpayne@68 228
jpayne@68 229 Finally, software patents pose a constant threat to the existence of
jpayne@68 230 any free program. We wish to make sure that a company cannot
jpayne@68 231 effectively restrict the users of a free program by obtaining a
jpayne@68 232 restrictive license from a patent holder. Therefore, we insist that any
jpayne@68 233 patent license obtained for a version of the library must be consistent
jpayne@68 234 with the full freedom of use specified in this license.
jpayne@68 235
jpayne@68 236 Most GNU software, including some libraries, is covered by the
jpayne@68 237 ordinary GNU General Public License. This license, the GNU Lesser
jpayne@68 238 General Public License, applies to certain designated libraries, and is
jpayne@68 239 quite different from the ordinary General Public License. We use this
jpayne@68 240 license for certain libraries in order to permit linking those libraries
jpayne@68 241 into non-free programs.
jpayne@68 242
jpayne@68 243 When a program is linked with a library, whether statically or using
jpayne@68 244 a shared library, the combination of the two is legally speaking a
jpayne@68 245 combined work, a derivative of the original library. The ordinary
jpayne@68 246 General Public License therefore permits such linking only if the entire
jpayne@68 247 combination fits its criteria of freedom. The Lesser General Public
jpayne@68 248 License permits more lax criteria for linking other code with the
jpayne@68 249 library.
jpayne@68 250
jpayne@68 251 We call this license the "Lesser" General Public License because it
jpayne@68 252 does _Less_ to protect the user's freedom than the ordinary General
jpayne@68 253 Public License. It also provides other free software developers Less of
jpayne@68 254 an advantage over competing non-free programs. These disadvantages are
jpayne@68 255 the reason we use the ordinary General Public License for many
jpayne@68 256 libraries. However, the Lesser license provides advantages in certain
jpayne@68 257 special circumstances.
jpayne@68 258
jpayne@68 259 For example, on rare occasions, there may be a special need to
jpayne@68 260 encourage the widest possible use of a certain library, so that it
jpayne@68 261 becomes a de-facto standard. To achieve this, non-free programs must be
jpayne@68 262 allowed to use the library. A more frequent case is that a free library
jpayne@68 263 does the same job as widely used non-free libraries. In this case,
jpayne@68 264 there is little to gain by limiting the free library to free software
jpayne@68 265 only, so we use the Lesser General Public License.
jpayne@68 266
jpayne@68 267 In other cases, permission to use a particular library in non-free
jpayne@68 268 programs enables a greater number of people to use a large body of free
jpayne@68 269 software. For example, permission to use the GNU C Library in non-free
jpayne@68 270 programs enables many more people to use the whole GNU operating system,
jpayne@68 271 as well as its variant, the GNU/Linux operating system.
jpayne@68 272
jpayne@68 273 Although the Lesser General Public License is Less protective of the
jpayne@68 274 users' freedom, it does ensure that the user of a program that is linked
jpayne@68 275 with the Library has the freedom and the wherewithal to run that program
jpayne@68 276 using a modified version of the Library.
jpayne@68 277
jpayne@68 278 The precise terms and conditions for copying, distribution and
jpayne@68 279 modification follow. Pay close attention to the difference between a
jpayne@68 280 "work based on the library" and a "work that uses the library". The
jpayne@68 281 former contains code derived from the library, whereas the latter must
jpayne@68 282 be combined with the library in order to run.
jpayne@68 283
jpayne@68 284 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
jpayne@68 285 ---------------------------------------------------------------
jpayne@68 286
jpayne@68 287 0. This License Agreement applies to any software library or other
jpayne@68 288 program which contains a notice placed by the copyright holder or
jpayne@68 289 other authorized party saying it may be distributed under the terms
jpayne@68 290 of this Lesser General Public License (also called "this License").
jpayne@68 291 Each licensee is addressed as "you".
jpayne@68 292
jpayne@68 293 A "library" means a collection of software functions and/or data
jpayne@68 294 prepared so as to be conveniently linked with application programs
jpayne@68 295 (which use some of those functions and data) to form executables.
jpayne@68 296
jpayne@68 297 The "Library", below, refers to any such software library or work
jpayne@68 298 which has been distributed under these terms. A "work based on the
jpayne@68 299 Library" means either the Library or any derivative work under
jpayne@68 300 copyright law: that is to say, a work containing the Library or a
jpayne@68 301 portion of it, either verbatim or with modifications and/or
jpayne@68 302 translated straightforwardly into another language. (Hereinafter,
jpayne@68 303 translation is included without limitation in the term
jpayne@68 304 "modification".)
jpayne@68 305
jpayne@68 306 "Source code" for a work means the preferred form of the work for
jpayne@68 307 making modifications to it. For a library, complete source code
jpayne@68 308 means all the source code for all modules it contains, plus any
jpayne@68 309 associated interface definition files, plus the scripts used to
jpayne@68 310 control compilation and installation of the library.
jpayne@68 311
jpayne@68 312 Activities other than copying, distribution and modification are
jpayne@68 313 not covered by this License; they are outside its scope. The act
jpayne@68 314 of running a program using the Library is not restricted, and
jpayne@68 315 output from such a program is covered only if its contents
jpayne@68 316 constitute a work based on the Library (independent of the use of
jpayne@68 317 the Library in a tool for writing it). Whether that is true
jpayne@68 318 depends on what the Library does and what the program that uses the
jpayne@68 319 Library does.
jpayne@68 320
jpayne@68 321 1. You may copy and distribute verbatim copies of the Library's
jpayne@68 322 complete source code as you receive it, in any medium, provided
jpayne@68 323 that you conspicuously and appropriately publish on each copy an
jpayne@68 324 appropriate copyright notice and disclaimer of warranty; keep
jpayne@68 325 intact all the notices that refer to this License and to the
jpayne@68 326 absence of any warranty; and distribute a copy of this License
jpayne@68 327 along with the Library.
jpayne@68 328
jpayne@68 329 You may charge a fee for the physical act of transferring a copy,
jpayne@68 330 and you may at your option offer warranty protection in exchange
jpayne@68 331 for a fee.
jpayne@68 332
jpayne@68 333 2. You may modify your copy or copies of the Library or any portion of
jpayne@68 334 it, thus forming a work based on the Library, and copy and
jpayne@68 335 distribute such modifications or work under the terms of Section 1
jpayne@68 336 above, provided that you also meet all of these conditions:
jpayne@68 337
jpayne@68 338 a. The modified work must itself be a software library.
jpayne@68 339
jpayne@68 340 b. You must cause the files modified to carry prominent notices
jpayne@68 341 stating that you changed the files and the date of any change.
jpayne@68 342
jpayne@68 343 c. You must cause the whole of the work to be licensed at no
jpayne@68 344 charge to all third parties under the terms of this License.
jpayne@68 345
jpayne@68 346 d. If a facility in the modified Library refers to a function or
jpayne@68 347 a table of data to be supplied by an application program that
jpayne@68 348 uses the facility, other than as an argument passed when the
jpayne@68 349 facility is invoked, then you must make a good faith effort to
jpayne@68 350 ensure that, in the event an application does not supply such
jpayne@68 351 function or table, the facility still operates, and performs
jpayne@68 352 whatever part of its purpose remains meaningful.
jpayne@68 353
jpayne@68 354 (For example, a function in a library to compute square roots
jpayne@68 355 has a purpose that is entirely well-defined independent of the
jpayne@68 356 application. Therefore, Subsection 2d requires that any
jpayne@68 357 application-supplied function or table used by this function
jpayne@68 358 must be optional: if the application does not supply it, the
jpayne@68 359 square root function must still compute square roots.)
jpayne@68 360
jpayne@68 361 These requirements apply to the modified work as a whole. If
jpayne@68 362 identifiable sections of that work are not derived from the
jpayne@68 363 Library, and can be reasonably considered independent and separate
jpayne@68 364 works in themselves, then this License, and its terms, do not apply
jpayne@68 365 to those sections when you distribute them as separate works. But
jpayne@68 366 when you distribute the same sections as part of a whole which is a
jpayne@68 367 work based on the Library, the distribution of the whole must be on
jpayne@68 368 the terms of this License, whose permissions for other licensees
jpayne@68 369 extend to the entire whole, and thus to each and every part
jpayne@68 370 regardless of who wrote it.
jpayne@68 371
jpayne@68 372 Thus, it is not the intent of this section to claim rights or
jpayne@68 373 contest your rights to work written entirely by you; rather, the
jpayne@68 374 intent is to exercise the right to control the distribution of
jpayne@68 375 derivative or collective works based on the Library.
jpayne@68 376
jpayne@68 377 In addition, mere aggregation of another work not based on the
jpayne@68 378 Library with the Library (or with a work based on the Library) on a
jpayne@68 379 volume of a storage or distribution medium does not bring the other
jpayne@68 380 work under the scope of this License.
jpayne@68 381
jpayne@68 382 3. You may opt to apply the terms of the ordinary GNU General Public
jpayne@68 383 License instead of this License to a given copy of the Library. To
jpayne@68 384 do this, you must alter all the notices that refer to this License,
jpayne@68 385 so that they refer to the ordinary GNU General Public License,
jpayne@68 386 version 2, instead of to this License. (If a newer version than
jpayne@68 387 version 2 of the ordinary GNU General Public License has appeared,
jpayne@68 388 then you can specify that version instead if you wish.) Do not
jpayne@68 389 make any other change in these notices.
jpayne@68 390
jpayne@68 391 Once this change is made in a given copy, it is irreversible for
jpayne@68 392 that copy, so the ordinary GNU General Public License applies to
jpayne@68 393 all subsequent copies and derivative works made from that copy.
jpayne@68 394
jpayne@68 395 This option is useful when you wish to copy part of the code of the
jpayne@68 396 Library into a program that is not a library.
jpayne@68 397
jpayne@68 398 4. You may copy and distribute the Library (or a portion or derivative
jpayne@68 399 of it, under Section 2) in object code or executable form under the
jpayne@68 400 terms of Sections 1 and 2 above provided that you accompany it with
jpayne@68 401 the complete corresponding machine-readable source code, which must
jpayne@68 402 be distributed under the terms of Sections 1 and 2 above on a
jpayne@68 403 medium customarily used for software interchange.
jpayne@68 404
jpayne@68 405 If distribution of object code is made by offering access to copy
jpayne@68 406 from a designated place, then offering equivalent access to copy
jpayne@68 407 the source code from the same place satisfies the requirement to
jpayne@68 408 distribute the source code, even though third parties are not
jpayne@68 409 compelled to copy the source along with the object code.
jpayne@68 410
jpayne@68 411 5. A program that contains no derivative of any portion of the
jpayne@68 412 Library, but is designed to work with the Library by being compiled
jpayne@68 413 or linked with it, is called a "work that uses the Library". Such
jpayne@68 414 a work, in isolation, is not a derivative work of the Library, and
jpayne@68 415 therefore falls outside the scope of this License.
jpayne@68 416
jpayne@68 417 However, linking a "work that uses the Library" with the Library
jpayne@68 418 creates an executable that is a derivative of the Library (because
jpayne@68 419 it contains portions of the Library), rather than a "work that uses
jpayne@68 420 the library". The executable is therefore covered by this License.
jpayne@68 421 Section 6 states terms for distribution of such executables.
jpayne@68 422
jpayne@68 423 When a "work that uses the Library" uses material from a header
jpayne@68 424 file that is part of the Library, the object code for the work may
jpayne@68 425 be a derivative work of the Library even though the source code is
jpayne@68 426 not. Whether this is true is especially significant if the work
jpayne@68 427 can be linked without the Library, or if the work is itself a
jpayne@68 428 library. The threshold for this to be true is not precisely
jpayne@68 429 defined by law.
jpayne@68 430
jpayne@68 431 If such an object file uses only numerical parameters, data
jpayne@68 432 structure layouts and accessors, and small macros and small inline
jpayne@68 433 functions (ten lines or less in length), then the use of the object
jpayne@68 434 file is unrestricted, regardless of whether it is legally a
jpayne@68 435 derivative work. (Executables containing this object code plus
jpayne@68 436 portions of the Library will still fall under Section 6.)
jpayne@68 437
jpayne@68 438 Otherwise, if the work is a derivative of the Library, you may
jpayne@68 439 distribute the object code for the work under the terms of Section
jpayne@68 440 6. Any executables containing that work also fall under Section 6,
jpayne@68 441 whether or not they are linked directly with the Library itself.
jpayne@68 442
jpayne@68 443 6. As an exception to the Sections above, you may also combine or link
jpayne@68 444 a "work that uses the Library" with the Library to produce a work
jpayne@68 445 containing portions of the Library, and distribute that work under
jpayne@68 446 terms of your choice, provided that the terms permit modification
jpayne@68 447 of the work for the customer's own use and reverse engineering for
jpayne@68 448 debugging such modifications.
jpayne@68 449
jpayne@68 450 You must give prominent notice with each copy of the work that the
jpayne@68 451 Library is used in it and that the Library and its use are covered
jpayne@68 452 by this License. You must supply a copy of this License. If the
jpayne@68 453 work during execution displays copyright notices, you must include
jpayne@68 454 the copyright notice for the Library among them, as well as a
jpayne@68 455 reference directing the user to the copy of this License. Also,
jpayne@68 456 you must do one of these things:
jpayne@68 457
jpayne@68 458 a. Accompany the work with the complete corresponding
jpayne@68 459 machine-readable source code for the Library including
jpayne@68 460 whatever changes were used in the work (which must be
jpayne@68 461 distributed under Sections 1 and 2 above); and, if the work is
jpayne@68 462 an executable linked with the Library, with the complete
jpayne@68 463 machine-readable "work that uses the Library", as object code
jpayne@68 464 and/or source code, so that the user can modify the Library
jpayne@68 465 and then relink to produce a modified executable containing
jpayne@68 466 the modified Library. (It is understood that the user who
jpayne@68 467 changes the contents of definitions files in the Library will
jpayne@68 468 not necessarily be able to recompile the application to use
jpayne@68 469 the modified definitions.)
jpayne@68 470
jpayne@68 471 b. Use a suitable shared library mechanism for linking with the
jpayne@68 472 Library. A suitable mechanism is one that (1) uses at run
jpayne@68 473 time a copy of the library already present on the user's
jpayne@68 474 computer system, rather than copying library functions into
jpayne@68 475 the executable, and (2) will operate properly with a modified
jpayne@68 476 version of the library, if the user installs one, as long as
jpayne@68 477 the modified version is interface-compatible with the version
jpayne@68 478 that the work was made with.
jpayne@68 479
jpayne@68 480 c. Accompany the work with a written offer, valid for at least
jpayne@68 481 three years, to give the same user the materials specified in
jpayne@68 482 Subsection 6a, above, for a charge no more than the cost of
jpayne@68 483 performing this distribution.
jpayne@68 484
jpayne@68 485 d. If distribution of the work is made by offering access to copy
jpayne@68 486 from a designated place, offer equivalent access to copy the
jpayne@68 487 above specified materials from the same place.
jpayne@68 488
jpayne@68 489 e. Verify that the user has already received a copy of these
jpayne@68 490 materials or that you have already sent this user a copy.
jpayne@68 491
jpayne@68 492 For an executable, the required form of the "work that uses the
jpayne@68 493 Library" must include any data and utility programs needed for
jpayne@68 494 reproducing the executable from it. However, as a special
jpayne@68 495 exception, the materials to be distributed need not include
jpayne@68 496 anything that is normally distributed (in either source or binary
jpayne@68 497 form) with the major components (compiler, kernel, and so on) of
jpayne@68 498 the operating system on which the executable runs, unless that
jpayne@68 499 component itself accompanies the executable.
jpayne@68 500
jpayne@68 501 It may happen that this requirement contradicts the license
jpayne@68 502 restrictions of other proprietary libraries that do not normally
jpayne@68 503 accompany the operating system. Such a contradiction means you
jpayne@68 504 cannot use both them and the Library together in an executable that
jpayne@68 505 you distribute.
jpayne@68 506
jpayne@68 507 7. You may place library facilities that are a work based on the
jpayne@68 508 Library side-by-side in a single library together with other
jpayne@68 509 library facilities not covered by this License, and distribute such
jpayne@68 510 a combined library, provided that the separate distribution of the
jpayne@68 511 work based on the Library and of the other library facilities is
jpayne@68 512 otherwise permitted, and provided that you do these two things:
jpayne@68 513
jpayne@68 514 a. Accompany the combined library with a copy of the same work
jpayne@68 515 based on the Library, uncombined with any other library
jpayne@68 516 facilities. This must be distributed under the terms of the
jpayne@68 517 Sections above.
jpayne@68 518
jpayne@68 519 b. Give prominent notice with the combined library of the fact
jpayne@68 520 that part of it is a work based on the Library, and explaining
jpayne@68 521 where to find the accompanying uncombined form of the same
jpayne@68 522 work.
jpayne@68 523
jpayne@68 524 8. You may not copy, modify, sublicense, link with, or distribute the
jpayne@68 525 Library except as expressly provided under this License. Any
jpayne@68 526 attempt otherwise to copy, modify, sublicense, link with, or
jpayne@68 527 distribute the Library is void, and will automatically terminate
jpayne@68 528 your rights under this License. However, parties who have received
jpayne@68 529 copies, or rights, from you under this License will not have their
jpayne@68 530 licenses terminated so long as such parties remain in full
jpayne@68 531 compliance.
jpayne@68 532
jpayne@68 533 9. You are not required to accept this License, since you have not
jpayne@68 534 signed it. However, nothing else grants you permission to modify
jpayne@68 535 or distribute the Library or its derivative works. These actions
jpayne@68 536 are prohibited by law if you do not accept this License.
jpayne@68 537 Therefore, by modifying or distributing the Library (or any work
jpayne@68 538 based on the Library), you indicate your acceptance of this License
jpayne@68 539 to do so, and all its terms and conditions for copying,
jpayne@68 540 distributing or modifying the Library or works based on it.
jpayne@68 541
jpayne@68 542 10. Each time you redistribute the Library (or any work based on the
jpayne@68 543 Library), the recipient automatically receives a license from the
jpayne@68 544 original licensor to copy, distribute, link with or modify the
jpayne@68 545 Library subject to these terms and conditions. You may not impose
jpayne@68 546 any further restrictions on the recipients' exercise of the rights
jpayne@68 547 granted herein. You are not responsible for enforcing compliance
jpayne@68 548 by third parties with this License.
jpayne@68 549
jpayne@68 550 11. If, as a consequence of a court judgment or allegation of patent
jpayne@68 551 infringement or for any other reason (not limited to patent
jpayne@68 552 issues), conditions are imposed on you (whether by court order,
jpayne@68 553 agreement or otherwise) that contradict the conditions of this
jpayne@68 554 License, they do not excuse you from the conditions of this
jpayne@68 555 License. If you cannot distribute so as to satisfy simultaneously
jpayne@68 556 your obligations under this License and any other pertinent
jpayne@68 557 obligations, then as a consequence you may not distribute the
jpayne@68 558 Library at all. For example, if a patent license would not permit
jpayne@68 559 royalty-free redistribution of the Library by all those who receive
jpayne@68 560 copies directly or indirectly through you, then the only way you
jpayne@68 561 could satisfy both it and this License would be to refrain entirely
jpayne@68 562 from distribution of the Library.
jpayne@68 563
jpayne@68 564 If any portion of this section is held invalid or unenforceable
jpayne@68 565 under any particular circumstance, the balance of the section is
jpayne@68 566 intended to apply, and the section as a whole is intended to apply
jpayne@68 567 in other circumstances.
jpayne@68 568
jpayne@68 569 It is not the purpose of this section to induce you to infringe any
jpayne@68 570 patents or other property right claims or to contest validity of
jpayne@68 571 any such claims; this section has the sole purpose of protecting
jpayne@68 572 the integrity of the free software distribution system which is
jpayne@68 573 implemented by public license practices. Many people have made
jpayne@68 574 generous contributions to the wide range of software distributed
jpayne@68 575 through that system in reliance on consistent application of that
jpayne@68 576 system; it is up to the author/donor to decide if he or she is
jpayne@68 577 willing to distribute software through any other system and a
jpayne@68 578 licensee cannot impose that choice.
jpayne@68 579
jpayne@68 580 This section is intended to make thoroughly clear what is believed
jpayne@68 581 to be a consequence of the rest of this License.
jpayne@68 582
jpayne@68 583 12. If the distribution and/or use of the Library is restricted in
jpayne@68 584 certain countries either by patents or by copyrighted interfaces,
jpayne@68 585 the original copyright holder who places the Library under this
jpayne@68 586 License may add an explicit geographical distribution limitation
jpayne@68 587 excluding those countries, so that distribution is permitted only
jpayne@68 588 in or among countries not thus excluded. In such case, this
jpayne@68 589 License incorporates the limitation as if written in the body of
jpayne@68 590 this License.
jpayne@68 591
jpayne@68 592 13. The Free Software Foundation may publish revised and/or new
jpayne@68 593 versions of the Lesser General Public License from time to time.
jpayne@68 594 Such new versions will be similar in spirit to the present version,
jpayne@68 595 but may differ in detail to address new problems or concerns.
jpayne@68 596
jpayne@68 597 Each version is given a distinguishing version number. If the
jpayne@68 598 Library specifies a version number of this License which applies to
jpayne@68 599 it and "any later version", you have the option of following the
jpayne@68 600 terms and conditions either of that version or of any later version
jpayne@68 601 published by the Free Software Foundation. If the Library does not
jpayne@68 602 specify a license version number, you may choose any version ever
jpayne@68 603 published by the Free Software Foundation.
jpayne@68 604
jpayne@68 605 14. If you wish to incorporate parts of the Library into other free
jpayne@68 606 programs whose distribution conditions are incompatible with these,
jpayne@68 607 write to the author to ask for permission. For software which is
jpayne@68 608 copyrighted by the Free Software Foundation, write to the Free
jpayne@68 609 Software Foundation; we sometimes make exceptions for this. Our
jpayne@68 610 decision will be guided by the two goals of preserving the free
jpayne@68 611 status of all derivatives of our free software and of promoting the
jpayne@68 612 sharing and reuse of software generally.
jpayne@68 613
jpayne@68 614 NO WARRANTY
jpayne@68 615
jpayne@68 616 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
jpayne@68 617 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
jpayne@68 618 LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
jpayne@68 619 AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY
jpayne@68 620 OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
jpayne@68 621 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
jpayne@68 622 FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
jpayne@68 623 PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
jpayne@68 624 DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
jpayne@68 625 OR CORRECTION.
jpayne@68 626
jpayne@68 627 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
jpayne@68 628 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
jpayne@68 629 MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
jpayne@68 630 LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
jpayne@68 631 INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
jpayne@68 632 INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
jpayne@68 633 DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
jpayne@68 634 OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY
jpayne@68 635 OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
jpayne@68 636 ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
jpayne@68 637
jpayne@68 638 END OF TERMS AND CONDITIONS
jpayne@68 639 ---------------------------
jpayne@68 640
jpayne@68 641 How to Apply These Terms to Your New Libraries
jpayne@68 642 ----------------------------------------------
jpayne@68 643
jpayne@68 644 If you develop a new library, and you want it to be of the greatest
jpayne@68 645 possible use to the public, we recommend making it free software that
jpayne@68 646 everyone can redistribute and change. You can do so by permitting
jpayne@68 647 redistribution under these terms (or, alternatively, under the terms of
jpayne@68 648 the ordinary General Public License).
jpayne@68 649
jpayne@68 650 To apply these terms, attach the following notices to the library.
jpayne@68 651 It is safest to attach them to the start of each source file to most
jpayne@68 652 effectively convey the exclusion of warranty; and each file should have
jpayne@68 653 at least the "copyright" line and a pointer to where the full notice is
jpayne@68 654 found.
jpayne@68 655
jpayne@68 656 ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
jpayne@68 657 Copyright (C) YEAR NAME OF AUTHOR
jpayne@68 658
jpayne@68 659 This library is free software; you can redistribute it and/or modify it
jpayne@68 660 under the terms of the GNU Lesser General Public License as published by
jpayne@68 661 the Free Software Foundation; either version 2.1 of the License, or (at
jpayne@68 662 your option) any later version.
jpayne@68 663
jpayne@68 664 This library is distributed in the hope that it will be useful, but
jpayne@68 665 WITHOUT ANY WARRANTY; without even the implied warranty of
jpayne@68 666 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
jpayne@68 667 Lesser General Public License for more details.
jpayne@68 668
jpayne@68 669 You should have received a copy of the GNU Lesser General Public
jpayne@68 670 License along with this library; if not, write to the Free Software
jpayne@68 671 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
jpayne@68 672 USA.
jpayne@68 673
jpayne@68 674 Also add information on how to contact you by electronic and paper
jpayne@68 675 mail.
jpayne@68 676
jpayne@68 677 You should also get your employer (if you work as a programmer) or
jpayne@68 678 your school, if any, to sign a "copyright disclaimer" for the library,
jpayne@68 679 if necessary. Here is a sample; alter the names:
jpayne@68 680
jpayne@68 681 Yoyodyne, Inc., hereby disclaims all copyright interest in the library
jpayne@68 682 `Frob' (a library for tweaking knobs) written by James Random Hacker.
jpayne@68 683
jpayne@68 684 SIGNATURE OF TY COON, 1 April 1990
jpayne@68 685 Ty Coon, President of Vice
jpayne@68 686
jpayne@68 687 That's all there is to it!
jpayne@68 688
jpayne@68 689 
jpayne@68 690 File: autosprintf.info, Node: GNU GPL, Next: GNU FDL, Prev: GNU LGPL, Up: Licenses
jpayne@68 691
jpayne@68 692 A.2 GNU GENERAL PUBLIC LICENSE
jpayne@68 693 ==============================
jpayne@68 694
jpayne@68 695 Version 2, June 1991
jpayne@68 696
jpayne@68 697 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
jpayne@68 698 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
jpayne@68 699
jpayne@68 700 Everyone is permitted to copy and distribute verbatim copies
jpayne@68 701 of this license document, but changing it is not allowed.
jpayne@68 702
jpayne@68 703 Preamble
jpayne@68 704 ========
jpayne@68 705
jpayne@68 706 The licenses for most software are designed to take away your freedom
jpayne@68 707 to share and change it. By contrast, the GNU General Public License is
jpayne@68 708 intended to guarantee your freedom to share and change free software--to
jpayne@68 709 make sure the software is free for all its users. This General Public
jpayne@68 710 License applies to most of the Free Software Foundation's software and
jpayne@68 711 to any other program whose authors commit to using it. (Some other Free
jpayne@68 712 Software Foundation software is covered by the GNU Lesser General Public
jpayne@68 713 License instead.) You can apply it to your programs, too.
jpayne@68 714
jpayne@68 715 When we speak of free software, we are referring to freedom, not
jpayne@68 716 price. Our General Public Licenses are designed to make sure that you
jpayne@68 717 have the freedom to distribute copies of free software (and charge for
jpayne@68 718 this service if you wish), that you receive source code or can get it if
jpayne@68 719 you want it, that you can change the software or use pieces of it in new
jpayne@68 720 free programs; and that you know you can do these things.
jpayne@68 721
jpayne@68 722 To protect your rights, we need to make restrictions that forbid
jpayne@68 723 anyone to deny you these rights or to ask you to surrender the rights.
jpayne@68 724 These restrictions translate to certain responsibilities for you if you
jpayne@68 725 distribute copies of the software, or if you modify it.
jpayne@68 726
jpayne@68 727 For example, if you distribute copies of such a program, whether
jpayne@68 728 gratis or for a fee, you must give the recipients all the rights that
jpayne@68 729 you have. You must make sure that they, too, receive or can get the
jpayne@68 730 source code. And you must show them these terms so they know their
jpayne@68 731 rights.
jpayne@68 732
jpayne@68 733 We protect your rights with two steps: (1) copyright the software,
jpayne@68 734 and (2) offer you this license which gives you legal permission to copy,
jpayne@68 735 distribute and/or modify the software.
jpayne@68 736
jpayne@68 737 Also, for each author's protection and ours, we want to make certain
jpayne@68 738 that everyone understands that there is no warranty for this free
jpayne@68 739 software. If the software is modified by someone else and passed on, we
jpayne@68 740 want its recipients to know that what they have is not the original, so
jpayne@68 741 that any problems introduced by others will not reflect on the original
jpayne@68 742 authors' reputations.
jpayne@68 743
jpayne@68 744 Finally, any free program is threatened constantly by software
jpayne@68 745 patents. We wish to avoid the danger that redistributors of a free
jpayne@68 746 program will individually obtain patent licenses, in effect making the
jpayne@68 747 program proprietary. To prevent this, we have made it clear that any
jpayne@68 748 patent must be licensed for everyone's free use or not licensed at all.
jpayne@68 749
jpayne@68 750 The precise terms and conditions for copying, distribution and
jpayne@68 751 modification follow.
jpayne@68 752
jpayne@68 753 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
jpayne@68 754 ===============================================================
jpayne@68 755
jpayne@68 756 0. This License applies to any program or other work which contains a
jpayne@68 757 notice placed by the copyright holder saying it may be distributed
jpayne@68 758 under the terms of this General Public License. The "Program",
jpayne@68 759 below, refers to any such program or work, and a "work based on the
jpayne@68 760 Program" means either the Program or any derivative work under
jpayne@68 761 copyright law: that is to say, a work containing the Program or a
jpayne@68 762 portion of it, either verbatim or with modifications and/or
jpayne@68 763 translated into another language. (Hereinafter, translation is
jpayne@68 764 included without limitation in the term "modification".) Each
jpayne@68 765 licensee is addressed as "you".
jpayne@68 766
jpayne@68 767 Activities other than copying, distribution and modification are
jpayne@68 768 not covered by this License; they are outside its scope. The act
jpayne@68 769 of running the Program is not restricted, and the output from the
jpayne@68 770 Program is covered only if its contents constitute a work based on
jpayne@68 771 the Program (independent of having been made by running the
jpayne@68 772 Program). Whether that is true depends on what the Program does.
jpayne@68 773
jpayne@68 774 1. You may copy and distribute verbatim copies of the Program's source
jpayne@68 775 code as you receive it, in any medium, provided that you
jpayne@68 776 conspicuously and appropriately publish on each copy an appropriate
jpayne@68 777 copyright notice and disclaimer of warranty; keep intact all the
jpayne@68 778 notices that refer to this License and to the absence of any
jpayne@68 779 warranty; and give any other recipients of the Program a copy of
jpayne@68 780 this License along with the Program.
jpayne@68 781
jpayne@68 782 You may charge a fee for the physical act of transferring a copy,
jpayne@68 783 and you may at your option offer warranty protection in exchange
jpayne@68 784 for a fee.
jpayne@68 785
jpayne@68 786 2. You may modify your copy or copies of the Program or any portion of
jpayne@68 787 it, thus forming a work based on the Program, and copy and
jpayne@68 788 distribute such modifications or work under the terms of Section 1
jpayne@68 789 above, provided that you also meet all of these conditions:
jpayne@68 790
jpayne@68 791 a. You must cause the modified files to carry prominent notices
jpayne@68 792 stating that you changed the files and the date of any change.
jpayne@68 793
jpayne@68 794 b. You must cause any work that you distribute or publish, that
jpayne@68 795 in whole or in part contains or is derived from the Program or
jpayne@68 796 any part thereof, to be licensed as a whole at no charge to
jpayne@68 797 all third parties under the terms of this License.
jpayne@68 798
jpayne@68 799 c. If the modified program normally reads commands interactively
jpayne@68 800 when run, you must cause it, when started running for such
jpayne@68 801 interactive use in the most ordinary way, to print or display
jpayne@68 802 an announcement including an appropriate copyright notice and
jpayne@68 803 a notice that there is no warranty (or else, saying that you
jpayne@68 804 provide a warranty) and that users may redistribute the
jpayne@68 805 program under these conditions, and telling the user how to
jpayne@68 806 view a copy of this License. (Exception: if the Program
jpayne@68 807 itself is interactive but does not normally print such an
jpayne@68 808 announcement, your work based on the Program is not required
jpayne@68 809 to print an announcement.)
jpayne@68 810
jpayne@68 811 These requirements apply to the modified work as a whole. If
jpayne@68 812 identifiable sections of that work are not derived from the
jpayne@68 813 Program, and can be reasonably considered independent and separate
jpayne@68 814 works in themselves, then this License, and its terms, do not apply
jpayne@68 815 to those sections when you distribute them as separate works. But
jpayne@68 816 when you distribute the same sections as part of a whole which is a
jpayne@68 817 work based on the Program, the distribution of the whole must be on
jpayne@68 818 the terms of this License, whose permissions for other licensees
jpayne@68 819 extend to the entire whole, and thus to each and every part
jpayne@68 820 regardless of who wrote it.
jpayne@68 821
jpayne@68 822 Thus, it is not the intent of this section to claim rights or
jpayne@68 823 contest your rights to work written entirely by you; rather, the
jpayne@68 824 intent is to exercise the right to control the distribution of
jpayne@68 825 derivative or collective works based on the Program.
jpayne@68 826
jpayne@68 827 In addition, mere aggregation of another work not based on the
jpayne@68 828 Program with the Program (or with a work based on the Program) on a
jpayne@68 829 volume of a storage or distribution medium does not bring the other
jpayne@68 830 work under the scope of this License.
jpayne@68 831
jpayne@68 832 3. You may copy and distribute the Program (or a work based on it,
jpayne@68 833 under Section 2) in object code or executable form under the terms
jpayne@68 834 of Sections 1 and 2 above provided that you also do one of the
jpayne@68 835 following:
jpayne@68 836
jpayne@68 837 a. Accompany it with the complete corresponding machine-readable
jpayne@68 838 source code, which must be distributed under the terms of
jpayne@68 839 Sections 1 and 2 above on a medium customarily used for
jpayne@68 840 software interchange; or,
jpayne@68 841
jpayne@68 842 b. Accompany it with a written offer, valid for at least three
jpayne@68 843 years, to give any third party, for a charge no more than your
jpayne@68 844 cost of physically performing source distribution, a complete
jpayne@68 845 machine-readable copy of the corresponding source code, to be
jpayne@68 846 distributed under the terms of Sections 1 and 2 above on a
jpayne@68 847 medium customarily used for software interchange; or,
jpayne@68 848
jpayne@68 849 c. Accompany it with the information you received as to the offer
jpayne@68 850 to distribute corresponding source code. (This alternative is
jpayne@68 851 allowed only for noncommercial distribution and only if you
jpayne@68 852 received the program in object code or executable form with
jpayne@68 853 such an offer, in accord with Subsection b above.)
jpayne@68 854
jpayne@68 855 The source code for a work means the preferred form of the work for
jpayne@68 856 making modifications to it. For an executable work, complete
jpayne@68 857 source code means all the source code for all modules it contains,
jpayne@68 858 plus any associated interface definition files, plus the scripts
jpayne@68 859 used to control compilation and installation of the executable.
jpayne@68 860 However, as a special exception, the source code distributed need
jpayne@68 861 not include anything that is normally distributed (in either source
jpayne@68 862 or binary form) with the major components (compiler, kernel, and so
jpayne@68 863 on) of the operating system on which the executable runs, unless
jpayne@68 864 that component itself accompanies the executable.
jpayne@68 865
jpayne@68 866 If distribution of executable or object code is made by offering
jpayne@68 867 access to copy from a designated place, then offering equivalent
jpayne@68 868 access to copy the source code from the same place counts as
jpayne@68 869 distribution of the source code, even though third parties are not
jpayne@68 870 compelled to copy the source along with the object code.
jpayne@68 871
jpayne@68 872 4. You may not copy, modify, sublicense, or distribute the Program
jpayne@68 873 except as expressly provided under this License. Any attempt
jpayne@68 874 otherwise to copy, modify, sublicense or distribute the Program is
jpayne@68 875 void, and will automatically terminate your rights under this
jpayne@68 876 License. However, parties who have received copies, or rights,
jpayne@68 877 from you under this License will not have their licenses terminated
jpayne@68 878 so long as such parties remain in full compliance.
jpayne@68 879
jpayne@68 880 5. You are not required to accept this License, since you have not
jpayne@68 881 signed it. However, nothing else grants you permission to modify
jpayne@68 882 or distribute the Program or its derivative works. These actions
jpayne@68 883 are prohibited by law if you do not accept this License.
jpayne@68 884 Therefore, by modifying or distributing the Program (or any work
jpayne@68 885 based on the Program), you indicate your acceptance of this License
jpayne@68 886 to do so, and all its terms and conditions for copying,
jpayne@68 887 distributing or modifying the Program or works based on it.
jpayne@68 888
jpayne@68 889 6. Each time you redistribute the Program (or any work based on the
jpayne@68 890 Program), the recipient automatically receives a license from the
jpayne@68 891 original licensor to copy, distribute or modify the Program subject
jpayne@68 892 to these terms and conditions. You may not impose any further
jpayne@68 893 restrictions on the recipients' exercise of the rights granted
jpayne@68 894 herein. You are not responsible for enforcing compliance by third
jpayne@68 895 parties to this License.
jpayne@68 896
jpayne@68 897 7. If, as a consequence of a court judgment or allegation of patent
jpayne@68 898 infringement or for any other reason (not limited to patent
jpayne@68 899 issues), conditions are imposed on you (whether by court order,
jpayne@68 900 agreement or otherwise) that contradict the conditions of this
jpayne@68 901 License, they do not excuse you from the conditions of this
jpayne@68 902 License. If you cannot distribute so as to satisfy simultaneously
jpayne@68 903 your obligations under this License and any other pertinent
jpayne@68 904 obligations, then as a consequence you may not distribute the
jpayne@68 905 Program at all. For example, if a patent license would not permit
jpayne@68 906 royalty-free redistribution of the Program by all those who receive
jpayne@68 907 copies directly or indirectly through you, then the only way you
jpayne@68 908 could satisfy both it and this License would be to refrain entirely
jpayne@68 909 from distribution of the Program.
jpayne@68 910
jpayne@68 911 If any portion of this section is held invalid or unenforceable
jpayne@68 912 under any particular circumstance, the balance of the section is
jpayne@68 913 intended to apply and the section as a whole is intended to apply
jpayne@68 914 in other circumstances.
jpayne@68 915
jpayne@68 916 It is not the purpose of this section to induce you to infringe any
jpayne@68 917 patents or other property right claims or to contest validity of
jpayne@68 918 any such claims; this section has the sole purpose of protecting
jpayne@68 919 the integrity of the free software distribution system, which is
jpayne@68 920 implemented by public license practices. Many people have made
jpayne@68 921 generous contributions to the wide range of software distributed
jpayne@68 922 through that system in reliance on consistent application of that
jpayne@68 923 system; it is up to the author/donor to decide if he or she is
jpayne@68 924 willing to distribute software through any other system and a
jpayne@68 925 licensee cannot impose that choice.
jpayne@68 926
jpayne@68 927 This section is intended to make thoroughly clear what is believed
jpayne@68 928 to be a consequence of the rest of this License.
jpayne@68 929
jpayne@68 930 8. If the distribution and/or use of the Program is restricted in
jpayne@68 931 certain countries either by patents or by copyrighted interfaces,
jpayne@68 932 the original copyright holder who places the Program under this
jpayne@68 933 License may add an explicit geographical distribution limitation
jpayne@68 934 excluding those countries, so that distribution is permitted only
jpayne@68 935 in or among countries not thus excluded. In such case, this
jpayne@68 936 License incorporates the limitation as if written in the body of
jpayne@68 937 this License.
jpayne@68 938
jpayne@68 939 9. The Free Software Foundation may publish revised and/or new
jpayne@68 940 versions of the General Public License from time to time. Such new
jpayne@68 941 versions will be similar in spirit to the present version, but may
jpayne@68 942 differ in detail to address new problems or concerns.
jpayne@68 943
jpayne@68 944 Each version is given a distinguishing version number. If the
jpayne@68 945 Program specifies a version number of this License which applies to
jpayne@68 946 it and "any later version", you have the option of following the
jpayne@68 947 terms and conditions either of that version or of any later version
jpayne@68 948 published by the Free Software Foundation. If the Program does not
jpayne@68 949 specify a version number of this License, you may choose any
jpayne@68 950 version ever published by the Free Software Foundation.
jpayne@68 951
jpayne@68 952 10. If you wish to incorporate parts of the Program into other free
jpayne@68 953 programs whose distribution conditions are different, write to the
jpayne@68 954 author to ask for permission. For software which is copyrighted by
jpayne@68 955 the Free Software Foundation, write to the Free Software
jpayne@68 956 Foundation; we sometimes make exceptions for this. Our decision
jpayne@68 957 will be guided by the two goals of preserving the free status of
jpayne@68 958 all derivatives of our free software and of promoting the sharing
jpayne@68 959 and reuse of software generally.
jpayne@68 960
jpayne@68 961 NO WARRANTY
jpayne@68 962
jpayne@68 963 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
jpayne@68 964 WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
jpayne@68 965 LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
jpayne@68 966 AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
jpayne@68 967 OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
jpayne@68 968 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
jpayne@68 969 FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
jpayne@68 970 PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
jpayne@68 971 DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
jpayne@68 972 OR CORRECTION.
jpayne@68 973
jpayne@68 974 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
jpayne@68 975 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
jpayne@68 976 MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
jpayne@68 977 LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
jpayne@68 978 INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
jpayne@68 979 INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
jpayne@68 980 DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
jpayne@68 981 OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
jpayne@68 982 OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
jpayne@68 983 ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
jpayne@68 984
jpayne@68 985 END OF TERMS AND CONDITIONS
jpayne@68 986
jpayne@68 987 Appendix: How to Apply These Terms to Your New Programs
jpayne@68 988 =======================================================
jpayne@68 989
jpayne@68 990 If you develop a new program, and you want it to be of the greatest
jpayne@68 991 possible use to the public, the best way to achieve this is to make it
jpayne@68 992 free software which everyone can redistribute and change under these
jpayne@68 993 terms.
jpayne@68 994
jpayne@68 995 To do so, attach the following notices to the program. It is safest
jpayne@68 996 to attach them to the start of each source file to most effectively
jpayne@68 997 convey the exclusion of warranty; and each file should have at least the
jpayne@68 998 "copyright" line and a pointer to where the full notice is found.
jpayne@68 999
jpayne@68 1000 ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
jpayne@68 1001 Copyright (C) YYYY NAME OF AUTHOR
jpayne@68 1002
jpayne@68 1003 This program is free software; you can redistribute it and/or modify
jpayne@68 1004 it under the terms of the GNU General Public License as published by
jpayne@68 1005 the Free Software Foundation; either version 2 of the License, or
jpayne@68 1006 (at your option) any later version.
jpayne@68 1007
jpayne@68 1008 This program is distributed in the hope that it will be useful,
jpayne@68 1009 but WITHOUT ANY WARRANTY; without even the implied warranty of
jpayne@68 1010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
jpayne@68 1011 GNU General Public License for more details.
jpayne@68 1012
jpayne@68 1013 You should have received a copy of the GNU General Public License
jpayne@68 1014 along with this program; if not, write to the Free Software
jpayne@68 1015 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
jpayne@68 1016
jpayne@68 1017 Also add information on how to contact you by electronic and paper
jpayne@68 1018 mail.
jpayne@68 1019
jpayne@68 1020 If the program is interactive, make it output a short notice like
jpayne@68 1021 this when it starts in an interactive mode:
jpayne@68 1022
jpayne@68 1023 Gnomovision version 69, Copyright (C) YEAR NAME OF AUTHOR
jpayne@68 1024 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
jpayne@68 1025 This is free software, and you are welcome to redistribute it
jpayne@68 1026 under certain conditions; type `show c' for details.
jpayne@68 1027
jpayne@68 1028 The hypothetical commands 'show w' and 'show c' should show the
jpayne@68 1029 appropriate parts of the General Public License. Of course, the
jpayne@68 1030 commands you use may be called something other than 'show w' and 'show
jpayne@68 1031 c'; they could even be mouse-clicks or menu items--whatever suits your
jpayne@68 1032 program.
jpayne@68 1033
jpayne@68 1034 You should also get your employer (if you work as a programmer) or
jpayne@68 1035 your school, if any, to sign a "copyright disclaimer" for the program,
jpayne@68 1036 if necessary. Here is a sample; alter the names:
jpayne@68 1037
jpayne@68 1038 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
jpayne@68 1039 `Gnomovision' (which makes passes at compilers) written by James Hacker.
jpayne@68 1040
jpayne@68 1041 SIGNATURE OF TY COON, 1 April 1989
jpayne@68 1042 Ty Coon, President of Vice
jpayne@68 1043
jpayne@68 1044 This General Public License does not permit incorporating your
jpayne@68 1045 program into proprietary programs. If your program is a subroutine
jpayne@68 1046 library, you may consider it more useful to permit linking proprietary
jpayne@68 1047 applications with the library. If this is what you want to do, use the
jpayne@68 1048 GNU Lesser General Public License instead of this License.
jpayne@68 1049
jpayne@68 1050 
jpayne@68 1051 File: autosprintf.info, Node: GNU FDL, Prev: GNU GPL, Up: Licenses
jpayne@68 1052
jpayne@68 1053 A.3 GNU Free Documentation License
jpayne@68 1054 ==================================
jpayne@68 1055
jpayne@68 1056 Version 1.2, November 2002
jpayne@68 1057
jpayne@68 1058 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
jpayne@68 1059 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
jpayne@68 1060
jpayne@68 1061 Everyone is permitted to copy and distribute verbatim copies
jpayne@68 1062 of this license document, but changing it is not allowed.
jpayne@68 1063
jpayne@68 1064 0. PREAMBLE
jpayne@68 1065
jpayne@68 1066 The purpose of this License is to make a manual, textbook, or other
jpayne@68 1067 functional and useful document "free" in the sense of freedom: to
jpayne@68 1068 assure everyone the effective freedom to copy and redistribute it,
jpayne@68 1069 with or without modifying it, either commercially or
jpayne@68 1070 noncommercially. Secondarily, this License preserves for the
jpayne@68 1071 author and publisher a way to get credit for their work, while not
jpayne@68 1072 being considered responsible for modifications made by others.
jpayne@68 1073
jpayne@68 1074 This License is a kind of "copyleft", which means that derivative
jpayne@68 1075 works of the document must themselves be free in the same sense.
jpayne@68 1076 It complements the GNU General Public License, which is a copyleft
jpayne@68 1077 license designed for free software.
jpayne@68 1078
jpayne@68 1079 We have designed this License in order to use it for manuals for
jpayne@68 1080 free software, because free software needs free documentation: a
jpayne@68 1081 free program should come with manuals providing the same freedoms
jpayne@68 1082 that the software does. But this License is not limited to
jpayne@68 1083 software manuals; it can be used for any textual work, regardless
jpayne@68 1084 of subject matter or whether it is published as a printed book. We
jpayne@68 1085 recommend this License principally for works whose purpose is
jpayne@68 1086 instruction or reference.
jpayne@68 1087
jpayne@68 1088 1. APPLICABILITY AND DEFINITIONS
jpayne@68 1089
jpayne@68 1090 This License applies to any manual or other work, in any medium,
jpayne@68 1091 that contains a notice placed by the copyright holder saying it can
jpayne@68 1092 be distributed under the terms of this License. Such a notice
jpayne@68 1093 grants a world-wide, royalty-free license, unlimited in duration,
jpayne@68 1094 to use that work under the conditions stated herein. The
jpayne@68 1095 "Document", below, refers to any such manual or work. Any member
jpayne@68 1096 of the public is a licensee, and is addressed as "you". You accept
jpayne@68 1097 the license if you copy, modify or distribute the work in a way
jpayne@68 1098 requiring permission under copyright law.
jpayne@68 1099
jpayne@68 1100 A "Modified Version" of the Document means any work containing the
jpayne@68 1101 Document or a portion of it, either copied verbatim, or with
jpayne@68 1102 modifications and/or translated into another language.
jpayne@68 1103
jpayne@68 1104 A "Secondary Section" is a named appendix or a front-matter section
jpayne@68 1105 of the Document that deals exclusively with the relationship of the
jpayne@68 1106 publishers or authors of the Document to the Document's overall
jpayne@68 1107 subject (or to related matters) and contains nothing that could
jpayne@68 1108 fall directly within that overall subject. (Thus, if the Document
jpayne@68 1109 is in part a textbook of mathematics, a Secondary Section may not
jpayne@68 1110 explain any mathematics.) The relationship could be a matter of
jpayne@68 1111 historical connection with the subject or with related matters, or
jpayne@68 1112 of legal, commercial, philosophical, ethical or political position
jpayne@68 1113 regarding them.
jpayne@68 1114
jpayne@68 1115 The "Invariant Sections" are certain Secondary Sections whose
jpayne@68 1116 titles are designated, as being those of Invariant Sections, in the
jpayne@68 1117 notice that says that the Document is released under this License.
jpayne@68 1118 If a section does not fit the above definition of Secondary then it
jpayne@68 1119 is not allowed to be designated as Invariant. The Document may
jpayne@68 1120 contain zero Invariant Sections. If the Document does not identify
jpayne@68 1121 any Invariant Sections then there are none.
jpayne@68 1122
jpayne@68 1123 The "Cover Texts" are certain short passages of text that are
jpayne@68 1124 listed, as Front-Cover Texts or Back-Cover Texts, in the notice
jpayne@68 1125 that says that the Document is released under this License. A
jpayne@68 1126 Front-Cover Text may be at most 5 words, and a Back-Cover Text may
jpayne@68 1127 be at most 25 words.
jpayne@68 1128
jpayne@68 1129 A "Transparent" copy of the Document means a machine-readable copy,
jpayne@68 1130 represented in a format whose specification is available to the
jpayne@68 1131 general public, that is suitable for revising the document
jpayne@68 1132 straightforwardly with generic text editors or (for images composed
jpayne@68 1133 of pixels) generic paint programs or (for drawings) some widely
jpayne@68 1134 available drawing editor, and that is suitable for input to text
jpayne@68 1135 formatters or for automatic translation to a variety of formats
jpayne@68 1136 suitable for input to text formatters. A copy made in an otherwise
jpayne@68 1137 Transparent file format whose markup, or absence of markup, has
jpayne@68 1138 been arranged to thwart or discourage subsequent modification by
jpayne@68 1139 readers is not Transparent. An image format is not Transparent if
jpayne@68 1140 used for any substantial amount of text. A copy that is not
jpayne@68 1141 "Transparent" is called "Opaque".
jpayne@68 1142
jpayne@68 1143 Examples of suitable formats for Transparent copies include plain
jpayne@68 1144 ASCII without markup, Texinfo input format, LaTeX input format,
jpayne@68 1145 SGML or XML using a publicly available DTD, and standard-conforming
jpayne@68 1146 simple HTML, PostScript or PDF designed for human modification.
jpayne@68 1147 Examples of transparent image formats include PNG, XCF and JPG.
jpayne@68 1148 Opaque formats include proprietary formats that can be read and
jpayne@68 1149 edited only by proprietary word processors, SGML or XML for which
jpayne@68 1150 the DTD and/or processing tools are not generally available, and
jpayne@68 1151 the machine-generated HTML, PostScript or PDF produced by some word
jpayne@68 1152 processors for output purposes only.
jpayne@68 1153
jpayne@68 1154 The "Title Page" means, for a printed book, the title page itself,
jpayne@68 1155 plus such following pages as are needed to hold, legibly, the
jpayne@68 1156 material this License requires to appear in the title page. For
jpayne@68 1157 works in formats which do not have any title page as such, "Title
jpayne@68 1158 Page" means the text near the most prominent appearance of the
jpayne@68 1159 work's title, preceding the beginning of the body of the text.
jpayne@68 1160
jpayne@68 1161 A section "Entitled XYZ" means a named subunit of the Document
jpayne@68 1162 whose title either is precisely XYZ or contains XYZ in parentheses
jpayne@68 1163 following text that translates XYZ in another language. (Here XYZ
jpayne@68 1164 stands for a specific section name mentioned below, such as
jpayne@68 1165 "Acknowledgements", "Dedications", "Endorsements", or "History".)
jpayne@68 1166 To "Preserve the Title" of such a section when you modify the
jpayne@68 1167 Document means that it remains a section "Entitled XYZ" according
jpayne@68 1168 to this definition.
jpayne@68 1169
jpayne@68 1170 The Document may include Warranty Disclaimers next to the notice
jpayne@68 1171 which states that this License applies to the Document. These
jpayne@68 1172 Warranty Disclaimers are considered to be included by reference in
jpayne@68 1173 this License, but only as regards disclaiming warranties: any other
jpayne@68 1174 implication that these Warranty Disclaimers may have is void and
jpayne@68 1175 has no effect on the meaning of this License.
jpayne@68 1176
jpayne@68 1177 2. VERBATIM COPYING
jpayne@68 1178
jpayne@68 1179 You may copy and distribute the Document in any medium, either
jpayne@68 1180 commercially or noncommercially, provided that this License, the
jpayne@68 1181 copyright notices, and the license notice saying this License
jpayne@68 1182 applies to the Document are reproduced in all copies, and that you
jpayne@68 1183 add no other conditions whatsoever to those of this License. You
jpayne@68 1184 may not use technical measures to obstruct or control the reading
jpayne@68 1185 or further copying of the copies you make or distribute. However,
jpayne@68 1186 you may accept compensation in exchange for copies. If you
jpayne@68 1187 distribute a large enough number of copies you must also follow the
jpayne@68 1188 conditions in section 3.
jpayne@68 1189
jpayne@68 1190 You may also lend copies, under the same conditions stated above,
jpayne@68 1191 and you may publicly display copies.
jpayne@68 1192
jpayne@68 1193 3. COPYING IN QUANTITY
jpayne@68 1194
jpayne@68 1195 If you publish printed copies (or copies in media that commonly
jpayne@68 1196 have printed covers) of the Document, numbering more than 100, and
jpayne@68 1197 the Document's license notice requires Cover Texts, you must
jpayne@68 1198 enclose the copies in covers that carry, clearly and legibly, all
jpayne@68 1199 these Cover Texts: Front-Cover Texts on the front cover, and
jpayne@68 1200 Back-Cover Texts on the back cover. Both covers must also clearly
jpayne@68 1201 and legibly identify you as the publisher of these copies. The
jpayne@68 1202 front cover must present the full title with all words of the title
jpayne@68 1203 equally prominent and visible. You may add other material on the
jpayne@68 1204 covers in addition. Copying with changes limited to the covers, as
jpayne@68 1205 long as they preserve the title of the Document and satisfy these
jpayne@68 1206 conditions, can be treated as verbatim copying in other respects.
jpayne@68 1207
jpayne@68 1208 If the required texts for either cover are too voluminous to fit
jpayne@68 1209 legibly, you should put the first ones listed (as many as fit
jpayne@68 1210 reasonably) on the actual cover, and continue the rest onto
jpayne@68 1211 adjacent pages.
jpayne@68 1212
jpayne@68 1213 If you publish or distribute Opaque copies of the Document
jpayne@68 1214 numbering more than 100, you must either include a machine-readable
jpayne@68 1215 Transparent copy along with each Opaque copy, or state in or with
jpayne@68 1216 each Opaque copy a computer-network location from which the general
jpayne@68 1217 network-using public has access to download using public-standard
jpayne@68 1218 network protocols a complete Transparent copy of the Document, free
jpayne@68 1219 of added material. If you use the latter option, you must take
jpayne@68 1220 reasonably prudent steps, when you begin distribution of Opaque
jpayne@68 1221 copies in quantity, to ensure that this Transparent copy will
jpayne@68 1222 remain thus accessible at the stated location until at least one
jpayne@68 1223 year after the last time you distribute an Opaque copy (directly or
jpayne@68 1224 through your agents or retailers) of that edition to the public.
jpayne@68 1225
jpayne@68 1226 It is requested, but not required, that you contact the authors of
jpayne@68 1227 the Document well before redistributing any large number of copies,
jpayne@68 1228 to give them a chance to provide you with an updated version of the
jpayne@68 1229 Document.
jpayne@68 1230
jpayne@68 1231 4. MODIFICATIONS
jpayne@68 1232
jpayne@68 1233 You may copy and distribute a Modified Version of the Document
jpayne@68 1234 under the conditions of sections 2 and 3 above, provided that you
jpayne@68 1235 release the Modified Version under precisely this License, with the
jpayne@68 1236 Modified Version filling the role of the Document, thus licensing
jpayne@68 1237 distribution and modification of the Modified Version to whoever
jpayne@68 1238 possesses a copy of it. In addition, you must do these things in
jpayne@68 1239 the Modified Version:
jpayne@68 1240
jpayne@68 1241 A. Use in the Title Page (and on the covers, if any) a title
jpayne@68 1242 distinct from that of the Document, and from those of previous
jpayne@68 1243 versions (which should, if there were any, be listed in the
jpayne@68 1244 History section of the Document). You may use the same title
jpayne@68 1245 as a previous version if the original publisher of that
jpayne@68 1246 version gives permission.
jpayne@68 1247
jpayne@68 1248 B. List on the Title Page, as authors, one or more persons or
jpayne@68 1249 entities responsible for authorship of the modifications in
jpayne@68 1250 the Modified Version, together with at least five of the
jpayne@68 1251 principal authors of the Document (all of its principal
jpayne@68 1252 authors, if it has fewer than five), unless they release you
jpayne@68 1253 from this requirement.
jpayne@68 1254
jpayne@68 1255 C. State on the Title page the name of the publisher of the
jpayne@68 1256 Modified Version, as the publisher.
jpayne@68 1257
jpayne@68 1258 D. Preserve all the copyright notices of the Document.
jpayne@68 1259
jpayne@68 1260 E. Add an appropriate copyright notice for your modifications
jpayne@68 1261 adjacent to the other copyright notices.
jpayne@68 1262
jpayne@68 1263 F. Include, immediately after the copyright notices, a license
jpayne@68 1264 notice giving the public permission to use the Modified
jpayne@68 1265 Version under the terms of this License, in the form shown in
jpayne@68 1266 the Addendum below.
jpayne@68 1267
jpayne@68 1268 G. Preserve in that license notice the full lists of Invariant
jpayne@68 1269 Sections and required Cover Texts given in the Document's
jpayne@68 1270 license notice.
jpayne@68 1271
jpayne@68 1272 H. Include an unaltered copy of this License.
jpayne@68 1273
jpayne@68 1274 I. Preserve the section Entitled "History", Preserve its Title,
jpayne@68 1275 and add to it an item stating at least the title, year, new
jpayne@68 1276 authors, and publisher of the Modified Version as given on the
jpayne@68 1277 Title Page. If there is no section Entitled "History" in the
jpayne@68 1278 Document, create one stating the title, year, authors, and
jpayne@68 1279 publisher of the Document as given on its Title Page, then add
jpayne@68 1280 an item describing the Modified Version as stated in the
jpayne@68 1281 previous sentence.
jpayne@68 1282
jpayne@68 1283 J. Preserve the network location, if any, given in the Document
jpayne@68 1284 for public access to a Transparent copy of the Document, and
jpayne@68 1285 likewise the network locations given in the Document for
jpayne@68 1286 previous versions it was based on. These may be placed in the
jpayne@68 1287 "History" section. You may omit a network location for a work
jpayne@68 1288 that was published at least four years before the Document
jpayne@68 1289 itself, or if the original publisher of the version it refers
jpayne@68 1290 to gives permission.
jpayne@68 1291
jpayne@68 1292 K. For any section Entitled "Acknowledgements" or "Dedications",
jpayne@68 1293 Preserve the Title of the section, and preserve in the section
jpayne@68 1294 all the substance and tone of each of the contributor
jpayne@68 1295 acknowledgements and/or dedications given therein.
jpayne@68 1296
jpayne@68 1297 L. Preserve all the Invariant Sections of the Document, unaltered
jpayne@68 1298 in their text and in their titles. Section numbers or the
jpayne@68 1299 equivalent are not considered part of the section titles.
jpayne@68 1300
jpayne@68 1301 M. Delete any section Entitled "Endorsements". Such a section
jpayne@68 1302 may not be included in the Modified Version.
jpayne@68 1303
jpayne@68 1304 N. Do not retitle any existing section to be Entitled
jpayne@68 1305 "Endorsements" or to conflict in title with any Invariant
jpayne@68 1306 Section.
jpayne@68 1307
jpayne@68 1308 O. Preserve any Warranty Disclaimers.
jpayne@68 1309
jpayne@68 1310 If the Modified Version includes new front-matter sections or
jpayne@68 1311 appendices that qualify as Secondary Sections and contain no
jpayne@68 1312 material copied from the Document, you may at your option designate
jpayne@68 1313 some or all of these sections as invariant. To do this, add their
jpayne@68 1314 titles to the list of Invariant Sections in the Modified Version's
jpayne@68 1315 license notice. These titles must be distinct from any other
jpayne@68 1316 section titles.
jpayne@68 1317
jpayne@68 1318 You may add a section Entitled "Endorsements", provided it contains
jpayne@68 1319 nothing but endorsements of your Modified Version by various
jpayne@68 1320 parties--for example, statements of peer review or that the text
jpayne@68 1321 has been approved by an organization as the authoritative
jpayne@68 1322 definition of a standard.
jpayne@68 1323
jpayne@68 1324 You may add a passage of up to five words as a Front-Cover Text,
jpayne@68 1325 and a passage of up to 25 words as a Back-Cover Text, to the end of
jpayne@68 1326 the list of Cover Texts in the Modified Version. Only one passage
jpayne@68 1327 of Front-Cover Text and one of Back-Cover Text may be added by (or
jpayne@68 1328 through arrangements made by) any one entity. If the Document
jpayne@68 1329 already includes a cover text for the same cover, previously added
jpayne@68 1330 by you or by arrangement made by the same entity you are acting on
jpayne@68 1331 behalf of, you may not add another; but you may replace the old
jpayne@68 1332 one, on explicit permission from the previous publisher that added
jpayne@68 1333 the old one.
jpayne@68 1334
jpayne@68 1335 The author(s) and publisher(s) of the Document do not by this
jpayne@68 1336 License give permission to use their names for publicity for or to
jpayne@68 1337 assert or imply endorsement of any Modified Version.
jpayne@68 1338
jpayne@68 1339 5. COMBINING DOCUMENTS
jpayne@68 1340
jpayne@68 1341 You may combine the Document with other documents released under
jpayne@68 1342 this License, under the terms defined in section 4 above for
jpayne@68 1343 modified versions, provided that you include in the combination all
jpayne@68 1344 of the Invariant Sections of all of the original documents,
jpayne@68 1345 unmodified, and list them all as Invariant Sections of your
jpayne@68 1346 combined work in its license notice, and that you preserve all
jpayne@68 1347 their Warranty Disclaimers.
jpayne@68 1348
jpayne@68 1349 The combined work need only contain one copy of this License, and
jpayne@68 1350 multiple identical Invariant Sections may be replaced with a single
jpayne@68 1351 copy. If there are multiple Invariant Sections with the same name
jpayne@68 1352 but different contents, make the title of each such section unique
jpayne@68 1353 by adding at the end of it, in parentheses, the name of the
jpayne@68 1354 original author or publisher of that section if known, or else a
jpayne@68 1355 unique number. Make the same adjustment to the section titles in
jpayne@68 1356 the list of Invariant Sections in the license notice of the
jpayne@68 1357 combined work.
jpayne@68 1358
jpayne@68 1359 In the combination, you must combine any sections Entitled
jpayne@68 1360 "History" in the various original documents, forming one section
jpayne@68 1361 Entitled "History"; likewise combine any sections Entitled
jpayne@68 1362 "Acknowledgements", and any sections Entitled "Dedications". You
jpayne@68 1363 must delete all sections Entitled "Endorsements."
jpayne@68 1364
jpayne@68 1365 6. COLLECTIONS OF DOCUMENTS
jpayne@68 1366
jpayne@68 1367 You may make a collection consisting of the Document and other
jpayne@68 1368 documents released under this License, and replace the individual
jpayne@68 1369 copies of this License in the various documents with a single copy
jpayne@68 1370 that is included in the collection, provided that you follow the
jpayne@68 1371 rules of this License for verbatim copying of each of the documents
jpayne@68 1372 in all other respects.
jpayne@68 1373
jpayne@68 1374 You may extract a single document from such a collection, and
jpayne@68 1375 distribute it individually under this License, provided you insert
jpayne@68 1376 a copy of this License into the extracted document, and follow this
jpayne@68 1377 License in all other respects regarding verbatim copying of that
jpayne@68 1378 document.
jpayne@68 1379
jpayne@68 1380 7. AGGREGATION WITH INDEPENDENT WORKS
jpayne@68 1381
jpayne@68 1382 A compilation of the Document or its derivatives with other
jpayne@68 1383 separate and independent documents or works, in or on a volume of a
jpayne@68 1384 storage or distribution medium, is called an "aggregate" if the
jpayne@68 1385 copyright resulting from the compilation is not used to limit the
jpayne@68 1386 legal rights of the compilation's users beyond what the individual
jpayne@68 1387 works permit. When the Document is included in an aggregate, this
jpayne@68 1388 License does not apply to the other works in the aggregate which
jpayne@68 1389 are not themselves derivative works of the Document.
jpayne@68 1390
jpayne@68 1391 If the Cover Text requirement of section 3 is applicable to these
jpayne@68 1392 copies of the Document, then if the Document is less than one half
jpayne@68 1393 of the entire aggregate, the Document's Cover Texts may be placed
jpayne@68 1394 on covers that bracket the Document within the aggregate, or the
jpayne@68 1395 electronic equivalent of covers if the Document is in electronic
jpayne@68 1396 form. Otherwise they must appear on printed covers that bracket
jpayne@68 1397 the whole aggregate.
jpayne@68 1398
jpayne@68 1399 8. TRANSLATION
jpayne@68 1400
jpayne@68 1401 Translation is considered a kind of modification, so you may
jpayne@68 1402 distribute translations of the Document under the terms of section
jpayne@68 1403 4. Replacing Invariant Sections with translations requires special
jpayne@68 1404 permission from their copyright holders, but you may include
jpayne@68 1405 translations of some or all Invariant Sections in addition to the
jpayne@68 1406 original versions of these Invariant Sections. You may include a
jpayne@68 1407 translation of this License, and all the license notices in the
jpayne@68 1408 Document, and any Warranty Disclaimers, provided that you also
jpayne@68 1409 include the original English version of this License and the
jpayne@68 1410 original versions of those notices and disclaimers. In case of a
jpayne@68 1411 disagreement between the translation and the original version of
jpayne@68 1412 this License or a notice or disclaimer, the original version will
jpayne@68 1413 prevail.
jpayne@68 1414
jpayne@68 1415 If a section in the Document is Entitled "Acknowledgements",
jpayne@68 1416 "Dedications", or "History", the requirement (section 4) to
jpayne@68 1417 Preserve its Title (section 1) will typically require changing the
jpayne@68 1418 actual title.
jpayne@68 1419
jpayne@68 1420 9. TERMINATION
jpayne@68 1421
jpayne@68 1422 You may not copy, modify, sublicense, or distribute the Document
jpayne@68 1423 except as expressly provided for under this License. Any other
jpayne@68 1424 attempt to copy, modify, sublicense or distribute the Document is
jpayne@68 1425 void, and will automatically terminate your rights under this
jpayne@68 1426 License. However, parties who have received copies, or rights,
jpayne@68 1427 from you under this License will not have their licenses terminated
jpayne@68 1428 so long as such parties remain in full compliance.
jpayne@68 1429
jpayne@68 1430 10. FUTURE REVISIONS OF THIS LICENSE
jpayne@68 1431
jpayne@68 1432 The Free Software Foundation may publish new, revised versions of
jpayne@68 1433 the GNU Free Documentation License from time to time. Such new
jpayne@68 1434 versions will be similar in spirit to the present version, but may
jpayne@68 1435 differ in detail to address new problems or concerns. See
jpayne@68 1436 <https://www.gnu.org/copyleft/>.
jpayne@68 1437
jpayne@68 1438 Each version of the License is given a distinguishing version
jpayne@68 1439 number. If the Document specifies that a particular numbered
jpayne@68 1440 version of this License "or any later version" applies to it, you
jpayne@68 1441 have the option of following the terms and conditions either of
jpayne@68 1442 that specified version or of any later version that has been
jpayne@68 1443 published (not as a draft) by the Free Software Foundation. If the
jpayne@68 1444 Document does not specify a version number of this License, you may
jpayne@68 1445 choose any version ever published (not as a draft) by the Free
jpayne@68 1446 Software Foundation.
jpayne@68 1447
jpayne@68 1448 ADDENDUM: How to use this License for your documents
jpayne@68 1449 ====================================================
jpayne@68 1450
jpayne@68 1451 To use this License in a document you have written, include a copy of
jpayne@68 1452 the License in the document and put the following copyright and license
jpayne@68 1453 notices just after the title page:
jpayne@68 1454
jpayne@68 1455 Copyright (C) YEAR YOUR NAME.
jpayne@68 1456 Permission is granted to copy, distribute and/or modify this document
jpayne@68 1457 under the terms of the GNU Free Documentation License, Version 1.2
jpayne@68 1458 or any later version published by the Free Software Foundation;
jpayne@68 1459 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
jpayne@68 1460 Texts. A copy of the license is included in the section entitled ``GNU
jpayne@68 1461 Free Documentation License''.
jpayne@68 1462
jpayne@68 1463 If you have Invariant Sections, Front-Cover Texts and Back-Cover
jpayne@68 1464 Texts, replace the "with...Texts." line with this:
jpayne@68 1465
jpayne@68 1466 with the Invariant Sections being LIST THEIR TITLES, with
jpayne@68 1467 the Front-Cover Texts being LIST, and with the Back-Cover Texts
jpayne@68 1468 being LIST.
jpayne@68 1469
jpayne@68 1470 If you have Invariant Sections without Cover Texts, or some other
jpayne@68 1471 combination of the three, merge those two alternatives to suit the
jpayne@68 1472 situation.
jpayne@68 1473
jpayne@68 1474 If your document contains nontrivial examples of program code, we
jpayne@68 1475 recommend releasing these examples in parallel under your choice of free
jpayne@68 1476 software license, such as the GNU General Public License, to permit
jpayne@68 1477 their use in free software.
jpayne@68 1478
jpayne@68 1479
jpayne@68 1480 
jpayne@68 1481 Tag Table:
jpayne@68 1482 Node: Top1355
jpayne@68 1483 Node: Introduction1717
jpayne@68 1484 Node: Class autosprintf2873
jpayne@68 1485 Node: Using autosprintf3887
jpayne@68 1486 Node: Licenses4702
jpayne@68 1487 Node: GNU LGPL6447
jpayne@68 1488 Node: GNU GPL34574
jpayne@68 1489 Node: GNU FDL53833
jpayne@68 1490 
jpayne@68 1491 End Tag Table
jpayne@68 1492
jpayne@68 1493 
jpayne@68 1494 Local Variables:
jpayne@68 1495 coding: utf-8
jpayne@68 1496 End: