1   /**
2    * Distribution License:
3    * JSword is free software; you can redistribute it and/or modify it under
4    * the terms of the GNU Lesser General Public License, version 2.1 or later
5    * as published by the Free Software Foundation. This program is distributed
6    * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
7    * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8    * See the GNU Lesser General Public License for more details.
9    *
10   * The License is available on the internet at:
11   *      http://www.gnu.org/copyleft/lgpl.html
12   * or by writing to:
13   *      Free Software Foundation, Inc.
14   *      59 Temple Place - Suite 330
15   *      Boston, MA 02111-1307, USA
16   *
17   * © CrossWire Bible Society, 2005 - 2016
18   *
19   */
20  package gnu.gpl;
21  
22  /**
23   * This software is covered by the GNU General Public License.
24   * 
25   * <pre>
26   * GNU GENERAL PUBLIC LICENSE
27   *                        Version 2, June 1991
28   * 
29   *  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
30   *      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
31   *  Everyone is permitted to copy and distribute verbatim copies
32   *  of this license document, but changing it is not allowed.
33   * 
34   *                             Preamble
35   * 
36   *   The licenses for most software are designed to take away your
37   * freedom to share and change it.  By contrast, the GNU General Public
38   * License is intended to guarantee your freedom to share and change free
39   * software--to make sure the software is free for all its users.  This
40   * General Public License applies to most of the Free Software
41   * Foundation's software and to any other program whose authors commit to
42   * using it.  (Some other Free Software Foundation software is covered by
43   * the GNU Library General Public License instead.)  You can apply it to
44   * your programs, too.
45   * 
46   *   When we speak of free software, we are referring to freedom, not
47   * price.  Our General Public Licenses are designed to make sure that you
48   * have the freedom to distribute copies of free software (and charge for
49   * this service if you wish), that you receive source code or can get it
50   * if you want it, that you can change the software or use pieces of it
51   * in new free programs; and that you know you can do these things.
52   * 
53   *   To protect your rights, we need to make restrictions that forbid
54   * anyone to deny you these rights or to ask you to surrender the rights.
55   * These restrictions translate to certain responsibilities for you if you
56   * distribute copies of the software, or if you modify it.
57   * 
58   *   For example, if you distribute copies of such a program, whether
59   * gratis or for a fee, you must give the recipients all the rights that
60   * you have.  You must make sure that they, too, receive or can get the
61   * source code.  And you must show them these terms so they know their
62   * rights.
63   * 
64   *   We protect your rights with two steps: (1) copyright the software, and
65   * (2) offer you this license which gives you legal permission to copy,
66   * distribute and/or modify the software.
67   * 
68   *   Also, for each author's protection and ours, we want to make certain
69   * that everyone understands that there is no warranty for this free
70   * software.  If the software is modified by someone else and passed on, we
71   * want its recipients to know that what they have is not the original, so
72   * that any problems introduced by others will not reflect on the original
73   * authors' reputations.
74   * 
75   *   Finally, any free program is threatened constantly by software
76   * patents.  We wish to avoid the danger that redistributors of a free
77   * program will individually obtain patent licenses, in effect making the
78   * program proprietary.  To prevent this, we have made it clear that any
79   * patent must be licensed for everyone's free use or not licensed at all.
80   * 
81   *   The precise terms and conditions for copying, distribution and
82   * modification follow.
83   * 
84   *                     GNU GENERAL PUBLIC LICENSE
85   *    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
86   * 
87   *   0. This License applies to any program or other work which contains
88   * a notice placed by the copyright holder saying it may be distributed
89   * under the terms of this General Public License.  The &quot;Program&quot;, below,
90   * refers to any such program or work, and a &quot;work based on the Program&quot;
91   * means either the Program or any derivative work under copyright law:
92   * that is to say, a work containing the Program or a portion of it,
93   * either verbatim or with modifications and/or translated into another
94   * language.  (Hereinafter, translation is included without limitation in
95   * the term &quot;modification&quot;.)  Each licensee is addressed as &quot;you&quot;.
96   * 
97   * Activities other than copying, distribution and modification are not
98   * covered by this License; they are outside its scope.  The act of
99   * running the Program is not restricted, and the output from the Program
100  * is covered only if its contents constitute a work based on the
101  * Program (independent of having been made by running the Program).
102  * Whether that is true depends on what the Program does.
103  * 
104  *   1. You may copy and distribute verbatim copies of the Program's
105  * source code as you receive it, in any medium, provided that you
106  * conspicuously and appropriately publish on each copy an appropriate
107  * copyright notice and disclaimer of warranty; keep intact all the
108  * notices that refer to this License and to the absence of any warranty;
109  * and give any other recipients of the Program a copy of this License
110  * along with the Program.
111  * 
112  * You may charge a fee for the physical act of transferring a copy, and
113  * you may at your option offer warranty protection in exchange for a fee.
114  * 
115  *   2. You may modify your copy or copies of the Program or any portion
116  * of it, thus forming a work based on the Program, and copy and
117  * distribute such modifications or work under the terms of Section 1
118  * above, provided that you also meet all of these conditions:
119  * 
120  *     a) You must cause the modified files to carry prominent notices
121  *     stating that you changed the files and the date of any change.
122  * 
123  *     b) You must cause any work that you distribute or publish, that in
124  *     whole or in part contains or is derived from the Program or any
125  *     part thereof, to be licensed as a whole at no charge to all third
126  *     parties under the terms of this License.
127  * 
128  *     c) If the modified program normally reads commands interactively
129  *     when run, you must cause it, when started running for such
130  *     interactive use in the most ordinary way, to print or display an
131  *     announcement including an appropriate copyright notice and a
132  *     notice that there is no warranty (or else, saying that you provide
133  *     a warranty) and that users may redistribute the program under
134  *     these conditions, and telling the user how to view a copy of this
135  *     License.  (Exception: if the Program itself is interactive but
136  *     does not normally print such an announcement, your work based on
137  *     the Program is not required to print an announcement.)
138  * 
139  * These requirements apply to the modified work as a whole.  If
140  * identifiable sections of that work are not derived from the Program,
141  * and can be reasonably considered independent and separate works in
142  * themselves, then this License, and its terms, do not apply to those
143  * sections when you distribute them as separate works.  But when you
144  * distribute the same sections as part of a whole which is a work based
145  * on the Program, the distribution of the whole must be on the terms of
146  * this License, whose permissions for other licensees extend to the
147  * entire whole, and thus to each and every part regardless of who wrote it.
148  * 
149  * Thus, it is not the intent of this section to claim rights or contest
150  * your rights to work written entirely by you; rather, the intent is to
151  * exercise the right to control the distribution of derivative or
152  * collective works based on the Program.
153  * 
154  * In addition, mere aggregation of another work not based on the Program
155  * with the Program (or with a work based on the Program) on a volume of
156  * a storage or distribution medium does not bring the other work under
157  * the scope of this License.
158  * 
159  *   3. You may copy and distribute the Program (or a work based on it,
160  * under Section 2) in object code or executable form under the terms of
161  * Sections 1 and 2 above provided that you also do one of the following:
162  * 
163  *     a) Accompany it with the complete corresponding machine-readable
164  *     source code, which must be distributed under the terms of Sections
165  *     1 and 2 above on a medium customarily used for software interchange; or,
166  * 
167  *     b) Accompany it with a written offer, valid for at least three
168  *     years, to give any third party, for a charge no more than your
169  *     cost of physically performing source distribution, a complete
170  *     machine-readable copy of the corresponding source code, to be
171  *     distributed under the terms of Sections 1 and 2 above on a medium
172  *     customarily used for software interchange; or,
173  * 
174  *     c) Accompany it with the information you received as to the offer
175  *     to distribute corresponding source code.  (This alternative is
176  *     allowed only for noncommercial distribution and only if you
177  *     received the program in object code or executable form with such
178  *     an offer, in accord with Subsection b above.)
179  * 
180  * The source code for a work means the preferred form of the work for
181  * making modifications to it.  For an executable work, complete source
182  * code means all the source code for all modules it contains, plus any
183  * associated interface definition files, plus the scripts used to
184  * control compilation and installation of the executable.  However, as a
185  * special exception, the source code distributed need not include
186  * anything that is normally distributed (in either source or binary
187  * form) with the major components (compiler, kernel, and so on) of the
188  * operating system on which the executable runs, unless that component
189  * itself accompanies the executable.
190  * 
191  * If distribution of executable or object code is made by offering
192  * access to copy from a designated place, then offering equivalent
193  * access to copy the source code from the same place counts as
194  * distribution of the source code, even though third parties are not
195  * compelled to copy the source along with the object code.
196  * 
197  *   4. You may not copy, modify, sublicense, or distribute the Program
198  * except as expressly provided under this License.  Any attempt
199  * otherwise to copy, modify, sublicense or distribute the Program is
200  * void, and will automatically terminate your rights under this License.
201  * However, parties who have received copies, or rights, from you under
202  * this License will not have their licenses terminated so long as such
203  * parties remain in full compliance.
204  * 
205  *   5. You are not required to accept this License, since you have not
206  * signed it.  However, nothing else grants you permission to modify or
207  * distribute the Program or its derivative works.  These actions are
208  * prohibited by law if you do not accept this License.  Therefore, by
209  * modifying or distributing the Program (or any work based on the
210  * Program), you indicate your acceptance of this License to do so, and
211  * all its terms and conditions for copying, distributing or modifying
212  * the Program or works based on it.
213  * 
214  *   6. Each time you redistribute the Program (or any work based on the
215  * Program), the recipient automatically receives a license from the
216  * original licensor to copy, distribute or modify the Program subject to
217  * these terms and conditions.  You may not impose any further
218  * restrictions on the recipients' exercise of the rights granted herein.
219  * You are not responsible for enforcing compliance by third parties to
220  * this License.
221  * 
222  *   7. If, as a consequence of a court judgment or allegation of patent
223  * infringement or for any other reason (not limited to patent issues),
224  * conditions are imposed on you (whether by court order, agreement or
225  * otherwise) that contradict the conditions of this License, they do not
226  * excuse you from the conditions of this License.  If you cannot
227  * distribute so as to satisfy simultaneously your obligations under this
228  * License and any other pertinent obligations, then as a consequence you
229  * may not distribute the Program at all.  For example, if a patent
230  * license would not permit royalty-free redistribution of the Program by
231  * all those who receive copies directly or indirectly through you, then
232  * the only way you could satisfy both it and this License would be to
233  * refrain entirely from distribution of the Program.
234  * 
235  * If any portion of this section is held invalid or unenforceable under
236  * any particular circumstance, the balance of the section is intended to
237  * apply and the section as a whole is intended to apply in other
238  * circumstances.
239  * 
240  * It is not the purpose of this section to induce you to infringe any
241  * patents or other property right claims or to contest validity of any
242  * such claims; this section has the sole purpose of protecting the
243  * integrity of the free software distribution system, which is
244  * implemented by public license practices.  Many people have made
245  * generous contributions to the wide range of software distributed
246  * through that system in reliance on consistent application of that
247  * system; it is up to the author/donor to decide if he or she is willing
248  * to distribute software through any other system and a licensee cannot
249  * impose that choice.
250  * 
251  * This section is intended to make thoroughly clear what is believed to
252  * be a consequence of the rest of this License.
253  * 
254  *   8. If the distribution and/or use of the Program is restricted in
255  * certain countries either by patents or by copyrighted interfaces, the
256  * original copyright holder who places the Program under this License
257  * may add an explicit geographical distribution limitation excluding
258  * those countries, so that distribution is permitted only in or among
259  * countries not thus excluded.  In such case, this License incorporates
260  * the limitation as if written in the body of this License.
261  * 
262  *   9. The Free Software Foundation may publish revised and/or new versions
263  * of the General Public License from time to time.  Such new versions will
264  * be similar in spirit to the present version, but may differ in detail to
265  * address new problems or concerns.
266  * 
267  * Each version is given a distinguishing version number.  If the Program
268  * specifies a version number of this License which applies to it and &quot;any
269  * later version&quot;, you have the option of following the terms and conditions
270  * either of that version or of any later version published by the Free
271  * Software Foundation.  If the Program does not specify a version number of
272  * this License, you may choose any version ever published by the Free Software
273  * Foundation.
274  * 
275  *   10. If you wish to incorporate parts of the Program into other free
276  * programs whose distribution conditions are different, write to the author
277  * to ask for permission.  For software which is copyrighted by the Free
278  * Software Foundation, write to the Free Software Foundation; we sometimes
279  * make exceptions for this.  Our decision will be guided by the two goals
280  * of preserving the free status of all derivatives of our free software and
281  * of promoting the sharing and reuse of software generally.
282  * 
283  *                             NO WARRANTY
284  * 
285  *   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
286  * FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
287  * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
288  * PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
289  * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
290  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
291  * TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
292  * PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
293  * REPAIR OR CORRECTION.
294  * 
295  *   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
296  * WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
297  * REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
298  * INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
299  * OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
300  * TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
301  * YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
302  * PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
303  * POSSIBILITY OF SUCH DAMAGES.
304  * 
305  *                      END OF TERMS AND CONDITIONS
306  * 
307  *             How to Apply These Terms to Your New Programs
308  * 
309  *   If you develop a new program, and you want it to be of the greatest
310  * possible use to the public, the best way to achieve this is to make it
311  * free software which everyone can redistribute and change under these terms.
312  * 
313  *   To do so, attach the following notices to the program.  It is safest
314  * to attach them to the start of each source file to most effectively
315  * convey the exclusion of warranty; and each file should have at least
316  * the &quot;copyright&quot; line and a pointer to where the full notice is found.
317  * 
318  *     &lt;one line to give the program's name and a brief idea of what it does.&gt;
319  *     Copyright (C) &lt;year&gt;  &lt;name of author&gt;
320  * 
321  *     This program is free software; you can redistribute it and/or modify
322  *     it under the terms of the GNU General Public License as published by
323  *     the Free Software Foundation; either version 2 of the License, or
324  *     (at your option) any later version.
325  * 
326  *     This program is distributed in the hope that it will be useful,
327  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
328  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
329  *     GNU General Public License for more details.
330  * 
331  *     You should have received a copy of the GNU General Public License
332  *     along with this program; if not, write to the Free Software
333  *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
334  * 
335  * 
336  * Also add information on how to contact you by electronic and paper mail.
337  * 
338  * If the program is interactive, make it output a short notice like this
339  * when it starts in an interactive mode:
340  * 
341  *     Gnomovision version 69, Copyright (C) year  name of author
342  *     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
343  *     This is free software, and you are welcome to redistribute it
344  *     under certain conditions; type `show c' for details.
345  * 
346  * The hypothetical commands `show w' and `show c' should show the appropriate
347  * parts of the General Public License.  Of course, the commands you use may
348  * be called something other than `show w' and `show c'; they could even be
349  * mouse-clicks or menu items--whatever suits your program.
350  * 
351  * You should also get your employer (if you work as a programmer) or your
352  * school, if any, to sign a &quot;copyright disclaimer&quot; for the program, if
353  * necessary.  Here is a sample; alter the names:
354  * 
355  *   Yoyodyne, Inc., hereby disclaims all copyright interest in the program
356  *   `Gnomovision' (which makes passes at compilers) written by James Hacker.
357  * 
358  *   &gt;signature of Ty Coon&gt;, 1 April 1989
359  *   Ty Coon, President of Vice
360  * 
361  * This General Public License does not permit incorporating your program into
362  * proprietary programs.  If your program is a subroutine library, you may
363  * consider it more useful to permit linking proprietary applications with the
364  * library.  If this is what you want to do, use the GNU Library General
365  * Public License instead of this License.
366  * </pre>
367  * 
368  * @see gnu.gpl.License The GNU General Public License for details.
369  * @author Joe Walker
370  * @author DM Smith
371  */
372 public class License {
373     /**
374      * Build a License object from which can be obtained the warranty and its
375      * details.
376      * 
377      * @param appName the name of the program being licensed
378      */
379     public License(String appName) {
380         name = appName;
381     }
382 
383     /**
384      * Get the Warranty.
385      * 
386      * @return the warranty for this program
387      */
388     public String getWarranty() {
389         /* TRANSLATOR: This is short-hand for the actual GPL warranty.
390          * See the English for this to see what needs to be translated.
391          */
392         return GPLMsg.gettext("License.warranty", name);
393     }
394 
395     /**
396      * Get the license distribution terms.
397      * 
398      * @return the details of this program's distribution license
399      */
400     public String getDetails() {
401         /* TRANSLATOR: This is short-hand for the actual GPL license.
402          * See the English for this to see what needs to be translated.
403          */
404         return GPLMsg.gettext("License.details", name);
405     }
406 
407     /**
408      * The name of the program being licensed.
409      */
410     private String name;
411 
412 }
413