annotate etc/COPYING @ 4677:8f1ee2d15784

Support full Common Lisp multiple values in C. lisp/ChangeLog 2009-08-11 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el : Update this file to support full C-level multiple values. This involves: -- Four new bytecodes, and special compiler functions to compile multiple-value-call, multiple-value-list-internal, values, values-list, and, since it now needs to pass back multiple values and is a special form, throw. -- There's a new compiler variable, byte-compile-checks-on-load, which is a list of forms that are evaluated at the very start of a file, with an error thrown if any of them give nil. -- The header is now inserted *after* compilation, giving a chance for the compilation process to influence what those checks are. There is still a check done before compilation for non-ASCII characters, to try to turn off dynamic docstrings if appopriate, in `byte-compile-maybe-reset-coding'. Space is reserved for checks; comments describing the version of the byte compiler generating the file are inserted if space remains for them. * bytecomp.el (byte-compile-version): Update this, we're a newer version of the byte compiler. * byte-optimize.el (byte-optimize-funcall): Correct a comment. * bytecomp.el (byte-compile-lapcode): Discard the arg with byte-multiple-value-call. * bytecomp.el (byte-compile-checks-and-comments-space): New variable, describe how many octets to reserve for checks at the start of byte-compiled files. * cl-compat.el: Remove the fake multiple-value implementation. Have the functions that use it use the real multiple-value implementation instead. * cl-macs.el (cl-block-wrapper, cl-block-throw): Revise the byte-compile properties of these symbols to work now we've made throw into a special form; keep the byte-compile properties as anonymous lambdas, since we don't have docstrings for them. * cl-macs.el (multiple-value-bind, multiple-value-setq) (multiple-value-list, nth-value): Update these functions to work with the C support for multiple values. * cl-macs.el (values): Modify the setf handler for this to call #'multiple-value-list-internal appropriately. * cl-macs.el (cl-setf-do-store): If the store form is a cons, treat it specially as wrapping the store value. * cl.el (cl-block-wrapper): Make this an alias of #'and, not #'identity, since it needs to pass back multiple values. * cl.el (multiple-value-apply): We no longer support this, mark it obsolete. * lisp-mode.el (eval-interactive-verbose): Remove a useless space in the docstring. * lisp-mode.el (eval-interactive): Update this function and its docstring. It now passes back a list, basically wrapping any eval calls with multiple-value-list. This allows multiple values to be printed by default in *scratch*. * lisp-mode.el (prin1-list-as-multiple-values): New function, printing a list as multiple values in the manner of Bruno Haible's clisp, separating each entry with " ;\n". * lisp-mode.el (eval-last-sexp): Call #'prin1-list-as-multiple-values on the return value of #'eval-interactive. * lisp-mode.el (eval-defun): Call #'prin1-list-as-multiple-values on the return value of #'eval-interactive. * mouse.el (mouse-eval-sexp): Deal with lists corresponding to multiple values from #'eval-interactive. Call #'cl-prettyprint, which is always available, instead of sometimes calling #'pprint and sometimes falling back to prin1. * obsolete.el (obsolete-throw): New function, called from eval.c when #'funcall encounters an attempt to call #'throw (now a special form) as a function. Only needed for compatibility with 21.4 byte-code. man/ChangeLog addition: 2009-08-11 Aidan Kehoe <kehoea@parhasard.net> * cl.texi (Organization): Remove references to the obsolete multiple-value emulating code. src/ChangeLog addition: 2009-08-11 Aidan Kehoe <kehoea@parhasard.net> * bytecode.c (enum Opcode /* Byte codes */): Add four new bytecodes, to deal with multiple values. (POP_WITH_MULTIPLE_VALUES): New macro. (POP): Modify this macro to ignore multiple values. (DISCARD_PRESERVING_MULTIPLE_VALUES): New macro. (DISCARD): Modify this macro to ignore multiple values. (TOP_WITH_MULTIPLE_VALUES): New macro. (TOP_ADDRESS): New macro. (TOP): Modify this macro to ignore multiple values. (TOP_LVALUE): New macro. (Bcall): Ignore multiple values where appropriate. (Breturn): Pass back multiple values. (Bdup): Preserve multiple values. Use TOP_LVALUE with most bytecodes that assign anything to anything. (Bbind_multiple_value_limits, Bmultiple_value_call, Bmultiple_value_list_internal, Bthrow): Implement the new bytecodes. (Bgotoifnilelsepop, Bgotoifnonnilelsepop, BRgotoifnilelsepop, BRgotoifnonnilelsepop): Discard any multiple values. * callint.c (Fcall_interactively): Ignore multiple values when calling #'eval, in two places. * device-x.c (x_IO_error_handler): * macros.c (pop_kbd_macro_event): * eval.c (Fsignal): * eval.c (flagged_a_squirmer): Call throw_or_bomb_out, not Fthrow, now that the latter is a special form. * eval.c: Make Qthrow, Qobsolete_throw available as symbols. Provide multiple_value_current_limit, multiple-values-limit (the latter as specified by Common Lisp. * eval.c (For): Ignore multiple values when comparing with Qnil, but pass any multiple values back for the last arg. * eval.c (Fand): Ditto. * eval.c (Fif): Ignore multiple values when examining the result of the condition. * eval.c (Fcond): Ignore multiple values when comparing what the clauses give, but pass them back if a clause gave non-nil. * eval.c (Fprog2): Never pass back multiple values. * eval.c (FletX, Flet): Ignore multiple when evaluating what exactly symbols should be bound to. * eval.c (Fwhile): Ignore multiple values when evaluating the test. * eval.c (Fsetq, Fdefvar, Fdefconst): Ignore multiple values. * eval.c (Fthrow): Declare this as a special form; ignore multiple values for TAG, preserve them for VALUE. * eval.c (throw_or_bomb_out): Make this available to other files, now Fthrow is a special form. * eval.c (Feval): Ignore multiple values when calling a compiled function, a non-special-form subr, or a lambda expression. * eval.c (Ffuncall): If we attempt to call #'throw (now a special form) as a function, don't error, call #'obsolete-throw instead. * eval.c (make_multiple_value, multiple_value_aset) (multiple_value_aref, print_multiple_value, mark_multiple_value) (size_multiple_value): Implement the multiple_value type. Add a long comment describing our implementation. * eval.c (bind_multiple_value_limits): New function, used by the bytecode and by #'multiple-value-call, #'multiple-value-list-internal. * eval.c (multiple_value_call): New function, used by the bytecode and #'multiple-value-call. * eval.c (Fmultiple_value_call): New special form. * eval.c (multiple_value_list_internal): New function, used by the byte code and #'multiple-value-list-internal. * eval.c (Fmultiple_value_list_internal, Fmultiple_value_prog1): New special forms. * eval.c (Fvalues, Fvalues_list): New Lisp functions. * eval.c (values2): New function, for C code returning multiple values. * eval.c (syms_of_eval): Make our new Lisp functions and symbols available. * eval.c (multiple-values-limit): Make this available to Lisp. * event-msw.c (dde_eval_string): * event-stream.c (execute_help_form): * glade.c (connector): * glyphs-widget.c (glyph_instantiator_to_glyph): * glyphs.c (evaluate_xpm_color_symbols): * gui-x.c (wv_set_evalable_slot, button_item_to_widget_value): * gui.c (gui_item_value, gui_item_display_flush_left): * lread.c (check_if_suppressed): * menubar-gtk.c (menu_convert, menu_descriptor_to_widget_1): * menubar-msw.c (populate_menu_add_item): * print.c (Fwith_output_to_temp_buffer): * symbols.c (Fsetq_default): Ignore multiple values when calling Feval. * symeval.h: Add the header declarations necessary for the multiple-values implementation. * inline.c: #include symeval.h, now that it has some inline functions. * lisp.h: Update Fthrow's declaration. Make throw_or_bomb_out available to all files. * lrecord.h (enum lrecord_type): Add the multiple_value type here.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 16 Aug 2009 20:55:49 +0100
parents 376386a54a3c
children e9a28373468a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 GNU GENERAL PUBLIC LICENSE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 Version 2, June 1991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 59 Temple Place - Suite 330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 Boston, MA 02111-1307, USA.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 Everyone is permitted to copy and distribute verbatim copies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 of this license document, but changing it is not allowed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 Preamble
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 The licenses for most software are designed to take away your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 freedom to share and change it. By contrast, the GNU General Public
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 License is intended to guarantee your freedom to share and change free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 software--to make sure the software is free for all its users. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 General Public License applies to most of the Free Software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 Foundation's software and to any other program whose authors commit to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 using it. (Some other Free Software Foundation software is covered by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 the GNU Library General Public License instead.) You can apply it to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 your programs, too.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 When we speak of free software, we are referring to freedom, not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 price. Our General Public Licenses are designed to make sure that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 have the freedom to distribute copies of free software (and charge for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 this service if you wish), that you receive source code or can get it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 if you want it, that you can change the software or use pieces of it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 in new free programs; and that you know you can do these things.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 To protect your rights, we need to make restrictions that forbid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 anyone to deny you these rights or to ask you to surrender the rights.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 These restrictions translate to certain responsibilities for you if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 distribute copies of the software, or if you modify it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 For example, if you distribute copies of such a program, whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 gratis or for a fee, you must give the recipients all the rights that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 you have. You must make sure that they, too, receive or can get the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 source code. And you must show them these terms so they know their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 rights.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 We protect your rights with two steps: (1) copyright the software, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 (2) offer you this license which gives you legal permission to copy,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 distribute and/or modify the software.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 Also, for each author's protection and ours, we want to make certain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 that everyone understands that there is no warranty for this free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 software. If the software is modified by someone else and passed on, we
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 want its recipients to know that what they have is not the original, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 that any problems introduced by others will not reflect on the original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 authors' reputations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 Finally, any free program is threatened constantly by software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 patents. We wish to avoid the danger that redistributors of a free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 program will individually obtain patent licenses, in effect making the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 program proprietary. To prevent this, we have made it clear that any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 patent must be licensed for everyone's free use or not licensed at all.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 The precise terms and conditions for copying, distribution and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 modification follow.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 GNU GENERAL PUBLIC LICENSE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 0. This License applies to any program or other work which contains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 a notice placed by the copyright holder saying it may be distributed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 under the terms of this General Public License. The "Program", below,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 refers to any such program or work, and a "work based on the Program"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 means either the Program or any derivative work under copyright law:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 that is to say, a work containing the Program or a portion of it,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 either verbatim or with modifications and/or translated into another
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 language. (Hereinafter, translation is included without limitation in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 the term "modification".) Each licensee is addressed as "you".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 Activities other than copying, distribution and modification are not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 covered by this License; they are outside its scope. The act of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 running the Program is not restricted, and the output from the Program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 is covered only if its contents constitute a work based on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 Program (independent of having been made by running the Program).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 Whether that is true depends on what the Program does.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 1. You may copy and distribute verbatim copies of the Program's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 source code as you receive it, in any medium, provided that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 conspicuously and appropriately publish on each copy an appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 copyright notice and disclaimer of warranty; keep intact all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 notices that refer to this License and to the absence of any warranty;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 and give any other recipients of the Program a copy of this License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 along with the Program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 You may charge a fee for the physical act of transferring a copy, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 you may at your option offer warranty protection in exchange for a fee.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 2. You may modify your copy or copies of the Program or any portion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 of it, thus forming a work based on the Program, and copy and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 distribute such modifications or work under the terms of Section 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 above, provided that you also meet all of these conditions:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 a) You must cause the modified files to carry prominent notices
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 stating that you changed the files and the date of any change.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 b) You must cause any work that you distribute or publish, that in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 whole or in part contains or is derived from the Program or any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 part thereof, to be licensed as a whole at no charge to all third
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 parties under the terms of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 c) If the modified program normally reads commands interactively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 when run, you must cause it, when started running for such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 interactive use in the most ordinary way, to print or display an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 announcement including an appropriate copyright notice and a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 notice that there is no warranty (or else, saying that you provide
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 a warranty) and that users may redistribute the program under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 these conditions, and telling the user how to view a copy of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 License. (Exception: if the Program itself is interactive but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 does not normally print such an announcement, your work based on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 the Program is not required to print an announcement.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 These requirements apply to the modified work as a whole. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 identifiable sections of that work are not derived from the Program,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 and can be reasonably considered independent and separate works in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 themselves, then this License, and its terms, do not apply to those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 sections when you distribute them as separate works. But when you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 distribute the same sections as part of a whole which is a work based
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 on the Program, the distribution of the whole must be on the terms of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 this License, whose permissions for other licensees extend to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 entire whole, and thus to each and every part regardless of who wrote it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 Thus, it is not the intent of this section to claim rights or contest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 your rights to work written entirely by you; rather, the intent is to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 exercise the right to control the distribution of derivative or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 collective works based on the Program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 In addition, mere aggregation of another work not based on the Program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 with the Program (or with a work based on the Program) on a volume of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 a storage or distribution medium does not bring the other work under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 the scope of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 3. You may copy and distribute the Program (or a work based on it,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 under Section 2) in object code or executable form under the terms of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 Sections 1 and 2 above provided that you also do one of the following:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 a) Accompany it with the complete corresponding machine-readable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 source code, which must be distributed under the terms of Sections
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 1 and 2 above on a medium customarily used for software interchange; or,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 b) Accompany it with a written offer, valid for at least three
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 years, to give any third party, for a charge no more than your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 cost of physically performing source distribution, a complete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 machine-readable copy of the corresponding source code, to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 distributed under the terms of Sections 1 and 2 above on a medium
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 customarily used for software interchange; or,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 c) Accompany it with the information you received as to the offer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 to distribute corresponding source code. (This alternative is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 allowed only for noncommercial distribution and only if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 received the program in object code or executable form with such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 an offer, in accord with Subsection b above.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 The source code for a work means the preferred form of the work for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 making modifications to it. For an executable work, complete source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 code means all the source code for all modules it contains, plus any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 associated interface definition files, plus the scripts used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 control compilation and installation of the executable. However, as a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 special exception, the source code distributed need not include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 anything that is normally distributed (in either source or binary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 form) with the major components (compiler, kernel, and so on) of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 operating system on which the executable runs, unless that component
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 itself accompanies the executable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 If distribution of executable or object code is made by offering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 access to copy from a designated place, then offering equivalent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 access to copy the source code from the same place counts as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 distribution of the source code, even though third parties are not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 compelled to copy the source along with the object code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 4. You may not copy, modify, sublicense, or distribute the Program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 except as expressly provided under this License. Any attempt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 otherwise to copy, modify, sublicense or distribute the Program is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 void, and will automatically terminate your rights under this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 However, parties who have received copies, or rights, from you under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 this License will not have their licenses terminated so long as such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 parties remain in full compliance.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 5. You are not required to accept this License, since you have not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 signed it. However, nothing else grants you permission to modify or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 distribute the Program or its derivative works. These actions are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 prohibited by law if you do not accept this License. Therefore, by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 modifying or distributing the Program (or any work based on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 Program), you indicate your acceptance of this License to do so, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 all its terms and conditions for copying, distributing or modifying
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 the Program or works based on it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 6. Each time you redistribute the Program (or any work based on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 Program), the recipient automatically receives a license from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 original licensor to copy, distribute or modify the Program subject to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 these terms and conditions. You may not impose any further
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 restrictions on the recipients' exercise of the rights granted herein.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 You are not responsible for enforcing compliance by third parties to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 7. If, as a consequence of a court judgment or allegation of patent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 infringement or for any other reason (not limited to patent issues),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 conditions are imposed on you (whether by court order, agreement or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 otherwise) that contradict the conditions of this License, they do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 excuse you from the conditions of this License. If you cannot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 distribute so as to satisfy simultaneously your obligations under this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 License and any other pertinent obligations, then as a consequence you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 may not distribute the Program at all. For example, if a patent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 license would not permit royalty-free redistribution of the Program by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 all those who receive copies directly or indirectly through you, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 the only way you could satisfy both it and this License would be to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 refrain entirely from distribution of the Program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 If any portion of this section is held invalid or unenforceable under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 any particular circumstance, the balance of the section is intended to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 apply and the section as a whole is intended to apply in other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 circumstances.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 It is not the purpose of this section to induce you to infringe any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 patents or other property right claims or to contest validity of any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 such claims; this section has the sole purpose of protecting the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 integrity of the free software distribution system, which is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 implemented by public license practices. Many people have made
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 generous contributions to the wide range of software distributed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 through that system in reliance on consistent application of that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 system; it is up to the author/donor to decide if he or she is willing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 to distribute software through any other system and a licensee cannot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 impose that choice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 This section is intended to make thoroughly clear what is believed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 be a consequence of the rest of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 8. If the distribution and/or use of the Program is restricted in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 certain countries either by patents or by copyrighted interfaces, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 original copyright holder who places the Program under this License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 may add an explicit geographical distribution limitation excluding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 those countries, so that distribution is permitted only in or among
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 countries not thus excluded. In such case, this License incorporates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 the limitation as if written in the body of this License.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 9. The Free Software Foundation may publish revised and/or new versions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 of the General Public License from time to time. Such new versions will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 be similar in spirit to the present version, but may differ in detail to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 address new problems or concerns.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 Each version is given a distinguishing version number. If the Program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 specifies a version number of this License which applies to it and "any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 later version", you have the option of following the terms and conditions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 either of that version or of any later version published by the Free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 Software Foundation. If the Program does not specify a version number of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 this License, you may choose any version ever published by the Free Software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 10. If you wish to incorporate parts of the Program into other free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 programs whose distribution conditions are different, write to the author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 to ask for permission. For software which is copyrighted by the Free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 Software Foundation, write to the Free Software Foundation; we sometimes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 make exceptions for this. Our decision will be guided by the two goals
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 of preserving the free status of all derivatives of our free software and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 of promoting the sharing and reuse of software generally.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 NO WARRANTY
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 REPAIR OR CORRECTION.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 POSSIBILITY OF SUCH DAMAGES.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 END OF TERMS AND CONDITIONS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 How to Apply These Terms to Your New Programs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 If you develop a new program, and you want it to be of the greatest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 possible use to the public, the best way to achieve this is to make it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 free software which everyone can redistribute and change under these terms.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 To do so, attach the following notices to the program. It is safest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 to attach them to the start of each source file to most effectively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 convey the exclusion of warranty; and each file should have at least
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 the "copyright" line and a pointer to where the full notice is found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 <one line to give the program's name and a brief idea of what it does.>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 Copyright (C) 19yy <name of author>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 This program is free software; you can redistribute it and/or modify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 it under the terms of the GNU General Public License as published by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 the Free Software Foundation; either version 2 of the License, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 (at your option) any later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 This program is distributed in the hope that it will be useful,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 but WITHOUT ANY WARRANTY; without even the implied warranty of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 GNU General Public License for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 You should have received a copy of the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 along with this program; see the file COPYING. If not, write to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 Boston, MA 02111-1307, USA.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 Also add information on how to contact you by electronic and paper mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 If the program is interactive, make it output a short notice like this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 when it starts in an interactive mode:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 Gnomovision version 69, Copyright (C) 19yy name of author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 This is free software, and you are welcome to redistribute it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 under certain conditions; type `show c' for details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 The hypothetical commands `show w' and `show c' should show the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 parts of the General Public License. Of course, the commands you use may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 be called something other than `show w' and `show c'; they could even be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 mouse-clicks or menu items--whatever suits your program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 You should also get your employer (if you work as a programmer) or your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 school, if any, to sign a "copyright disclaimer" for the program, if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 necessary. Here is a sample; alter the names:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 `Gnomovision' (which makes passes at compilers) written by James Hacker.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 <signature of Ty Coon>, 1 April 1989
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 Ty Coon, President of Vice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 This General Public License does not permit incorporating your program into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 proprietary programs. If your program is a subroutine library, you may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 consider it more useful to permit linking proprietary applications with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 library. If this is what you want to do, use the GNU Library General
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 Public License instead of this License.