]> git.ipfire.org Git - thirdparty/cups.git/blob - LICENSE.txt
fdad62bc85feb129394ed5023125ad3efcb56ffc
[thirdparty/cups.git] / LICENSE.txt
1 CUPS License Agreement
2
3 Copyright 2007-2009 by Apple Inc.
4 1 Infinite Loop
5 Cupertino, CA 95014 USA
6
7 WWW: http://www.cups.org/
8
9
10 INTRODUCTION
11
12 CUPS(tm) is provided under the GNU General Public License ("GPL")
13 and GNU Library General Public License ("LGPL"), Version 2, with
14 exceptions for Apple operating systems and the OpenSSL toolkit. A
15 copy of the exceptions and licenses follow this introduction.
16
17 The GNU LGPL applies to the CUPS and CUPS Imaging libraries
18 located in the "cups" and "filter" subdirectories of the CUPS
19 source distribution and in the "cups" include directory and
20 library files in the binary distributions. The GNU GPL applies to
21 the remainder of the CUPS distribution, including the "pdftops"
22 filter which is based upon Xpdf.
23
24 For those not familiar with the GNU GPL, the license basically
25 allows you to:
26
27 - Use the CUPS software at no charge.
28 - Distribute verbatim copies of the software in source or
29 binary form.
30 - Sell verbatim copies of the software for a media fee, or
31 sell support for the software.
32
33 What this license *does not* allow you to do is make changes or
34 add features to CUPS and then sell a binary distribution without
35 source code. You must provide source for any changes or additions
36 to the software, and all code must be provided under the GPL or
37 LGPL as appropriate. The only exceptions to this are the portions
38 of the CUPS software covered by the Apple operating system
39 license exceptions outlined later in this license agreement.
40
41 The GNU LGPL relaxes the "link-to" restriction, allowing you to
42 develop applications that use the CUPS and CUPS Imaging libraries
43 under other licenses and/or conditions as appropriate for your
44 application, driver, or filter.
45
46
47 LICENSE EXCEPTIONS
48
49 In addition, as the copyright holder of CUPS, Apple Inc. grants
50 the following special exceptions:
51
52 1. Apple Operating System Development License Exception;
53
54 a. Software that is developed by any person or entity
55 for an Apple Operating System ("Apple OS-Developed
56 Software"), including but not limited to Apple and
57 third party printer drivers, filters, and backends
58 for an Apple Operating System, that is linked to the
59 CUPS imaging library or based on any sample filters
60 or backends provided with CUPS shall not be
61 considered to be a derivative work or collective work
62 based on the CUPS program and is exempt from the
63 mandatory source code release clauses of the GNU GPL.
64 You may therefore distribute linked combinations of
65 the CUPS imaging library with Apple OS-Developed
66 Software without releasing the source code of the
67 Apple OS-Developed Software. You may also use sample
68 filters and backends provided with CUPS to develop
69 Apple OS-Developed Software without releasing the
70 source code of the Apple OS-Developed Software.
71
72 b. An Apple Operating System means any operating system
73 software developed and/or marketed by Apple Computer,
74 Inc., including but not limited to all existing
75 releases and versions of Apple's Darwin, Mac OS X,
76 and Mac OS X Server products and all follow-on
77 releases and future versions thereof.
78
79 c. This exception is only available for Apple
80 OS-Developed Software and does not apply to software
81 that is distributed for use on other operating
82 systems.
83
84 d. All CUPS software that falls under this license
85 exception have the following text at the top of each
86 source file:
87
88 This file is subject to the Apple OS-Developed
89 Software exception.
90
91 2. OpenSSL Toolkit License Exception;
92
93 a. Apple Inc. explicitly allows the compilation and
94 distribution of the CUPS software with the OpenSSL
95 Toolkit.
96
97 No developer is required to provide these exceptions in a
98 derived work.
99
100
101 KERBEROS SUPPORT CODE
102
103 The Kerberos support code ("KSC") is copyright 2006 by Jelmer
104 Vernooij and is provided 'as-is', without any express or implied
105 warranty. In no event will the author or Apple Inc. be held
106 liable for any damages arising from the use of the KSC.
107
108 Sources files containing KSC have the following text at the top
109 of each source file:
110
111 This file contains Kerberos support code, copyright 2006 by
112 Jelmer Vernooij.
113
114 The KSC copyright and license apply only to Kerberos-related
115 feature code in CUPS. Such code is typically conditionally
116 compiled based on the present of the HAVE_GSSAPI preprocessor
117 definition.
118
119 Permission is granted to anyone to use the KSC for any purpose,
120 including commercial applications, and to alter it and
121 redistribute it freely, subject to the following restrictions:
122
123 1. The origin of the KSC must not be misrepresented; you
124 must not claim that you wrote the original software. If
125 you use the KSC in a product, an acknowledgment in the
126 product documentation would be appreciated but is not
127 required.
128
129 2. Altered source versions must be plainly marked as such,
130 and must not be misrepresented as being the original
131 software.
132
133 3. This notice may not be removed or altered from any source
134 distribution.
135
136
137 TRADEMARKS
138
139 CUPS and the CUPS logo (the "CUPS Marks") are trademarks of Apple
140 Inc. Apple grants you a non-exclusive and non-transferable right
141 to use the CUPS Marks in any direct port or binary distribution
142 incorporating CUPS software and in any promotional material
143 therefor. You agree that your products will meet the highest
144 levels of quality and integrity for similar goods, not be unlawful,
145 and be developed, manufactured, and distributed in compliance with
146 this license. You will not interfere with Apple's rights in the
147 CUPS Marks, and all use of the CUPS Marks shall inure to the
148 benefit of Apple. This license does not apply to use of the CUPS
149 Marks in a derivative products, which requires prior written
150 permission from Apple Inc.
151 \f
152 GNU GENERAL PUBLIC LICENSE
153 Version 2, June 1991
154
155 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
156 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
157 Everyone is permitted to copy and distribute verbatim copies
158 of this license document, but changing it is not allowed.
159
160 Preamble
161
162 The licenses for most software are designed to take away your
163 freedom to share and change it. By contrast, the GNU General Public
164 License is intended to guarantee your freedom to share and change free
165 software--to make sure the software is free for all its users. This
166 General Public License applies to most of the Free Software
167 Foundation's software and to any other program whose authors commit to
168 using it. (Some other Free Software Foundation software is covered by
169 the GNU Library General Public License instead.) You can apply it to
170 your programs, too.
171
172 When we speak of free software, we are referring to freedom, not
173 price. Our General Public Licenses are designed to make sure that you
174 have the freedom to distribute copies of free software (and charge for
175 this service if you wish), that you receive source code or can get it
176 if you want it, that you can change the software or use pieces of it
177 in new free programs; and that you know you can do these things.
178
179 To protect your rights, we need to make restrictions that forbid
180 anyone to deny you these rights or to ask you to surrender the rights.
181 These restrictions translate to certain responsibilities for you if you
182 distribute copies of the software, or if you modify it.
183
184 For example, if you distribute copies of such a program, whether
185 gratis or for a fee, you must give the recipients all the rights that
186 you have. You must make sure that they, too, receive or can get the
187 source code. And you must show them these terms so they know their
188 rights.
189
190 We protect your rights with two steps: (1) copyright the software, and
191 (2) offer you this license which gives you legal permission to copy,
192 distribute and/or modify the software.
193
194 Also, for each author's protection and ours, we want to make certain
195 that everyone understands that there is no warranty for this free
196 software. If the software is modified by someone else and passed on, we
197 want its recipients to know that what they have is not the original, so
198 that any problems introduced by others will not reflect on the original
199 authors' reputations.
200
201 Finally, any free program is threatened constantly by software
202 patents. We wish to avoid the danger that redistributors of a free
203 program will individually obtain patent licenses, in effect making the
204 program proprietary. To prevent this, we have made it clear that any
205 patent must be licensed for everyone's free use or not licensed at all.
206
207 The precise terms and conditions for copying, distribution and
208 modification follow.
209 \f
210 GNU GENERAL PUBLIC LICENSE
211 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
212
213 0. This License applies to any program or other work which contains
214 a notice placed by the copyright holder saying it may be distributed
215 under the terms of this General Public License. The "Program", below,
216 refers to any such program or work, and a "work based on the Program"
217 means either the Program or any derivative work under copyright law:
218 that is to say, a work containing the Program or a portion of it,
219 either verbatim or with modifications and/or translated into another
220 language. (Hereinafter, translation is included without limitation in
221 the term "modification".) Each licensee is addressed as "you".
222
223 Activities other than copying, distribution and modification are not
224 covered by this License; they are outside its scope. The act of
225 running the Program is not restricted, and the output from the Program
226 is covered only if its contents constitute a work based on the
227 Program (independent of having been made by running the Program).
228 Whether that is true depends on what the Program does.
229
230 1. You may copy and distribute verbatim copies of the Program's
231 source code as you receive it, in any medium, provided that you
232 conspicuously and appropriately publish on each copy an appropriate
233 copyright notice and disclaimer of warranty; keep intact all the
234 notices that refer to this License and to the absence of any warranty;
235 and give any other recipients of the Program a copy of this License
236 along with the Program.
237
238 You may charge a fee for the physical act of transferring a copy, and
239 you may at your option offer warranty protection in exchange for a fee.
240
241 2. You may modify your copy or copies of the Program or any portion
242 of it, thus forming a work based on the Program, and copy and
243 distribute such modifications or work under the terms of Section 1
244 above, provided that you also meet all of these conditions:
245
246 a) You must cause the modified files to carry prominent notices
247 stating that you changed the files and the date of any change.
248
249 b) You must cause any work that you distribute or publish, that in
250 whole or in part contains or is derived from the Program or any
251 part thereof, to be licensed as a whole at no charge to all third
252 parties under the terms of this License.
253
254 c) If the modified program normally reads commands interactively
255 when run, you must cause it, when started running for such
256 interactive use in the most ordinary way, to print or display an
257 announcement including an appropriate copyright notice and a
258 notice that there is no warranty (or else, saying that you provide
259 a warranty) and that users may redistribute the program under
260 these conditions, and telling the user how to view a copy of this
261 License. (Exception: if the Program itself is interactive but
262 does not normally print such an announcement, your work based on
263 the Program is not required to print an announcement.)
264 \f
265 These requirements apply to the modified work as a whole. If
266 identifiable sections of that work are not derived from the Program,
267 and can be reasonably considered independent and separate works in
268 themselves, then this License, and its terms, do not apply to those
269 sections when you distribute them as separate works. But when you
270 distribute the same sections as part of a whole which is a work based
271 on the Program, the distribution of the whole must be on the terms of
272 this License, whose permissions for other licensees extend to the
273 entire whole, and thus to each and every part regardless of who wrote it.
274
275 Thus, it is not the intent of this section to claim rights or contest
276 your rights to work written entirely by you; rather, the intent is to
277 exercise the right to control the distribution of derivative or
278 collective works based on the Program.
279
280 In addition, mere aggregation of another work not based on the Program
281 with the Program (or with a work based on the Program) on a volume of
282 a storage or distribution medium does not bring the other work under
283 the scope of this License.
284
285 3. You may copy and distribute the Program (or a work based on it,
286 under Section 2) in object code or executable form under the terms of
287 Sections 1 and 2 above provided that you also do one of the following:
288
289 a) Accompany it with the complete corresponding machine-readable
290 source code, which must be distributed under the terms of Sections
291 1 and 2 above on a medium customarily used for software interchange; or,
292
293 b) Accompany it with a written offer, valid for at least three
294 years, to give any third party, for a charge no more than your
295 cost of physically performing source distribution, a complete
296 machine-readable copy of the corresponding source code, to be
297 distributed under the terms of Sections 1 and 2 above on a medium
298 customarily used for software interchange; or,
299
300 c) Accompany it with the information you received as to the offer
301 to distribute corresponding source code. (This alternative is
302 allowed only for noncommercial distribution and only if you
303 received the program in object code or executable form with such
304 an offer, in accord with Subsection b above.)
305
306 The source code for a work means the preferred form of the work for
307 making modifications to it. For an executable work, complete source
308 code means all the source code for all modules it contains, plus any
309 associated interface definition files, plus the scripts used to
310 control compilation and installation of the executable. However, as a
311 special exception, the source code distributed need not include
312 anything that is normally distributed (in either source or binary
313 form) with the major components (compiler, kernel, and so on) of the
314 operating system on which the executable runs, unless that component
315 itself accompanies the executable.
316
317 If distribution of executable or object code is made by offering
318 access to copy from a designated place, then offering equivalent
319 access to copy the source code from the same place counts as
320 distribution of the source code, even though third parties are not
321 compelled to copy the source along with the object code.
322 \f
323 4. You may not copy, modify, sublicense, or distribute the Program
324 except as expressly provided under this License. Any attempt
325 otherwise to copy, modify, sublicense or distribute the Program is
326 void, and will automatically terminate your rights under this License.
327 However, parties who have received copies, or rights, from you under
328 this License will not have their licenses terminated so long as such
329 parties remain in full compliance.
330
331 5. You are not required to accept this License, since you have not
332 signed it. However, nothing else grants you permission to modify or
333 distribute the Program or its derivative works. These actions are
334 prohibited by law if you do not accept this License. Therefore, by
335 modifying or distributing the Program (or any work based on the
336 Program), you indicate your acceptance of this License to do so, and
337 all its terms and conditions for copying, distributing or modifying
338 the Program or works based on it.
339
340 6. Each time you redistribute the Program (or any work based on the
341 Program), the recipient automatically receives a license from the
342 original licensor to copy, distribute or modify the Program subject to
343 these terms and conditions. You may not impose any further
344 restrictions on the recipients' exercise of the rights granted herein.
345 You are not responsible for enforcing compliance by third parties to
346 this License.
347
348 7. If, as a consequence of a court judgment or allegation of patent
349 infringement or for any other reason (not limited to patent issues),
350 conditions are imposed on you (whether by court order, agreement or
351 otherwise) that contradict the conditions of this License, they do not
352 excuse you from the conditions of this License. If you cannot
353 distribute so as to satisfy simultaneously your obligations under this
354 License and any other pertinent obligations, then as a consequence you
355 may not distribute the Program at all. For example, if a patent
356 license would not permit royalty-free redistribution of the Program by
357 all those who receive copies directly or indirectly through you, then
358 the only way you could satisfy both it and this License would be to
359 refrain entirely from distribution of the Program.
360
361 If any portion of this section is held invalid or unenforceable under
362 any particular circumstance, the balance of the section is intended to
363 apply and the section as a whole is intended to apply in other
364 circumstances.
365
366 It is not the purpose of this section to induce you to infringe any
367 patents or other property right claims or to contest validity of any
368 such claims; this section has the sole purpose of protecting the
369 integrity of the free software distribution system, which is
370 implemented by public license practices. Many people have made
371 generous contributions to the wide range of software distributed
372 through that system in reliance on consistent application of that
373 system; it is up to the author/donor to decide if he or she is willing
374 to distribute software through any other system and a licensee cannot
375 impose that choice.
376
377 This section is intended to make thoroughly clear what is believed to
378 be a consequence of the rest of this License.
379 \f
380 8. If the distribution and/or use of the Program is restricted in
381 certain countries either by patents or by copyrighted interfaces, the
382 original copyright holder who places the Program under this License
383 may add an explicit geographical distribution limitation excluding
384 those countries, so that distribution is permitted only in or among
385 countries not thus excluded. In such case, this License incorporates
386 the limitation as if written in the body of this License.
387
388 9. The Free Software Foundation may publish revised and/or new versions
389 of the General Public License from time to time. Such new versions will
390 be similar in spirit to the present version, but may differ in detail to
391 address new problems or concerns.
392
393 Each version is given a distinguishing version number. If the Program
394 specifies a version number of this License which applies to it and "any
395 later version", you have the option of following the terms and conditions
396 either of that version or of any later version published by the Free
397 Software Foundation. If the Program does not specify a version number of
398 this License, you may choose any version ever published by the Free Software
399 Foundation.
400
401 10. If you wish to incorporate parts of the Program into other free
402 programs whose distribution conditions are different, write to the author
403 to ask for permission. For software which is copyrighted by the Free
404 Software Foundation, write to the Free Software Foundation; we sometimes
405 make exceptions for this. Our decision will be guided by the two goals
406 of preserving the free status of all derivatives of our free software and
407 of promoting the sharing and reuse of software generally.
408
409 NO WARRANTY
410
411 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
412 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
413 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
414 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
415 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
416 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
417 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
418 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
419 REPAIR OR CORRECTION.
420
421 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
422 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
423 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
424 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
425 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
426 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
427 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
428 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
429 POSSIBILITY OF SUCH DAMAGES.
430
431 END OF TERMS AND CONDITIONS
432 \f
433 Appendix: How to Apply These Terms to Your New Programs
434
435 If you develop a new program, and you want it to be of the greatest
436 possible use to the public, the best way to achieve this is to make it
437 free software which everyone can redistribute and change under these terms.
438
439 To do so, attach the following notices to the program. It is safest
440 to attach them to the start of each source file to most effectively
441 convey the exclusion of warranty; and each file should have at least
442 the "copyright" line and a pointer to where the full notice is found.
443
444 <one line to give the program's name and a brief idea of what it does.>
445 Copyright (C) 19yy <name of author>
446
447 This program is free software; you can redistribute it and/or modify
448 it under the terms of the GNU General Public License as published by
449 the Free Software Foundation; either version 2 of the License, or
450 (at your option) any later version.
451
452 This program is distributed in the hope that it will be useful,
453 but WITHOUT ANY WARRANTY; without even the implied warranty of
454 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
455 GNU General Public License for more details.
456
457 You should have received a copy of the GNU General Public License
458 along with this program; if not, write to the Free Software
459 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
460
461 Also add information on how to contact you by electronic and paper mail.
462
463 If the program is interactive, make it output a short notice like this
464 when it starts in an interactive mode:
465
466 Gnomovision version 69, Copyright (C) 19yy name of author
467 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
468 This is free software, and you are welcome to redistribute it
469 under certain conditions; type `show c' for details.
470
471 The hypothetical commands `show w' and `show c' should show the appropriate
472 parts of the General Public License. Of course, the commands you use may
473 be called something other than `show w' and `show c'; they could even be
474 mouse-clicks or menu items--whatever suits your program.
475
476 You should also get your employer (if you work as a programmer) or your
477 school, if any, to sign a "copyright disclaimer" for the program, if
478 necessary. Here is a sample; alter the names:
479
480 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
481 `Gnomovision' (which makes passes at compilers) written by James Hacker.
482
483 <signature of Ty Coon>, 1 April 1989
484 Ty Coon, President of Vice
485
486 This General Public License does not permit incorporating your program into
487 proprietary programs. If your program is a subroutine library, you may
488 consider it more useful to permit linking proprietary applications with the
489 library. If this is what you want to do, use the GNU Library General
490 Public License instead of this License.
491 \f
492 GNU LIBRARY GENERAL PUBLIC LICENSE
493 Version 2, June 1991
494
495 Copyright (C) 1991 Free Software Foundation, Inc.
496 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
497
498 Everyone is permitted to copy and distribute verbatim copies
499 of this license document, but changing it is not allowed.
500
501 [This is the first released version of the library GPL. It is
502 numbered 2 because it goes with version 2 of the ordinary GPL.]
503
504 Preamble
505
506 The licenses for most software are designed to take away your
507 freedom to share and change it. By contrast, the GNU General Public
508 Licenses are intended to guarantee your freedom to share and change
509 free software--to make sure the software is free for all its users.
510
511 This license, the Library General Public License, applies to some
512 specially designated Free Software Foundation software, and to any
513 other libraries whose authors decide to use it. You can use it for
514 your libraries, too.
515
516 When we speak of free software, we are referring to freedom, not
517 price. Our General Public Licenses are designed to make sure that you
518 have the freedom to distribute copies of free software (and charge for
519 this service if you wish), that you receive source code or can get it
520 if you want it, that you can change the software or use pieces of it
521 in new free programs; and that you know you can do these things.
522
523 To protect your rights, we need to make restrictions that forbid
524 anyone to deny you these rights or to ask you to surrender the rights.
525 These restrictions translate to certain responsibilities for you if
526 you distribute copies of the library, or if you modify it.
527
528 For example, if you distribute copies of the library, whether gratis
529 or for a fee, you must give the recipients all the rights that we gave
530 you. You must make sure that they, too, receive or can get the source
531 code. If you link a program with the library, you must provide
532 complete object files to the recipients so that they can relink them
533 with the library, after making changes to the library and recompiling
534 it. And you must show them these terms so they know their rights.
535
536 Our method of protecting your rights has two steps: (1) copyright
537 the library, and (2) offer you this license which gives you legal
538 permission to copy, distribute and/or modify the library.
539
540 Also, for each distributor's protection, we want to make certain
541 that everyone understands that there is no warranty for this free
542 library. If the library is modified by someone else and passed on, we
543 want its recipients to know that what they have is not the original
544 version, so that any problems introduced by others will not reflect on
545 the original authors' reputations.
546 \f
547 Finally, any free program is threatened constantly by software
548 patents. We wish to avoid the danger that companies distributing free
549 software will individually obtain patent licenses, thus in effect
550 transforming the program into proprietary software. To prevent this,
551 we have made it clear that any patent must be licensed for everyone's
552 free use or not licensed at all.
553
554 Most GNU software, including some libraries, is covered by the ordinary
555 GNU General Public License, which was designed for utility programs. This
556 license, the GNU Library General Public License, applies to certain
557 designated libraries. This license is quite different from the ordinary
558 one; be sure to read it in full, and don't assume that anything in it is
559 the same as in the ordinary license.
560
561 The reason we have a separate public license for some libraries is that
562 they blur the distinction we usually make between modifying or adding to a
563 program and simply using it. Linking a program with a library, without
564 changing the library, is in some sense simply using the library, and is
565 analogous to running a utility program or application program. However, in
566 a textual and legal sense, the linked executable is a combined work, a
567 derivative of the original library, and the ordinary General Public License
568 treats it as such.
569
570 Because of this blurred distinction, using the ordinary General
571 Public License for libraries did not effectively promote software
572 sharing, because most developers did not use the libraries. We
573 concluded that weaker conditions might promote sharing better.
574
575 However, unrestricted linking of non-free programs would deprive the
576 users of those programs of all benefit from the free status of the
577 libraries themselves. This Library General Public License is intended to
578 permit developers of non-free programs to use free libraries, while
579 preserving your freedom as a user of such programs to change the free
580 libraries that are incorporated in them. (We have not seen how to achieve
581 this as regards changes in header files, but we have achieved it as regards
582 changes in the actual functions of the Library.) The hope is that this
583 will lead to faster development of free libraries.
584
585 The precise terms and conditions for copying, distribution and
586 modification follow. Pay close attention to the difference between a
587 "work based on the library" and a "work that uses the library". The
588 former contains code derived from the library, while the latter only
589 works together with the library.
590
591 Note that it is possible for a library to be covered by the ordinary
592 General Public License rather than by this special one.
593 \f
594 GNU LIBRARY GENERAL PUBLIC LICENSE
595 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
596
597 0. This License Agreement applies to any software library which
598 contains a notice placed by the copyright holder or other authorized
599 party saying it may be distributed under the terms of this Library
600 General Public License (also called "this License"). Each licensee is
601 addressed as "you".
602
603 A "library" means a collection of software functions and/or data
604 prepared so as to be conveniently linked with application programs
605 (which use some of those functions and data) to form executables.
606
607 The "Library", below, refers to any such software library or work
608 which has been distributed under these terms. A "work based on the
609 Library" means either the Library or any derivative work under
610 copyright law: that is to say, a work containing the Library or a
611 portion of it, either verbatim or with modifications and/or translated
612 straightforwardly into another language. (Hereinafter, translation is
613 included without limitation in the term "modification".)
614
615 "Source code" for a work means the preferred form of the work for
616 making modifications to it. For a library, complete source code means
617 all the source code for all modules it contains, plus any associated
618 interface definition files, plus the scripts used to control compilation
619 and installation of the library.
620
621 Activities other than copying, distribution and modification are not
622 covered by this License; they are outside its scope. The act of
623 running a program using the Library is not restricted, and output from
624 such a program is covered only if its contents constitute a work based
625 on the Library (independent of the use of the Library in a tool for
626 writing it). Whether that is true depends on what the Library does
627 and what the program that uses the Library does.
628
629 1. You may copy and distribute verbatim copies of the Library's
630 complete source code as you receive it, in any medium, provided that
631 you conspicuously and appropriately publish on each copy an
632 appropriate copyright notice and disclaimer of warranty; keep intact
633 all the notices that refer to this License and to the absence of any
634 warranty; and distribute a copy of this License along with the
635 Library.
636
637 You may charge a fee for the physical act of transferring a copy,
638 and you may at your option offer warranty protection in exchange for a
639 fee.
640 \f
641 2. You may modify your copy or copies of the Library or any portion
642 of it, thus forming a work based on the Library, and copy and
643 distribute such modifications or work under the terms of Section 1
644 above, provided that you also meet all of these conditions:
645
646 a) The modified work must itself be a software library.
647
648 b) You must cause the files modified to carry prominent notices
649 stating that you changed the files and the date of any change.
650
651 c) You must cause the whole of the work to be licensed at no
652 charge to all third parties under the terms of this License.
653
654 d) If a facility in the modified Library refers to a function or a
655 table of data to be supplied by an application program that uses
656 the facility, other than as an argument passed when the facility
657 is invoked, then you must make a good faith effort to ensure that,
658 in the event an application does not supply such function or
659 table, the facility still operates, and performs whatever part of
660 its purpose remains meaningful.
661
662 (For example, a function in a library to compute square roots has
663 a purpose that is entirely well-defined independent of the
664 application. Therefore, Subsection 2d requires that any
665 application-supplied function or table used by this function must
666 be optional: if the application does not supply it, the square
667 root function must still compute square roots.)
668
669 These requirements apply to the modified work as a whole. If
670 identifiable sections of that work are not derived from the Library,
671 and can be reasonably considered independent and separate works in
672 themselves, then this License, and its terms, do not apply to those
673 sections when you distribute them as separate works. But when you
674 distribute the same sections as part of a whole which is a work based
675 on the Library, the distribution of the whole must be on the terms of
676 this License, whose permissions for other licensees extend to the
677 entire whole, and thus to each and every part regardless of who wrote
678 it.
679
680 Thus, it is not the intent of this section to claim rights or contest
681 your rights to work written entirely by you; rather, the intent is to
682 exercise the right to control the distribution of derivative or
683 collective works based on the Library.
684
685 In addition, mere aggregation of another work not based on the Library
686 with the Library (or with a work based on the Library) on a volume of
687 a storage or distribution medium does not bring the other work under
688 the scope of this License.
689
690 3. You may opt to apply the terms of the ordinary GNU General Public
691 License instead of this License to a given copy of the Library. To do
692 this, you must alter all the notices that refer to this License, so
693 that they refer to the ordinary GNU General Public License, version 2,
694 instead of to this License. (If a newer version than version 2 of the
695 ordinary GNU General Public License has appeared, then you can specify
696 that version instead if you wish.) Do not make any other change in
697 these notices.
698 \f
699 Once this change is made in a given copy, it is irreversible for
700 that copy, so the ordinary GNU General Public License applies to all
701 subsequent copies and derivative works made from that copy.
702
703 This option is useful when you wish to copy part of the code of
704 the Library into a program that is not a library.
705
706 4. You may copy and distribute the Library (or a portion or
707 derivative of it, under Section 2) in object code or executable form
708 under the terms of Sections 1 and 2 above provided that you accompany
709 it with the complete corresponding machine-readable source code, which
710 must be distributed under the terms of Sections 1 and 2 above on a
711 medium customarily used for software interchange.
712
713 If distribution of object code is made by offering access to copy
714 from a designated place, then offering equivalent access to copy the
715 source code from the same place satisfies the requirement to
716 distribute the source code, even though third parties are not
717 compelled to copy the source along with the object code.
718
719 5. A program that contains no derivative of any portion of the
720 Library, but is designed to work with the Library by being compiled or
721 linked with it, is called a "work that uses the Library". Such a
722 work, in isolation, is not a derivative work of the Library, and
723 therefore falls outside the scope of this License.
724
725 However, linking a "work that uses the Library" with the Library
726 creates an executable that is a derivative of the Library (because it
727 contains portions of the Library), rather than a "work that uses the
728 library". The executable is therefore covered by this License.
729 Section 6 states terms for distribution of such executables.
730
731 When a "work that uses the Library" uses material from a header file
732 that is part of the Library, the object code for the work may be a
733 derivative work of the Library even though the source code is not.
734 Whether this is true is especially significant if the work can be
735 linked without the Library, or if the work is itself a library. The
736 threshold for this to be true is not precisely defined by law.
737
738 If such an object file uses only numerical parameters, data
739 structure layouts and accessors, and small macros and small inline
740 functions (ten lines or less in length), then the use of the object
741 file is unrestricted, regardless of whether it is legally a derivative
742 work. (Executables containing this object code plus portions of the
743 Library will still fall under Section 6.)
744
745 Otherwise, if the work is a derivative of the Library, you may
746 distribute the object code for the work under the terms of Section 6.
747 Any executables containing that work also fall under Section 6,
748 whether or not they are linked directly with the Library itself.
749 \f
750 6. As an exception to the Sections above, you may also compile or
751 link a "work that uses the Library" with the Library to produce a
752 work containing portions of the Library, and distribute that work
753 under terms of your choice, provided that the terms permit
754 modification of the work for the customer's own use and reverse
755 engineering for debugging such modifications.
756
757 You must give prominent notice with each copy of the work that the
758 Library is used in it and that the Library and its use are covered by
759 this License. You must supply a copy of this License. If the work
760 during execution displays copyright notices, you must include the
761 copyright notice for the Library among them, as well as a reference
762 directing the user to the copy of this License. Also, you must do one
763 of these things:
764
765 a) Accompany the work with the complete corresponding
766 machine-readable source code for the Library including whatever
767 changes were used in the work (which must be distributed under
768 Sections 1 and 2 above); and, if the work is an executable linked
769 with the Library, with the complete machine-readable "work that
770 uses the Library", as object code and/or source code, so that the
771 user can modify the Library and then relink to produce a modified
772 executable containing the modified Library. (It is understood
773 that the user who changes the contents of definitions files in the
774 Library will not necessarily be able to recompile the application
775 to use the modified definitions.)
776
777 b) Accompany the work with a written offer, valid for at
778 least three years, to give the same user the materials
779 specified in Subsection 6a, above, for a charge no more
780 than the cost of performing this distribution.
781
782 c) If distribution of the work is made by offering access to copy
783 from a designated place, offer equivalent access to copy the above
784 specified materials from the same place.
785
786 d) Verify that the user has already received a copy of these
787 materials or that you have already sent this user a copy.
788
789 For an executable, the required form of the "work that uses the
790 Library" must include any data and utility programs needed for
791 reproducing the executable from it. However, as a special exception,
792 the source code distributed need not include anything that is normally
793 distributed (in either source or binary form) with the major
794 components (compiler, kernel, and so on) of the operating system on
795 which the executable runs, unless that component itself accompanies
796 the executable.
797
798 It may happen that this requirement contradicts the license
799 restrictions of other proprietary libraries that do not normally
800 accompany the operating system. Such a contradiction means you cannot
801 use both them and the Library together in an executable that you
802 distribute.
803 \f
804 7. You may place library facilities that are a work based on the
805 Library side-by-side in a single library together with other library
806 facilities not covered by this License, and distribute such a combined
807 library, provided that the separate distribution of the work based on
808 the Library and of the other library facilities is otherwise
809 permitted, and provided that you do these two things:
810
811 a) Accompany the combined library with a copy of the same work
812 based on the Library, uncombined with any other library
813 facilities. This must be distributed under the terms of the
814 Sections above.
815
816 b) Give prominent notice with the combined library of the fact
817 that part of it is a work based on the Library, and explaining
818 where to find the accompanying uncombined form of the same work.
819
820 8. You may not copy, modify, sublicense, link with, or distribute
821 the Library except as expressly provided under this License. Any
822 attempt otherwise to copy, modify, sublicense, link with, or
823 distribute the Library is void, and will automatically terminate your
824 rights under this License. However, parties who have received copies,
825 or rights, from you under this License will not have their licenses
826 terminated so long as such parties remain in full compliance.
827
828 9. You are not required to accept this License, since you have not
829 signed it. However, nothing else grants you permission to modify or
830 distribute the Library or its derivative works. These actions are
831 prohibited by law if you do not accept this License. Therefore, by
832 modifying or distributing the Library (or any work based on the
833 Library), you indicate your acceptance of this License to do so, and
834 all its terms and conditions for copying, distributing or modifying
835 the Library or works based on it.
836
837 10. Each time you redistribute the Library (or any work based on the
838 Library), the recipient automatically receives a license from the
839 original licensor to copy, distribute, link with or modify the Library
840 subject to these terms and conditions. You may not impose any further
841 restrictions on the recipients' exercise of the rights granted herein.
842 You are not responsible for enforcing compliance by third parties to
843 this License.
844 \f
845 11. If, as a consequence of a court judgment or allegation of patent
846 infringement or for any other reason (not limited to patent issues),
847 conditions are imposed on you (whether by court order, agreement or
848 otherwise) that contradict the conditions of this License, they do not
849 excuse you from the conditions of this License. If you cannot
850 distribute so as to satisfy simultaneously your obligations under this
851 License and any other pertinent obligations, then as a consequence you
852 may not distribute the Library at all. For example, if a patent
853 license would not permit royalty-free redistribution of the Library by
854 all those who receive copies directly or indirectly through you, then
855 the only way you could satisfy both it and this License would be to
856 refrain entirely from distribution of the Library.
857
858 If any portion of this section is held invalid or unenforceable under any
859 particular circumstance, the balance of the section is intended to apply,
860 and the section as a whole is intended to apply in other circumstances.
861
862 It is not the purpose of this section to induce you to infringe any
863 patents or other property right claims or to contest validity of any
864 such claims; this section has the sole purpose of protecting the
865 integrity of the free software distribution system which is
866 implemented by public license practices. Many people have made
867 generous contributions to the wide range of software distributed
868 through that system in reliance on consistent application of that
869 system; it is up to the author/donor to decide if he or she is willing
870 to distribute software through any other system and a licensee cannot
871 impose that choice.
872
873 This section is intended to make thoroughly clear what is believed to
874 be a consequence of the rest of this License.
875
876 12. If the distribution and/or use of the Library is restricted in
877 certain countries either by patents or by copyrighted interfaces, the
878 original copyright holder who places the Library under this License may add
879 an explicit geographical distribution limitation excluding those countries,
880 so that distribution is permitted only in or among countries not thus
881 excluded. In such case, this License incorporates the limitation as if
882 written in the body of this License.
883
884 13. The Free Software Foundation may publish revised and/or new
885 versions of the Library General Public License from time to time.
886 Such new versions will be similar in spirit to the present version,
887 but may differ in detail to address new problems or concerns.
888
889 Each version is given a distinguishing version number. If the Library
890 specifies a version number of this License which applies to it and
891 "any later version", you have the option of following the terms and
892 conditions either of that version or of any later version published by
893 the Free Software Foundation. If the Library does not specify a
894 license version number, you may choose any version ever published by
895 the Free Software Foundation.
896 \f
897 14. If you wish to incorporate parts of the Library into other free
898 programs whose distribution conditions are incompatible with these,
899 write to the author to ask for permission. For software which is
900 copyrighted by the Free Software Foundation, write to the Free
901 Software Foundation; we sometimes make exceptions for this. Our
902 decision will be guided by the two goals of preserving the free status
903 of all derivatives of our free software and of promoting the sharing
904 and reuse of software generally.
905
906 NO WARRANTY
907
908 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
909 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
910 EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
911 OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
912 KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
913 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
914 PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
915 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
916 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
917
918 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
919 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
920 AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
921 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
922 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
923 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
924 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
925 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
926 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
927 DAMAGES.
928
929 END OF TERMS AND CONDITIONS
930 \f
931 Appendix: How to Apply These Terms to Your New Libraries
932
933 If you develop a new library, and you want it to be of the greatest
934 possible use to the public, we recommend making it free software that
935 everyone can redistribute and change. You can do so by permitting
936 redistribution under these terms (or, alternatively, under the terms of the
937 ordinary General Public License).
938
939 To apply these terms, attach the following notices to the library. It is
940 safest to attach them to the start of each source file to most effectively
941 convey the exclusion of warranty; and each file should have at least the
942 "copyright" line and a pointer to where the full notice is found.
943
944 <one line to give the library's name and a brief idea of what it does.>
945 Copyright (C) <year> <name of author>
946
947 This library is free software; you can redistribute it and/or
948 modify it under the terms of the GNU Library General Public
949 License as published by the Free Software Foundation; either
950 version 2 of the License, or (at your option) any later version.
951
952 This library is distributed in the hope that it will be useful,
953 but WITHOUT ANY WARRANTY; without even the implied warranty of
954 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
955 Library General Public License for more details.
956
957 You should have received a copy of the GNU Library General Public
958 License along with this library; if not, write to the Free
959 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
960
961 Also add information on how to contact you by electronic and paper mail.
962
963 You should also get your employer (if you work as a programmer) or your
964 school, if any, to sign a "copyright disclaimer" for the library, if
965 necessary. Here is a sample; alter the names:
966
967 Yoyodyne, Inc., hereby disclaims all copyright interest in the
968 library `Frob' (a library for tweaking knobs) written by James Random Hacker.
969
970 <signature of Ty Coon>, 1 April 1990
971 Ty Coon, President of Vice
972
973 That's all there is to it!