annotate COPYING @ 73331:f21883dcffa9

Merge from upstream, upto version 5.22. After 5.0: `cperl-add-tags-recurse-noxs-fullpath': new function (for -batch mode) After 5.1: ;; Major edit. Summary of most visible changes: ;; a) Multiple <<HERE per line allowed. ;; b) Handles multiline subroutine declaration headers (with comments). ;; (The exception is `cperl-etags' - but it is not used in the rest ;; of the mode.) ;; c) Fontifies multiline my/our declarations (even with comments, ;; and with legacy `font-lock'). ;; d) Major speedup of syntaxification, both immediate and postponed ;; (3.5x to 15x [for different CPUs and versions of Emacs] on the ;; huge real-life document I tested). ;; e) New bindings, edits to imenu. ;; f) "_" is made into word-char during fontification/syntaxification; ;; some attempts to recognize non-word "_" during other operations too. ;; g) Detect bug in Emacs with `looking-at' inside `narrow' and bulk out. ;; h) autoload some more perldoc-related stuff ;; i) Some new convenience features: ISpell POD/HEREDOCs, narrow-to-HEREDOC ;; j) Attempt to incorporate XEmacs edits which reached me Fine-grained changelog: `cperl-hook-after-change': New configuration variable `cperl-vc-sccs-header': Likewise. `cperl-vc-sccs-header': Likewise. `cperl-vc-header-alist': Default via two preceding variables `cperl-invalid-face': Remove double quoting under XEmacs (still needed under 21.2) `cperl-tips': Update URLs for resources `cperl-problems': Likewise. `cperl-praise': Mention new features New C-c key bindings: for `cperl-find-bad-style', `cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc', `cperl-perdoc', `cperl-perldoc-at-point' CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" moved, new submenu of Tools with Ispell entries and narrowing. `cperl-after-sub-regexp': New defsubst `cperl-imenu--function-name-regexp-perl': Use `cperl-after-sub-regexp', Allows heads up to head4 Allow "package;" `defun-prompt-regexp': Use `cperl-after-sub-regexp', `paren-backwards-message': ??? Something for XEmacs??? `cperl-mode': Never auto-switch abbrev-mode off Try to allow '_' be non-word char Do not use `font-lock-unfontify-region-function' on XEmacs Reset syntax cache on mode start Support multiline facification (even on legacy `font-lock') `cperl-facemenu-add-face-function': ??? Some contributed code ??? `cperl-after-change-function': Since `font-lock' and `lazy-lock' refuse to inform us whether the fontification is due to lazy calling or due to edit to a buffer, install our own hook (controlled by `cperl-hook-after-change') `cperl-electric-pod': =cut may have been recognized as start `cperl-block-p': Moved, updated for attributes `cperl-calculate-indent': Try to allow '_' be non-word char Support subs with attributes `cperl-where-am-i': Queit (?) a warning `cperl-cached-syntax-table' New function `cperl-forward-re': Use `cperl-cached-syntax-table' `cperl-unwind-to-safe': Recognize `syntax-type' property changing in a middle of line `cperl-find-sub-attrs': New function `cperl-find-pods-heres': Allow many <<EOP per line Allow subs with attributes Major speedups (3.5x..15x on a real-life test file nph-proxy.pl) Recognize "extproc " (OS/2) case-folded and only at start /x on s///x with empty replacement was not recognized Better comments `cperl-after-block-p': Remarks on diff with `cperl-block-p' Allow subs with attributes, labels Do not confuse "else::foo" with "else" Minor optimizations... `cperl-after-expr-p': Try to allow '_' be non-word char `cperl-fill-paragraph': Try to detect a major bug in Emacs with `looking-at' inside `narrow' and bulk out if found `cperl-imenu--create-perl-index': Updates for new `cperl-imenu--function-name-regexp-perl' `cperl-outline-level': Likewise. `cperl-init-faces': Allow multiline subroutine headers and my/our declarations, and ones with comments Allow subroutine attributes `cperl-imenu-on-info': Better docstring. `cperl-etags' Rudimentary support for attributes Support for packages and "package;" `cperl-add-tags-recurse-noxs': Better (?) docstring `cperl-add-tags-recurse-noxs-fullpath': Likewise. `cperl-tags-hier-init': Misprint for `fboundp' fixed `cperl-not-bad-style-regexp': Try to allow '_' be non-word char `cperl-perldoc': Add autoload `cperl-perldoc-at-point': Likewise. `cperl-here-doc-spell': New function `cperl-pod-spell': Likewise. `cperl-map-pods-heres': Likewise. `cperl-get-here-doc-region': Likewise. `cperl-font-lock-fontify-region-function': Likewise (backward compatibility for legacy `font-lock') `cperl-font-lock-unfontify-region-function': Fix style `cperl-fontify-syntaxically': Recognize and optimize away deferred calls with no-change. Governed by `cperl-hook-after-change' `cperl-fontify-update': Recognize that syntaxification region can be larger than fontification one. XXXX we leave `cperl-postpone' property, so this is quadratic... `cperl-fontify-update-bad': Temporary placeholder until it is clear how to implement `cperl-fontify-update'. `cperl-time-fontification': New function `attrib-group': New text attribute `multiline': New value: `syntax-type' text attribute After 5.2: `cperl-emulate-lazy-lock': New function `cperl-fontify-syntaxically': Would skip large regions Add `cperl-time-fontification', `cperl-emulate-lazy-lock' to menu Some globals were declared, but uninitialized After 5.3, 5.4: `cperl-facemenu-add-face-function': Add docs, fix U<> Copyright message updated. `cperl-init-faces': Work around a bug in `font-lock'. May slow facification down a bit. Misprint for my|our|local for old `font-lock' "our" was not fontified same as "my|local" Highlight variables after "my" etc even in a middle of an expression Do not facify multiple variables after my etc unless parentheses are present After 5.5, 5.6 `cperl-fontify-syntaxically': after-change hook could reset `cperl-syntax-done-to' to a middle of line; unwind to BOL. After 5.7: `cperl-init-faces': Allow highlighting of local ($/) `cperl-problems-old-emaxen': New variable (for the purpose of DOCSTRING). `cperl-problems': Remove fixed problems. `cperl-find-pods-heres': Recognize #-comments in m##x too Recognize charclasses (unless delimiter is \). `cperl-fontify-syntaxically': Unwinding to safe was done in wrong order `cperl-regexp-scan': Update docs `cperl-beautify-regexp-piece': use information got from regexp scan After 5.8: Major user visible changes: Recognition and fontification of character classes in RExen. Variable indentation of RExen according to groups `cperl-find-pods-heres': Recognize POSIX classes in REx charclasses Fontify REx charclasses in variable-name face Fontify POSIX charclasses in "type" face Fontify unmatched "]" in function-name face Mark first-char of HERE-doc as `front-sticky' Reset `front-sticky' property when needed `cperl-calculate-indent': Indents //x -RExen accordning to parens level `cperl-to-comment-or-eol': Recognize ends of `syntax-type' constructs `cperl-backward-to-noncomment': Recognize stringy `syntax-type' constructs Support `narrow'ed buffers. `cperl-praise': Remove a reservation `cperl-make-indent': New function `cperl-indent-for-comment': Use `cperl-make-indent' `cperl-indent-line': Likewise. `cperl-lineup': Likewise. `cperl-beautify-regexp-piece': Likewise. `cperl-contract-level': Likewise. `cperl-toggle-set-debug-unwind': New function New menu entry for this `fill-paragraph-function': Use when `boundp' `cperl-calculate-indent': Take into account groups when indenting RExen `cperl-to-comment-or-eol': Recognize # which end a string `cperl-modify-syntax-type': Make only syntax-table property non-sticky `cperl-fill-paragraph': Return t: needed for `fill-paragraph-function' `cperl-fontify-syntaxically': More clear debugging message `cperl-pod2man-build-command': XEmacs portability: check `Man-filter-list' `cperl-init-faces': More complicated highlight even on XEmacs (new) Merge cosmetic changes from XEmacs After 5.9: `cperl-1+': Moved to before the first use `cperl-1-': Likewise. After 5.10: This code may lock Emacs hard!!! Use on your own risk! `cperl-font-locking': New internal variable `cperl-beginning-of-property': New function `cperl-calculate-indent': Use `cperl-beginning-of-property' instead of `previous-single-property-change' `cperl-unwind-to-safe': Likewise. `cperl-after-expr-p': Likewise. `cperl-get-here-doc-region': Likewise. `cperl-font-lock-fontify-region-function': Likewise. `cperl-to-comment-or-eol': Do not call `cperl-update-syntaxification' recursively Bound `next-single-property-change' via `point-max' `cperl-unwind-to-safe': Bound likewise `cperl-font-lock-fontify-region-function': Likewise. `cperl-find-pods-heres': Mark as recursive for `cperl-to-comment-or-eol' Initialization of `cperl-font-lock-multiline-start' could be missed if the "main" fontification did not run due to the keyword being already fontified. `cperl-pod-spell': Return t from do-one-chunk function `cperl-map-pods-heres': Stop when the worker returns nil Call `cperl-update-syntaxification' `cperl-get-here-doc-region': Call `cperl-update-syntaxification' `cperl-get-here-doc-delim': Remove unused function After 5.11: The possible lockup of Emacs (introduced in 5.10) fixed `cperl-unwind-to-safe': `cperl-beginning-of-property' won't return nil `cperl-syntaxify-for-menu': New customization variable `cperl-select-this-pod-or-here-doc': New function `cperl-get-here-doc-region': Extra argument Do not adjust pos by 1 New menu entries (Perl/Tools): Selection of current POD or HERE-DOC section (Debugging CPerl:) backtrace on fontification After 5.12: `cperl-cached-syntax-table': use `car-safe' `cperl-forward-re': Remove spurious argument SET-ST Add documentation `cperl-forward-group-in-re': New function `cperl-find-pods-heres': Find and highlight (?{}) blocks in RExen (XXXX Temporary (?) hack is to syntax-mark them as comment) After 5.13: `cperl-string-syntax-table': Make { and } not-grouping (Sometimes they ARE grouping in RExen, but matching them would only confuse in many situations when they are not) `beginning-of-buffer': Replaced two occurences with goto-char... `cperl-calculate-indent': `char-after' could be nil... `cperl-find-pods-heres': REx can start after "[" too Hightlight (??{}) in RExen too `cperl-maybe-white-and-comment-rex': New constant `cperl-white-and-comment-rex': Likewise. XXXX Not very efficient, but hard to make better while keeping 1 group After 5.13: `cperl-find-pods-heres': $foo << identifier() is not a HERE-DOC Likewise for 1 << identifier After 5.14: `cperl-find-pods-heres': Different logic for $foo .= <<EOF etc Error-less condition-case could fail `cperl-font-lock-fontify-region-function': Likewise. `cperl-init-faces': Likewise. After 5.15: `cperl-find-pods-heres': Support property REx-part2 `cperl-calculate-indent': Likewise. Don't special-case REx with non-empty 1st line `cperl-find-pods-heres': In RExen, highlight non-literal backslashes Invert highlighting of charclasses: now the envelop is highlighted Highlight many others 0-length builtins `cperl-praise': Mention indenting and highlight in RExen After 5.15: `cperl-find-pods-heres': Highlight capturing parens in REx After 5.16: `cperl-find-pods-heres': Highlight '|' for alternation Initialize `font-lock-warning-face' if not present `cperl-find-pods-heres': Use `font-lock-warning-face' instead of `font-lock-function-name-face' `cperl-look-at-leading-count': Likewise. `cperl-find-pods-heres': localize `font-lock-variable-name-face' `font-lock-keyword-face' (needed for batch processing) etc Use `font-lock-builtin-face' for builtin in REx Now `font-lock-variable-name-face' is used for interpolated variables Use "talking aliases" for faces inside REx Highlight parts of REx (except in charclasses) according to the syntax and/or semantic Syntax-mark a {}-part of (?{}) as "comment" (it was the ()-part) Better logic to distinguish what is what in REx `cperl-tips-faces': Document REx highlighting `cperl-praise': Mention REx syntax highlight etc. After 5.17: `cperl-find-sub-attrs': Would not always manage to print error message `cperl-find-pods-heres': localize `font-lock-constant-face' After 5.18: `cperl-find-pods-heres': Misprint in REx for parsing REx Very minor optimization `my-cperl-REx-modifiers-face' got quoted Recognize "print $foo <<END" as HERE-doc Put `REx-interpolated' text attribute if needed `cperl-invert-if-unless-modifiers': New function `cperl-backward-to-start-of-expr': Likewise. `cperl-forward-to-end-of-expr': Likewise. `cperl-invert-if-unless': Works in "the opposite way" too Cursor position on return is on the switch-word Indents comments better `REx-interpolated': New text attribute `cperl-next-interpolated-REx': New function `cperl-next-interpolated-REx-0': Likewise. `cperl-next-interpolated-REx-1': Likewise. "\C-c\C-x", "\C-c\C-y", "\C-c\C-v": New keybinding for these functions Perl/Regexp menu: 3 new entries for `cperl-next-interpolated-REx' `cperl-praise': Mention finded interpolated RExen After 5.19: `cperl-init-faces': Highlight %$foo, @$foo too `cperl-short-docs': Better docs for system, exec `cperl-find-pods-heres': Better detect << after print {FH} <<EOF etc. Would not find HERE-doc ended by EOF without NL `cperl-short-docs': Correct not-doubled \-escapes start block: Put some `defvar' for stuff gone from XEmacs After 5.20: initial comment: Extend copyright, fix email address `cperl-indent-comment-at-column-0': New customization variable `cperl-comment-indent': Indentation after $#a would increasy by 1 `cperl-mode': Make `defun-prompt-regexp' grok BEGIN/END etc `cperl-find-pods-heres': Mark CODE of s///e as `syntax-type' `multiline' `cperl-at-end-of-expr': Would fail if @BAR=12 follows after ";" `cperl-init-faces': If `cperl-highlight-variables-indiscriminately' highlight $ in $foo too (UNTESTED) `cperl-set-style': Docstring missed some available styles toplevel: Menubar/Perl/Indent-Styles had FSF, now K&R Change "Current" to "Memorize Current" `cperl-indent-wrt-brace': New customization variable; the default is as for pre-5.2 version `cperl-styles-entries': Keep `cperl-extra-newline-before-brace-multiline' `cperl-style-alist': Likewise. `cperl-fix-line-spacing': Support `cperl-merge-trailing-else' being nil, and `cperl-extra-newline-before-brace' etc being t `cperl-indent-exp': Plans B and C to find continuation blocks even if `cperl-extra-newline-before-brace' is t After 5.21: Improve some docstrings concerning indentation. `cperl-indent-rules-alist': New variable `cperl-sniff-for-indent': New function name (separated from `cperl-calculate-indent') `cperl-calculate-indent': Separated the sniffer and the indenter; uses `cperl-sniff-for-indent' now `cperl-comment-indent': Test for `cperl-indent-comment-at-column-0' was inverted; Support `comment-column' = 0
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 11 Oct 2006 06:47:35 +0000
parents 6aa0743375c1
children ab447da32127
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1 GNU GENERAL PUBLIC LICENSE
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
2 Version 2, June 1991
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
3
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
5 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
6 Everyone is permitted to copy and distribute verbatim copies
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
7 of this license document, but changing it is not allowed.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
8
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
9 Preamble
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
10
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
11 The licenses for most software are designed to take away your
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
12 freedom to share and change it. By contrast, the GNU General Public
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
13 License is intended to guarantee your freedom to share and change free
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
14 software--to make sure the software is free for all its users. This
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
15 General Public License applies to most of the Free Software
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
16 Foundation's software and to any other program whose authors commit to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
17 using it. (Some other Free Software Foundation software is covered by
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
18 the GNU Lesser General Public License instead.) You can apply it to
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
19 your programs, too.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
20
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
21 When we speak of free software, we are referring to freedom, not
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
22 price. Our General Public Licenses are designed to make sure that you
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
23 have the freedom to distribute copies of free software (and charge for
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
24 this service if you wish), that you receive source code or can get it
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
25 if you want it, that you can change the software or use pieces of it
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
26 in new free programs; and that you know you can do these things.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
27
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
28 To protect your rights, we need to make restrictions that forbid
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
29 anyone to deny you these rights or to ask you to surrender the rights.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
30 These restrictions translate to certain responsibilities for you if you
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
31 distribute copies of the software, or if you modify it.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
32
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
33 For example, if you distribute copies of such a program, whether
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
34 gratis or for a fee, you must give the recipients all the rights that
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
35 you have. You must make sure that they, too, receive or can get the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
36 source code. And you must show them these terms so they know their
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
37 rights.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
38
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
39 We protect your rights with two steps: (1) copyright the software, and
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
40 (2) offer you this license which gives you legal permission to copy,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41 distribute and/or modify the software.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
42
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
43 Also, for each author's protection and ours, we want to make certain
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
44 that everyone understands that there is no warranty for this free
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
45 software. If the software is modified by someone else and passed on, we
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
46 want its recipients to know that what they have is not the original, so
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
47 that any problems introduced by others will not reflect on the original
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
48 authors' reputations.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
49
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
50 Finally, any free program is threatened constantly by software
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
51 patents. We wish to avoid the danger that redistributors of a free
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
52 program will individually obtain patent licenses, in effect making the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
53 program proprietary. To prevent this, we have made it clear that any
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
54 patent must be licensed for everyone's free use or not licensed at all.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
55
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
56 The precise terms and conditions for copying, distribution and
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
57 modification follow.
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
58
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
59 GNU GENERAL PUBLIC LICENSE
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
60 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
61
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
62 0. This License applies to any program or other work which contains
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
63 a notice placed by the copyright holder saying it may be distributed
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
64 under the terms of this General Public License. The "Program", below,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
65 refers to any such program or work, and a "work based on the Program"
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
66 means either the Program or any derivative work under copyright law:
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
67 that is to say, a work containing the Program or a portion of it,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
68 either verbatim or with modifications and/or translated into another
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
69 language. (Hereinafter, translation is included without limitation in
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
70 the term "modification".) Each licensee is addressed as "you".
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
71
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
72 Activities other than copying, distribution and modification are not
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
73 covered by this License; they are outside its scope. The act of
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
74 running the Program is not restricted, and the output from the Program
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
75 is covered only if its contents constitute a work based on the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
76 Program (independent of having been made by running the Program).
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
77 Whether that is true depends on what the Program does.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
78
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
79 1. You may copy and distribute verbatim copies of the Program's
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
80 source code as you receive it, in any medium, provided that you
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
81 conspicuously and appropriately publish on each copy an appropriate
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
82 copyright notice and disclaimer of warranty; keep intact all the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
83 notices that refer to this License and to the absence of any warranty;
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
84 and give any other recipients of the Program a copy of this License
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
85 along with the Program.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
86
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
87 You may charge a fee for the physical act of transferring a copy, and
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
88 you may at your option offer warranty protection in exchange for a fee.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
89
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
90 2. You may modify your copy or copies of the Program or any portion
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
91 of it, thus forming a work based on the Program, and copy and
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
92 distribute such modifications or work under the terms of Section 1
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
93 above, provided that you also meet all of these conditions:
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
94
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
95 a) You must cause the modified files to carry prominent notices
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
96 stating that you changed the files and the date of any change.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
97
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
98 b) You must cause any work that you distribute or publish, that in
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
99 whole or in part contains or is derived from the Program or any
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
100 part thereof, to be licensed as a whole at no charge to all third
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
101 parties under the terms of this License.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
102
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
103 c) If the modified program normally reads commands interactively
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
104 when run, you must cause it, when started running for such
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
105 interactive use in the most ordinary way, to print or display an
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
106 announcement including an appropriate copyright notice and a
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
107 notice that there is no warranty (or else, saying that you provide
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
108 a warranty) and that users may redistribute the program under
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
109 these conditions, and telling the user how to view a copy of this
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
110 License. (Exception: if the Program itself is interactive but
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
111 does not normally print such an announcement, your work based on
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
112 the Program is not required to print an announcement.)
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
113
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
114 These requirements apply to the modified work as a whole. If
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
115 identifiable sections of that work are not derived from the Program,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
116 and can be reasonably considered independent and separate works in
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
117 themselves, then this License, and its terms, do not apply to those
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
118 sections when you distribute them as separate works. But when you
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
119 distribute the same sections as part of a whole which is a work based
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
120 on the Program, the distribution of the whole must be on the terms of
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
121 this License, whose permissions for other licensees extend to the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
122 entire whole, and thus to each and every part regardless of who wrote it.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
123
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
124 Thus, it is not the intent of this section to claim rights or contest
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
125 your rights to work written entirely by you; rather, the intent is to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
126 exercise the right to control the distribution of derivative or
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
127 collective works based on the Program.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
128
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
129 In addition, mere aggregation of another work not based on the Program
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
130 with the Program (or with a work based on the Program) on a volume of
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
131 a storage or distribution medium does not bring the other work under
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
132 the scope of this License.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
133
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
134 3. You may copy and distribute the Program (or a work based on it,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
135 under Section 2) in object code or executable form under the terms of
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
136 Sections 1 and 2 above provided that you also do one of the following:
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
137
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
138 a) Accompany it with the complete corresponding machine-readable
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
139 source code, which must be distributed under the terms of Sections
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
140 1 and 2 above on a medium customarily used for software interchange; or,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
141
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
142 b) Accompany it with a written offer, valid for at least three
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
143 years, to give any third party, for a charge no more than your
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
144 cost of physically performing source distribution, a complete
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
145 machine-readable copy of the corresponding source code, to be
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
146 distributed under the terms of Sections 1 and 2 above on a medium
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
147 customarily used for software interchange; or,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
148
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
149 c) Accompany it with the information you received as to the offer
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
150 to distribute corresponding source code. (This alternative is
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
151 allowed only for noncommercial distribution and only if you
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
152 received the program in object code or executable form with such
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
153 an offer, in accord with Subsection b above.)
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
154
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
155 The source code for a work means the preferred form of the work for
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
156 making modifications to it. For an executable work, complete source
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
157 code means all the source code for all modules it contains, plus any
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
158 associated interface definition files, plus the scripts used to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
159 control compilation and installation of the executable. However, as a
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
160 special exception, the source code distributed need not include
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
161 anything that is normally distributed (in either source or binary
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
162 form) with the major components (compiler, kernel, and so on) of the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
163 operating system on which the executable runs, unless that component
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
164 itself accompanies the executable.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
165
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
166 If distribution of executable or object code is made by offering
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
167 access to copy from a designated place, then offering equivalent
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
168 access to copy the source code from the same place counts as
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
169 distribution of the source code, even though third parties are not
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
170 compelled to copy the source along with the object code.
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
171
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
172 4. You may not copy, modify, sublicense, or distribute the Program
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
173 except as expressly provided under this License. Any attempt
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
174 otherwise to copy, modify, sublicense or distribute the Program is
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
175 void, and will automatically terminate your rights under this License.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
176 However, parties who have received copies, or rights, from you under
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
177 this License will not have their licenses terminated so long as such
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
178 parties remain in full compliance.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
179
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
180 5. You are not required to accept this License, since you have not
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
181 signed it. However, nothing else grants you permission to modify or
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
182 distribute the Program or its derivative works. These actions are
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
183 prohibited by law if you do not accept this License. Therefore, by
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
184 modifying or distributing the Program (or any work based on the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
185 Program), you indicate your acceptance of this License to do so, and
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
186 all its terms and conditions for copying, distributing or modifying
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
187 the Program or works based on it.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
188
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
189 6. Each time you redistribute the Program (or any work based on the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
190 Program), the recipient automatically receives a license from the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
191 original licensor to copy, distribute or modify the Program subject to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
192 these terms and conditions. You may not impose any further
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
193 restrictions on the recipients' exercise of the rights granted herein.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
194 You are not responsible for enforcing compliance by third parties to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
195 this License.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
196
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
197 7. If, as a consequence of a court judgment or allegation of patent
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
198 infringement or for any other reason (not limited to patent issues),
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
199 conditions are imposed on you (whether by court order, agreement or
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
200 otherwise) that contradict the conditions of this License, they do not
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
201 excuse you from the conditions of this License. If you cannot
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
202 distribute so as to satisfy simultaneously your obligations under this
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
203 License and any other pertinent obligations, then as a consequence you
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
204 may not distribute the Program at all. For example, if a patent
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
205 license would not permit royalty-free redistribution of the Program by
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
206 all those who receive copies directly or indirectly through you, then
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
207 the only way you could satisfy both it and this License would be to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
208 refrain entirely from distribution of the Program.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
209
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
210 If any portion of this section is held invalid or unenforceable under
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
211 any particular circumstance, the balance of the section is intended to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
212 apply and the section as a whole is intended to apply in other
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
213 circumstances.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
214
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
215 It is not the purpose of this section to induce you to infringe any
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
216 patents or other property right claims or to contest validity of any
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
217 such claims; this section has the sole purpose of protecting the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
218 integrity of the free software distribution system, which is
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
219 implemented by public license practices. Many people have made
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
220 generous contributions to the wide range of software distributed
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
221 through that system in reliance on consistent application of that
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
222 system; it is up to the author/donor to decide if he or she is willing
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
223 to distribute software through any other system and a licensee cannot
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
224 impose that choice.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
225
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
226 This section is intended to make thoroughly clear what is believed to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
227 be a consequence of the rest of this License.
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
228
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
229 8. If the distribution and/or use of the Program is restricted in
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
230 certain countries either by patents or by copyrighted interfaces, the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
231 original copyright holder who places the Program under this License
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
232 may add an explicit geographical distribution limitation excluding
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
233 those countries, so that distribution is permitted only in or among
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
234 countries not thus excluded. In such case, this License incorporates
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
235 the limitation as if written in the body of this License.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
236
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
237 9. The Free Software Foundation may publish revised and/or new versions
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
238 of the General Public License from time to time. Such new versions will
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
239 be similar in spirit to the present version, but may differ in detail to
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
240 address new problems or concerns.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
241
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
242 Each version is given a distinguishing version number. If the Program
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
243 specifies a version number of this License which applies to it and "any
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
244 later version", you have the option of following the terms and conditions
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
245 either of that version or of any later version published by the Free
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
246 Software Foundation. If the Program does not specify a version number of
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
247 this License, you may choose any version ever published by the Free Software
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
248 Foundation.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
249
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
250 10. If you wish to incorporate parts of the Program into other free
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
251 programs whose distribution conditions are different, write to the author
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
252 to ask for permission. For software which is copyrighted by the Free
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
253 Software Foundation, write to the Free Software Foundation; we sometimes
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
254 make exceptions for this. Our decision will be guided by the two goals
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
255 of preserving the free status of all derivatives of our free software and
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
256 of promoting the sharing and reuse of software generally.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
257
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
258 NO WARRANTY
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
259
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
260 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
261 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
262 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
263 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
264 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
265 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
266 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
267 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
268 REPAIR OR CORRECTION.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
269
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
270 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
271 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
272 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
273 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
274 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
275 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
276 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
277 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
278 POSSIBILITY OF SUCH DAMAGES.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
279
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
280 END OF TERMS AND CONDITIONS
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
281
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
282 How to Apply These Terms to Your New Programs
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
283
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
284 If you develop a new program, and you want it to be of the greatest
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
285 possible use to the public, the best way to achieve this is to make it
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
286 free software which everyone can redistribute and change under these terms.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
287
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
288 To do so, attach the following notices to the program. It is safest
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
289 to attach them to the start of each source file to most effectively
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
290 convey the exclusion of warranty; and each file should have at least
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
291 the "copyright" line and a pointer to where the full notice is found.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
292
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
293 <one line to give the program's name and a brief idea of what it does.>
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
294 Copyright (C) <year> <name of author>
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
295
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
296 This program is free software; you can redistribute it and/or modify
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
297 it under the terms of the GNU General Public License as published by
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
298 the Free Software Foundation; either version 2 of the License, or
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
299 (at your option) any later version.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
300
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
301 This program is distributed in the hope that it will be useful,
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
302 but WITHOUT ANY WARRANTY; without even the implied warranty of
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
303 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
304 GNU General Public License for more details.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
305
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
306 You should have received a copy of the GNU General Public License along
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
307 with this program; if not, write to the Free Software Foundation, Inc.,
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
308 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
309
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
310 Also add information on how to contact you by electronic and paper mail.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
311
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
312 If the program is interactive, make it output a short notice like this
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
313 when it starts in an interactive mode:
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
314
63918
d92149473c34 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 36527
diff changeset
315 Gnomovision version 69, Copyright (C) year name of author
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
316 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
317 This is free software, and you are welcome to redistribute it
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
318 under certain conditions; type `show c' for details.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
319
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
320 The hypothetical commands `show w' and `show c' should show the appropriate
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
321 parts of the General Public License. Of course, the commands you use may
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
322 be called something other than `show w' and `show c'; they could even be
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
323 mouse-clicks or menu items--whatever suits your program.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
324
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
325 You should also get your employer (if you work as a programmer) or your
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
326 school, if any, to sign a "copyright disclaimer" for the program, if
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
327 necessary. Here is a sample; alter the names:
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
328
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
329 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
330 `Gnomovision' (which makes passes at compilers) written by James Hacker.
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
331
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
332 <signature of Ty Coon>, 1 April 1989
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
333 Ty Coon, President of Vice
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
334
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
335 This General Public License does not permit incorporating your program into
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
336 proprietary programs. If your program is a subroutine library, you may
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
337 consider it more useful to permit linking proprietary applications with the
72901
6aa0743375c1 Replace "Library Public License" by "Lesser Public License" throughout.
Jay Belanger <jay.p.belanger@gmail.com>
parents: 63918
diff changeset
338 library. If this is what you want to do, use the GNU Lesser General
36527
a21a2f14a765 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
339 Public License instead of this License.