1 /*
2  * Output software license information to stdout.
3  *
4  * Copyright 2005 Andrew Wood, distributed under the Artistic License.
5  */
6 
7 #include "config.h"
8 #include <stdio.h>
9 
10 
11 /*
12  * Display software license(s).
13  */
display_license(void)14 void display_license(void)
15 {
16 	printf(_("%s %s - Copyright (C) %s %s"),	/* RATS: ignore (OK) */
17 	       PROGRAM_NAME, VERSION, COPYRIGHT_YEAR, COPYRIGHT_HOLDER);
18 	printf("\n\n");
19 	printf("%s",
20 	       _("This program is Open Source software, and is being "
21 		 "distributed under the\nterms of the Artistic License."));
22 	printf("\n\n");
23 	printf
24 	    ("----------------------------------------------------------");
25 	printf("\n\n");
26 	printf("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
27 	       _("The Artistic License\n" "\n" "   Preamble\n" "\n"
28 		 "   The intent of this document is to state the conditions under which a\n"
29 		 "   Package may be copied, such that the Copyright Holder maintains some\n"
30 		 "   semblance of artistic control over the development of the package,\n"
31 		 "   while giving the users of the package the right to use and distribute\n"
32 		 "   the Package in a more-or-less customary fashion, plus the right to\n"
33 		 "   make reasonable modifications.\n" "\n"),
34 	       _("   Definitions:\n" "\n"
35 		 "     * \"Package\" refers to the collection of files distributed by the\n"
36 		 "       Copyright Holder, and derivatives of that collection of files\n"
37 		 "       created through textual modification.\n" "\n"),
38 	       _
39 	       ("     * \"Standard Version\" refers to such a Package if it has not been\n"
40 		"       modified, or has been modified in accordance with the wishes of\n"
41 		"       the Copyright Holder.\n" "\n"),
42 	       _
43 	       ("     * \"Copyright Holder\" is whoever is named in the copyright or\n"
44 		"       copyrights for the package.\n" "\n"),
45 	       _
46 	       ("     * \"You\" is you, if you're thinking about copying or distributing\n"
47 		"       this Package.\n" "\n"),
48 	       _
49 	       ("     * \"Reasonable copying fee\" is whatever you can justify on the basis\n"
50 		"       of media cost, duplication charges, time of people involved, and\n"
51 		"       so on. (You will not be required to justify it to the Copyright\n"
52 		"       Holder, but only to the computing community at large as a market\n"
53 		"       that must bear the fee.)\n" "\n"),
54 	       _
55 	       ("     * \"Freely Available\" means that no fee is charged for the item\n"
56 		"       itself, though there may be fees involved in handling the item. It\n"
57 		"       also means that recipients of the item may redistribute it under\n"
58 		"       the same conditions they received it.\n" "\n"),
59 	       _
60 	       ("   1. You may make and give away verbatim copies of the source form of\n"
61 		"   the Standard Version of this Package without restriction, provided\n"
62 		"   that you duplicate all of the original copyright notices and\n"
63 		"   associated disclaimers.\n" "\n"),
64 	       _
65 	       ("   2. You may apply bug fixes, portability fixes and other modifications\n"
66 		"   derived from the Public Domain or from the Copyright Holder. A Package\n"
67 		"   modified in such a way shall still be considered the Standard Version.\n"
68 		"\n"),
69 	       _
70 	       ("   3. You may otherwise modify your copy of this Package in any way,\n"
71 		"   provided that you insert a prominent notice in each changed file\n"
72 		"   stating how and when you changed that file, and provided that you do\n"
73 		"   at least ONE of the following:\n" "\n"),
74 	       _
75 	       ("     a) place your modifications in the Public Domain or otherwise make\n"
76 		"     them Freely Available, such as by posting said modifications to\n"
77 		"     Usenet or an equivalent medium, or placing the modifications on a\n"
78 		"     major archive site such as ftp.uu.net, or by allowing the Copyright\n"
79 		"     Holder to include your modifications in the Standard Version of the\n"
80 		"     Package.\n" "\n"),
81 	       _
82 	       ("     b) use the modified Package only within your corporation or\n"
83 		"     organization.\n" "\n"
84 		"     c) rename any non-standard executables so the names do not conflict\n"
85 		"     with standard executables, which must also be provided, and provide\n"
86 		"     a separate manual page for each non-standard executable that\n"
87 		"     clearly documents how it differs from the Standard Version.\n"
88 		"\n"
89 		"     d) make other distribution arrangements with the Copyright Holder.\n"
90 		"\n"),
91 	       _
92 	       ("   4. You may distribute the programs of this Package in object code or\n"
93 		"   executable form, provided that you do at least ONE of the following:\n"
94 		"\n"
95 		"     a) distribute a Standard Version of the executables and library\n"
96 		"     files, together with instructions (in the manual page or\n"
97 		"     equivalent) on where to get the Standard Version.\n"
98 		"\n"
99 		"     b) accompany the distribution with the machine-readable source of\n"
100 		"     the Package with your modifications.\n" "\n"),
101 	       _
102 	       ("     c) accompany any non-standard executables with their corresponding\n"
103 		"     Standard Version executables, giving the non-standard executables\n"
104 		"     non-standard names, and clearly documenting the differences in\n"
105 		"     manual pages (or equivalent), together with instructions on where\n"
106 		"     to get the Standard Version.\n" "\n"
107 		"     d) make other distribution arrangements with the Copyright Holder.\n"
108 		"\n"),
109 	       _
110 	       ("   5. You may charge a reasonable copying fee for any distribution of\n"
111 		"   this Package. You may charge any fee you choose for support of this\n"
112 		"   Package. You may not charge a fee for this Package itself. However,\n"
113 		"   you may distribute this Package in aggregate with other (possibly\n"
114 		"   commercial) programs as part of a larger (possibly commercial)\n"
115 		"   software distribution provided that you do not advertise this Package\n"
116 		"   as a product of your own.\n" "\n"),
117 	       _
118 	       ("   6. The scripts and library files supplied as input to or produced as\n"
119 		"   output from the programs of this Package do not automatically fall\n"
120 		"   under the copyright of this Package, but belong to whomever generated\n"
121 		"   them, and may be sold commercially, and may be aggregated with this\n"
122 		"   Package.\n" "\n"),
123 	       _
124 	       ("   7. C or perl subroutines supplied by you and linked into this Package\n"
125 		"   shall not be considered part of this Package.\n" "\n"),
126 	       _
127 	       ("   8. The name of the Copyright Holder may not be used to endorse or\n"
128 		"   promote products derived from this software without specific prior\n"
129 		"   written permission.\n" "\n"),
130 	       _
131 	       ("   9. THIS PACKAGE IS PROVIDED \"AS IS\" AND WITHOUT ANY EXPRESS OR IMPLIED\n"
132 		"   WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF\n"
133 		"   MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n"
134 		"\n" "   The End"));
135 	printf("\n\n");
136 	printf("%s",
137 	       "----------------------------------------------------------");
138 	printf("\n\n");
139 #ifdef HAVE_GETOPT_LONG
140 	printf(				    /* RATS: ignore (OK) */
141 		      _
142 		      ("If that scrolled by too quickly, you may want to pipe it to a\n"
143 		       "pager such as `more' or `less', eg `%s --license | more'."),
144 		      PROGRAM_NAME);
145 #else
146 	printf(				    /* RATS: ignore (OK) */
147 		      _
148 		      ("If that scrolled by too quickly, you may want to pipe it to a\n"
149 		       "pager such as `more' or `less', eg `%s -l | more'."),
150 		      PROGRAM_NAME);
151 #endif
152 	printf("\n");
153 }
154 
155 /* EOF */
156