gcc-6: don't ship info pages
[unleashed-userland.git] / components / swt / swt.license
blob135970ea848aeda3b9e6a80fe236dd43237076cc
1 Eclipse Public License - v 1.0
3 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
5 1. DEFINITIONS
6 "Contribution" means:
7 a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
8 b) in the case of each subsequent Contributor:
9 i) changes to the Program, and
10 ii) additions to the Program;
11 where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
12 "Contributor" means any person or entity that distributes the Program.
13 "Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
14 "Program" means the Contributions distributed in accordance with this Agreement.
15 "Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
17 2. GRANT OF RIGHTS
18 a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
19 b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
20 c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
21 d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
23 3. REQUIREMENTS
24 A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
25 a) it complies with the terms and conditions of this Agreement; and
26 b) its license agreement:
27 i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
28 ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
29 iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
30 iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
31 When the Program is made available in source code form:
32 a) it must be made available under this Agreement; and
33 b) a copy of this Agreement must be included with each copy of the Program.
34 Contributors may not remove or alter any copyright notices contained within the Program.
35 Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
37 4. COMMERCIAL DISTRIBUTION
38 Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
39 For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
41 5. NO WARRANTY
42 EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
44 6. DISCLAIMER OF LIABILITY
45 EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
47 7. GENERAL
48 If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
49 If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
50 All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
51 Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
52 This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
54 ============================================================================================================= 
56 The Independent JPEG Group's JPEG software
57 ==========================================
59 README for release 6b of 27-Mar-1998
60 ====================================
62 This distribution contains the sixth public release of the Independent JPEG
63 Group's free JPEG software.  You are welcome to redistribute this software and
64 to use it for any purpose, subject to the conditions under LEGAL ISSUES, below.
66 Serious users of this software (particularly those incorporating it into
67 larger programs) should contact IJG at jpeg-info@uunet.uu.net to be added to
68 our electronic mailing list.  Mailing list members are notified of updates
69 and have a chance to participate in technical discussions, etc.
71 This software is the work of Tom Lane, Philip Gladstone, Jim Boucher,
72 Lee Crocker, Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi,
73 Guido Vollbeding, Ge' Weijers, and other members of the Independent JPEG
74 Group.
76 IJG is not affiliated with the official ISO JPEG standards committee.
79 DOCUMENTATION ROADMAP
80 =====================
82 This file contains the following sections:
84 OVERVIEW            General description of JPEG and the IJG software.
85 LEGAL ISSUES        Copyright, lack of warranty, terms of distribution.
86 REFERENCES          Where to learn more about JPEG.
87 ARCHIVE LOCATIONS   Where to find newer versions of this software.
88 RELATED SOFTWARE    Other stuff you should get.
89 FILE FORMAT WARS    Software *not* to get.
90 TO DO               Plans for future IJG releases.
92 Other documentation files in the distribution are:
94 User documentation:
95   install.doc       How to configure and install the IJG software.
96   usage.doc         Usage instructions for cjpeg, djpeg, jpegtran,
97                     rdjpgcom, and wrjpgcom.
98   *.1               Unix-style man pages for programs (same info as usage.doc).
99   wizard.doc        Advanced usage instructions for JPEG wizards only.
100   change.log        Version-to-version change highlights.
101 Programmer and internal documentation:
102   libjpeg.doc       How to use the JPEG library in your own programs.
103   example.c         Sample code for calling the JPEG library.
104   structure.doc     Overview of the JPEG library's internal structure.
105   filelist.doc      Road map of IJG files.
106   coderules.doc     Coding style rules --- please read if you contribute code.
108 Please read at least the files install.doc and usage.doc.  Useful information
109 can also be found in the JPEG FAQ (Frequently Asked Questions) article.  See
110 ARCHIVE LOCATIONS below to find out where to obtain the FAQ article.
112 If you want to understand how the JPEG code works, we suggest reading one or
113 more of the REFERENCES, then looking at the documentation files (in roughly
114 the order listed) before diving into the code.
117 OVERVIEW
118 ========
120 This package contains C software to implement JPEG image compression and
121 decompression.  JPEG (pronounced "jay-peg") is a standardized compression
122 method for full-color and gray-scale images.  JPEG is intended for compressing
123 "real-world" scenes; line drawings, cartoons and other non-realistic images
124 are not its strong suit.  JPEG is lossy, meaning that the output image is not
125 exactly identical to the input image.  Hence you must not use JPEG if you
126 have to have identical output bits.  However, on typical photographic images,
127 very good compression levels can be obtained with no visible change, and
128 remarkably high compression levels are possible if you can tolerate a
129 low-quality image.  For more details, see the references, or just experiment
130 with various compression settings.
132 This software implements JPEG baseline, extended-sequential, and progressive
133 compression processes.  Provision is made for supporting all variants of these
134 processes, although some uncommon parameter settings aren't implemented yet.
135 For legal reasons, we are not distributing code for the arithmetic-coding
136 variants of JPEG; see LEGAL ISSUES.  We have made no provision for supporting
137 the hierarchical or lossless processes defined in the standard.
139 We provide a set of library routines for reading and writing JPEG image files,
140 plus two sample applications "cjpeg" and "djpeg", which use the library to
141 perform conversion between JPEG and some other popular image file formats.
142 The library is intended to be reused in other applications.
144 In order to support file conversion and viewing software, we have included
145 considerable functionality beyond the bare JPEG coding/decoding capability;
146 for example, the color quantization modules are not strictly part of JPEG
147 decoding, but they are essential for output to colormapped file formats or
148 colormapped displays.  These extra functions can be compiled out of the
149 library if not required for a particular application.  We have also included
150 "jpegtran", a utility for lossless transcoding between different JPEG
151 processes, and "rdjpgcom" and "wrjpgcom", two simple applications for
152 inserting and extracting textual comments in JFIF files.
154 The emphasis in designing this software has been on achieving portability and
155 flexibility, while also making it fast enough to be useful.  In particular,
156 the software is not intended to be read as a tutorial on JPEG.  (See the
157 REFERENCES section for introductory material.)  Rather, it is intended to
158 be reliable, portable, industrial-strength code.  We do not claim to have
159 achieved that goal in every aspect of the software, but we strive for it.
161 We welcome the use of this software as a component of commercial products.
162 No royalty is required, but we do ask for an acknowledgement in product
163 documentation, as described under LEGAL ISSUES.
166 LEGAL ISSUES
167 ============
169 In plain English:
171 1. We don't promise that this software works.  (But if you find any bugs,
172    please let us know!)
173 2. You can use this software for whatever you want.  You don't have to pay us.
174 3. You may not pretend that you wrote this software.  If you use it in a
175    program, you must acknowledge somewhere in your documentation that
176    you've used the IJG code.
178 In legalese:
180 The authors make NO WARRANTY or representation, either express or implied,
181 with respect to this software, its quality, accuracy, merchantability, or
182 fitness for a particular purpose.  This software is provided "AS IS", and you,
183 its user, assume the entire risk as to its quality and accuracy.
185 This software is copyright (C) 1991-1998, Thomas G. Lane.
186 All Rights Reserved except as specified below.
188 Permission is hereby granted to use, copy, modify, and distribute this
189 software (or portions thereof) for any purpose, without fee, subject to these
190 conditions:
191 (1) If any part of the source code for this software is distributed, then this
192 README file must be included, with this copyright and no-warranty notice
193 unaltered; and any additions, deletions, or changes to the original files
194 must be clearly indicated in accompanying documentation.
195 (2) If only executable code is distributed, then the accompanying
196 documentation must state that "this software is based in part on the work of
197 the Independent JPEG Group".
198 (3) Permission for use of this software is granted only if the user accepts
199 full responsibility for any undesirable consequences; the authors accept
200 NO LIABILITY for damages of any kind.
202 These conditions apply to any software derived from or based on the IJG code,
203 not just to the unmodified library.  If you use our work, you ought to
204 acknowledge us.
206 Permission is NOT granted for the use of any IJG author's name or company name
207 in advertising or publicity relating to this software or products derived from
208 it.  This software may be referred to only as "the Independent JPEG Group's
209 software".
211 We specifically permit and encourage the use of this software as the basis of
212 commercial products, provided that all warranty or liability claims are
213 assumed by the product vendor.
216 ansi2knr.c is included in this distribution by permission of L. Peter Deutsch,
217 sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.
218 ansi2knr.c is NOT covered by the above copyright and conditions, but instead
219 by the usual distribution terms of the Free Software Foundation; principally,
220 that you must include source code if you redistribute it.  (See the file
221 ansi2knr.c for full details.)  However, since ansi2knr.c is not needed as part
222 of any program generated from the IJG code, this does not limit you more than
223 the foregoing paragraphs do.
225 The Unix configuration script "configure" was produced with GNU Autoconf.
226 It is copyright by the Free Software Foundation but is freely distributable.
227 The same holds for its supporting scripts (config.guess, config.sub,
228 ltconfig, ltmain.sh).  Another support script, install-sh, is copyright
229 by M.I.T. but is also freely distributable.
231 It appears that the arithmetic coding option of the JPEG spec is covered by
232 patents owned by IBM, AT&T, and Mitsubishi.  Hence arithmetic coding cannot
233 legally be used without obtaining one or more licenses.  For this reason,
234 support for arithmetic coding has been removed from the free JPEG software.
235 (Since arithmetic coding provides only a marginal gain over the unpatented
236 Huffman mode, it is unlikely that very many implementations will support it.)
237 So far as we are aware, there are no patent restrictions on the remaining
238 code.
240 The IJG distribution formerly included code to read and write GIF files.
241 To avoid entanglement with the Unisys LZW patent, GIF reading support has
242 been removed altogether, and the GIF writer has been simplified to produce
243 "uncompressed GIFs".  This technique does not use the LZW algorithm; the
244 resulting GIF files are larger than usual, but are readable by all standard
245 GIF decoders.
247 We are required to state that
248     "The Graphics Interchange Format(c) is the Copyright property of
249     CompuServe Incorporated.  GIF(sm) is a Service Mark property of
250     CompuServe Incorporated."
253 REFERENCES
254 ==========
256 We highly recommend reading one or more of these references before trying to
257 understand the innards of the JPEG software.
259 The best short technical introduction to the JPEG compression algorithm is
260         Wallace, Gregory K.  "The JPEG Still Picture Compression Standard",
261         Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
262 (Adjacent articles in that issue discuss MPEG motion picture compression,
263 applications of JPEG, and related topics.)  If you don't have the CACM issue
264 handy, a PostScript file containing a revised version of Wallace's article is
265 available at ftp://ftp.uu.net/graphics/jpeg/wallace.ps.gz.  The file (actually
266 a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
267 omits the sample images that appeared in CACM, but it includes corrections
268 and some added material.  Note: the Wallace article is copyright ACM and IEEE,
269 and it may not be used for commercial purposes.
271 A somewhat less technical, more leisurely introduction to JPEG can be found in
272 "The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by
273 M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1.  This book provides
274 good explanations and example C code for a multitude of compression methods
275 including JPEG.  It is an excellent source if you are comfortable reading C
276 code but don't know much about data compression in general.  The book's JPEG
277 sample code is far from industrial-strength, but when you are ready to look
278 at a full implementation, you've got one here...
280 The best full description of JPEG is the textbook "JPEG Still Image Data
281 Compression Standard" by William B. Pennebaker and Joan L. Mitchell, published
282 by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.  Price US$59.95, 638 pp.
283 The book includes the complete text of the ISO JPEG standards (DIS 10918-1
284 and draft DIS 10918-2).  This is by far the most complete exposition of JPEG
285 in existence, and we highly recommend it.
287 The JPEG standard itself is not available electronically; you must order a
288 paper copy through ISO or ITU.  (Unless you feel a need to own a certified
289 official copy, we recommend buying the Pennebaker and Mitchell book instead;
290 it's much cheaper and includes a great deal of useful explanatory material.)
291 In the USA, copies of the standard may be ordered from ANSI Sales at (212)
292 642-4900, or from Global Engineering Documents at (800) 854-7179.  (ANSI
293 doesn't take credit card orders, but Global does.)  It's not cheap: as of
294 1992, ANSI was charging $95 for Part 1 and $47 for Part 2, plus 7%
295 shipping/handling.  The standard is divided into two parts, Part 1 being the
296 actual specification, while Part 2 covers compliance testing methods.  Part 1
297 is titled "Digital Compression and Coding of Continuous-tone Still Images,
298 Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
299 10918-1, ITU-T T.81.  Part 2 is titled "Digital Compression and Coding of
300 Continuous-tone Still Images, Part 2: Compliance testing" and has document
301 numbers ISO/IEC IS 10918-2, ITU-T T.83.
303 Some extensions to the original JPEG standard are defined in JPEG Part 3,
304 a newer ISO standard numbered ISO/IEC IS 10918-3 and ITU-T T.84.  IJG
305 currently does not support any Part 3 extensions.
307 The JPEG standard does not specify all details of an interchangeable file
308 format.  For the omitted details we follow the "JFIF" conventions, revision
309 1.02.  A copy of the JFIF spec is available from:
310         Literature Department
311         C-Cube Microsystems, Inc.
312         1778 McCarthy Blvd.
313         Milpitas, CA 95035
314         phone (408) 944-6300,  fax (408) 944-6314
315 A PostScript version of this document is available by FTP at
316 ftp://ftp.uu.net/graphics/jpeg/jfif.ps.gz.  There is also a plain text
317 version at ftp://ftp.uu.net/graphics/jpeg/jfif.txt.gz, but it is missing
318 the figures.
320 The TIFF 6.0 file format specification can be obtained by FTP from
321 ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz.  The JPEG incorporation scheme
322 found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems.
323 IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6).
324 Instead, we recommend the JPEG design proposed by TIFF Technical Note #2
325 (Compression tag 7).  Copies of this Note can be obtained from ftp.sgi.com or
326 from ftp://ftp.uu.net/graphics/jpeg/.  It is expected that the next revision
327 of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
328 Although IJG's own code does not support TIFF/JPEG, the free libtiff library
329 uses our library to implement TIFF/JPEG per the Note.  libtiff is available
330 from ftp://ftp.sgi.com/graphics/tiff/.
333 ARCHIVE LOCATIONS
334 =================
336 The "official" archive site for this software is ftp.uu.net (Internet
337 address 192.48.96.9).  The most recent released version can always be found
338 there in directory graphics/jpeg.  This particular version will be archived
339 as ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz.  If you don't have
340 direct Internet access, UUNET's archives are also available via UUCP; contact
341 help@uunet.uu.net for information on retrieving files that way.
343 Numerous Internet sites maintain copies of the UUNET files.  However, only
344 ftp.uu.net is guaranteed to have the latest official version.
346 You can also obtain this software in DOS-compatible "zip" archive format from
347 the SimTel archives (ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/), or
348 on CompuServe in the Graphics Support forum (GO CIS:GRAPHSUP), library 12
349 "JPEG Tools".  Again, these versions may sometimes lag behind the ftp.uu.net
350 release.
352 The JPEG FAQ (Frequently Asked Questions) article is a useful source of
353 general information about JPEG.  It is updated constantly and therefore is
354 not included in this distribution.  The FAQ is posted every two weeks to
355 Usenet newsgroups comp.graphics.misc, news.answers, and other groups.
356 It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/
357 and other news.answers archive sites, including the official news.answers
358 archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/.
359 If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu
360 with body
361         send usenet/news.answers/jpeg-faq/part1
362         send usenet/news.answers/jpeg-faq/part2
365 RELATED SOFTWARE
366 ================
368 Numerous viewing and image manipulation programs now support JPEG.  (Quite a
369 few of them use this library to do so.)  The JPEG FAQ described above lists
370 some of the more popular free and shareware viewers, and tells where to
371 obtain them on Internet.
373 If you are on a Unix machine, we highly recommend Jef Poskanzer's free
374 PBMPLUS software, which provides many useful operations on PPM-format image
375 files.  In particular, it can convert PPM images to and from a wide range of
376 other formats, thus making cjpeg/djpeg considerably more useful.  The latest
377 version is distributed by the NetPBM group, and is available from numerous
378 sites, notably ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/.
379 Unfortunately PBMPLUS/NETPBM is not nearly as portable as the IJG software is;
380 you are likely to have difficulty making it work on any non-Unix machine.
382 A different free JPEG implementation, written by the PVRG group at Stanford,
383 is available from ftp://havefun.stanford.edu/pub/jpeg/.  This program
384 is designed for research and experimentation rather than production use;
385 it is slower, harder to use, and less portable than the IJG code, but it
386 is easier to read and modify.  Also, the PVRG code supports lossless JPEG,
387 which we do not.  (On the other hand, it doesn't do progressive JPEG.)
390 FILE FORMAT WARS
391 ================
393 Some JPEG programs produce files that are not compatible with our library.
394 The root of the problem is that the ISO JPEG committee failed to specify a
395 concrete file format.  Some vendors "filled in the blanks" on their own,
396 creating proprietary formats that no one else could read.  (For example, none
397 of the early commercial JPEG implementations for the Macintosh were able to
398 exchange compressed files.)
400 The file format we have adopted is called JFIF (see REFERENCES).  This format
401 has been agreed to by a number of major commercial JPEG vendors, and it has
402 become the de facto standard.  JFIF is a minimal or "low end" representation.
403 We recommend the use of TIFF/JPEG (TIFF revision 6.0 as modified by TIFF
404 Technical Note #2) for "high end" applications that need to record a lot of
405 additional data about an image.  TIFF/JPEG is fairly new and not yet widely
406 supported, unfortunately.
408 The upcoming JPEG Part 3 standard defines a file format called SPIFF.
409 SPIFF is interoperable with JFIF, in the sense that most JFIF decoders should
410 be able to read the most common variant of SPIFF.  SPIFF has some technical
411 advantages over JFIF, but its major claim to fame is simply that it is an
412 official standard rather than an informal one.  At this point it is unclear
413 whether SPIFF will supersede JFIF or whether JFIF will remain the de-facto
414 standard.  IJG intends to support SPIFF once the standard is frozen, but we
415 have not decided whether it should become our default output format or not.
416 (In any case, our decoder will remain capable of reading JFIF indefinitely.)
418 Various proprietary file formats incorporating JPEG compression also exist.
419 We have little or no sympathy for the existence of these formats.  Indeed,
420 one of the original reasons for developing this free software was to help
421 force convergence on common, open format standards for JPEG files.  Don't
422 use a proprietary file format!
425 TO DO
426 =====
428 The major thrust for v7 will probably be improvement of visual quality.
429 The current method for scaling the quantization tables is known not to be
430 very good at low Q values.  We also intend to investigate block boundary
431 smoothing, "poor man's variable quantization", and other means of improving
432 quality-vs-file-size performance without sacrificing compatibility.
434 In future versions, we are considering supporting some of the upcoming JPEG
435 Part 3 extensions --- principally, variable quantization and the SPIFF file
436 format.
438 As always, speeding things up is of great interest.
440 Please send bug reports, offers of help, etc. to jpeg-info@uunet.uu.net.
442 ============================================================================================================= 
443                   GNU LESSER GENERAL PUBLIC LICENSE
444                        Version 2.1, February 1999
446  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
447      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
448  Everyone is permitted to copy and distribute verbatim copies
449  of this license document, but changing it is not allowed.
451 [This is the first released version of the Lesser GPL.  It also counts
452  as the successor of the GNU Library Public License, version 2, hence
453  the version number 2.1.]
455                             Preamble
457   The licenses for most software are designed to take away your
458 freedom to share and change it.  By contrast, the GNU General Public
459 Licenses are intended to guarantee your freedom to share and change
460 free software--to make sure the software is free for all its users.
462   This license, the Lesser General Public License, applies to some
463 specially designated software packages--typically libraries--of the
464 Free Software Foundation and other authors who decide to use it.  You
465 can use it too, but we suggest you first think carefully about whether
466 this license or the ordinary General Public License is the better
467 strategy to use in any particular case, based on the explanations below.
469   When we speak of free software, we are referring to freedom of use,
470 not price.  Our General Public Licenses are designed to make sure that
471 you have the freedom to distribute copies of free software (and charge
472 for this service if you wish); that you receive source code or can get
473 it if you want it; that you can change the software and use pieces of
474 it in new free programs; and that you are informed that you can do
475 these things.
477   To protect your rights, we need to make restrictions that forbid
478 distributors to deny you these rights or to ask you to surrender these
479 rights.  These restrictions translate to certain responsibilities for
480 you if you distribute copies of the library or if you modify it.
482   For example, if you distribute copies of the library, whether gratis
483 or for a fee, you must give the recipients all the rights that we gave
484 you.  You must make sure that they, too, receive or can get the source
485 code.  If you link other code with the library, you must provide
486 complete object files to the recipients, so that they can relink them
487 with the library after making changes to the library and recompiling
488 it.  And you must show them these terms so they know their rights.
490   We protect your rights with a two-step method: (1) we copyright the
491 library, and (2) we offer you this license, which gives you legal
492 permission to copy, distribute and/or modify the library.
494   To protect each distributor, we want to make it very clear that
495 there is no warranty for the free library.  Also, if the library is
496 modified by someone else and passed on, the recipients should know
497 that what they have is not the original version, so that the original
498 author's reputation will not be affected by problems that might be
499 introduced by others.
501   Finally, software patents pose a constant threat to the existence of
502 any free program.  We wish to make sure that a company cannot
503 effectively restrict the users of a free program by obtaining a
504 restrictive license from a patent holder.  Therefore, we insist that
505 any patent license obtained for a version of the library must be
506 consistent with the full freedom of use specified in this license.
508   Most GNU software, including some libraries, is covered by the
509 ordinary GNU General Public License.  This license, the GNU Lesser
510 General Public License, applies to certain designated libraries, and
511 is quite different from the ordinary General Public License.  We use
512 this license for certain libraries in order to permit linking those
513 libraries into non-free programs.
515   When a program is linked with a library, whether statically or using
516 a shared library, the combination of the two is legally speaking a
517 combined work, a derivative of the original library.  The ordinary
518 General Public License therefore permits such linking only if the
519 entire combination fits its criteria of freedom.  The Lesser General
520 Public License permits more lax criteria for linking other code with
521 the library.
523   We call this license the "Lesser" General Public License because it
524 does Less to protect the user's freedom than the ordinary General
525 Public License.  It also provides other free software developers Less
526 of an advantage over competing non-free programs.  These disadvantages
527 are the reason we use the ordinary General Public License for many
528 libraries.  However, the Lesser license provides advantages in certain
529 special circumstances.
531   For example, on rare occasions, there may be a special need to
532 encourage the widest possible use of a certain library, so that it becomes
533 a de-facto standard.  To achieve this, non-free programs must be
534 allowed to use the library.  A more frequent case is that a free
535 library does the same job as widely used non-free libraries.  In this
536 case, there is little to gain by limiting the free library to free
537 software only, so we use the Lesser General Public License.
539   In other cases, permission to use a particular library in non-free
540 programs enables a greater number of people to use a large body of
541 free software.  For example, permission to use the GNU C Library in
542 non-free programs enables many more people to use the whole GNU
543 operating system, as well as its variant, the GNU/Linux operating
544 system.
546   Although the Lesser General Public License is Less protective of the
547 users' freedom, it does ensure that the user of a program that is
548 linked with the Library has the freedom and the wherewithal to run
549 that program using a modified version of the Library.
551   The precise terms and conditions for copying, distribution and
552 modification follow.  Pay close attention to the difference between a
553 "work based on the library" and a "work that uses the library".  The
554 former contains code derived from the library, whereas the latter must
555 be combined with the library in order to run.
557                   GNU LESSER GENERAL PUBLIC LICENSE
558    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
560   0. This License Agreement applies to any software library or other
561 program which contains a notice placed by the copyright holder or
562 other authorized party saying it may be distributed under the terms of
563 this Lesser General Public License (also called "this License").
564 Each licensee is addressed as "you".
566   A "library" means a collection of software functions and/or data
567 prepared so as to be conveniently linked with application programs
568 (which use some of those functions and data) to form executables.
570   The "Library", below, refers to any such software library or work
571 which has been distributed under these terms.  A "work based on the
572 Library" means either the Library or any derivative work under
573 copyright law: that is to say, a work containing the Library or a
574 portion of it, either verbatim or with modifications and/or translated
575 straightforwardly into another language.  (Hereinafter, translation is
576 included without limitation in the term "modification".)
578   "Source code" for a work means the preferred form of the work for
579 making modifications to it.  For a library, complete source code means
580 all the source code for all modules it contains, plus any associated
581 interface definition files, plus the scripts used to control compilation
582 and installation of the library.
584   Activities other than copying, distribution and modification are not
585 covered by this License; they are outside its scope.  The act of
586 running a program using the Library is not restricted, and output from
587 such a program is covered only if its contents constitute a work based
588 on the Library (independent of the use of the Library in a tool for
589 writing it).  Whether that is true depends on what the Library does
590 and what the program that uses the Library does.
591   
592   1. You may copy and distribute verbatim copies of the Library's
593 complete source code as you receive it, in any medium, provided that
594 you conspicuously and appropriately publish on each copy an
595 appropriate copyright notice and disclaimer of warranty; keep intact
596 all the notices that refer to this License and to the absence of any
597 warranty; and distribute a copy of this License along with the
598 Library.
600   You may charge a fee for the physical act of transferring a copy,
601 and you may at your option offer warranty protection in exchange for a
602 fee.
604   2. You may modify your copy or copies of the Library or any portion
605 of it, thus forming a work based on the Library, and copy and
606 distribute such modifications or work under the terms of Section 1
607 above, provided that you also meet all of these conditions:
609     a) The modified work must itself be a software library.
611     b) You must cause the files modified to carry prominent notices
612     stating that you changed the files and the date of any change.
614     c) You must cause the whole of the work to be licensed at no
615     charge to all third parties under the terms of this License.
617     d) If a facility in the modified Library refers to a function or a
618     table of data to be supplied by an application program that uses
619     the facility, other than as an argument passed when the facility
620     is invoked, then you must make a good faith effort to ensure that,
621     in the event an application does not supply such function or
622     table, the facility still operates, and performs whatever part of
623     its purpose remains meaningful.
625     (For example, a function in a library to compute square roots has
626     a purpose that is entirely well-defined independent of the
627     application.  Therefore, Subsection 2d requires that any
628     application-supplied function or table used by this function must
629     be optional: if the application does not supply it, the square
630     root function must still compute square roots.)
632 These requirements apply to the modified work as a whole.  If
633 identifiable sections of that work are not derived from the Library,
634 and can be reasonably considered independent and separate works in
635 themselves, then this License, and its terms, do not apply to those
636 sections when you distribute them as separate works.  But when you
637 distribute the same sections as part of a whole which is a work based
638 on the Library, the distribution of the whole must be on the terms of
639 this License, whose permissions for other licensees extend to the
640 entire whole, and thus to each and every part regardless of who wrote
643 Thus, it is not the intent of this section to claim rights or contest
644 your rights to work written entirely by you; rather, the intent is to
645 exercise the right to control the distribution of derivative or
646 collective works based on the Library.
648 In addition, mere aggregation of another work not based on the Library
649 with the Library (or with a work based on the Library) on a volume of
650 a storage or distribution medium does not bring the other work under
651 the scope of this License.
653   3. You may opt to apply the terms of the ordinary GNU General Public
654 License instead of this License to a given copy of the Library.  To do
655 this, you must alter all the notices that refer to this License, so
656 that they refer to the ordinary GNU General Public License, version 2,
657 instead of to this License.  (If a newer version than version 2 of the
658 ordinary GNU General Public License has appeared, then you can specify
659 that version instead if you wish.)  Do not make any other change in
660 these notices.
662   Once this change is made in a given copy, it is irreversible for
663 that copy, so the ordinary GNU General Public License applies to all
664 subsequent copies and derivative works made from that copy.
666   This option is useful when you wish to copy part of the code of
667 the Library into a program that is not a library.
669   4. You may copy and distribute the Library (or a portion or
670 derivative of it, under Section 2) in object code or executable form
671 under the terms of Sections 1 and 2 above provided that you accompany
672 it with the complete corresponding machine-readable source code, which
673 must be distributed under the terms of Sections 1 and 2 above on a
674 medium customarily used for software interchange.
676   If distribution of object code is made by offering access to copy
677 from a designated place, then offering equivalent access to copy the
678 source code from the same place satisfies the requirement to
679 distribute the source code, even though third parties are not
680 compelled to copy the source along with the object code.
682   5. A program that contains no derivative of any portion of the
683 Library, but is designed to work with the Library by being compiled or
684 linked with it, is called a "work that uses the Library".  Such a
685 work, in isolation, is not a derivative work of the Library, and
686 therefore falls outside the scope of this License.
688   However, linking a "work that uses the Library" with the Library
689 creates an executable that is a derivative of the Library (because it
690 contains portions of the Library), rather than a "work that uses the
691 library".  The executable is therefore covered by this License.
692 Section 6 states terms for distribution of such executables.
694   When a "work that uses the Library" uses material from a header file
695 that is part of the Library, the object code for the work may be a
696 derivative work of the Library even though the source code is not.
697 Whether this is true is especially significant if the work can be
698 linked without the Library, or if the work is itself a library.  The
699 threshold for this to be true is not precisely defined by law.
701   If such an object file uses only numerical parameters, data
702 structure layouts and accessors, and small macros and small inline
703 functions (ten lines or less in length), then the use of the object
704 file is unrestricted, regardless of whether it is legally a derivative
705 work.  (Executables containing this object code plus portions of the
706 Library will still fall under Section 6.)
708   Otherwise, if the work is a derivative of the Library, you may
709 distribute the object code for the work under the terms of Section 6.
710 Any executables containing that work also fall under Section 6,
711 whether or not they are linked directly with the Library itself.
713   6. As an exception to the Sections above, you may also combine or
714 link a "work that uses the Library" with the Library to produce a
715 work containing portions of the Library, and distribute that work
716 under terms of your choice, provided that the terms permit
717 modification of the work for the customer's own use and reverse
718 engineering for debugging such modifications.
720   You must give prominent notice with each copy of the work that the
721 Library is used in it and that the Library and its use are covered by
722 this License.  You must supply a copy of this License.  If the work
723 during execution displays copyright notices, you must include the
724 copyright notice for the Library among them, as well as a reference
725 directing the user to the copy of this License.  Also, you must do one
726 of these things:
728     a) Accompany the work with the complete corresponding
729     machine-readable source code for the Library including whatever
730     changes were used in the work (which must be distributed under
731     Sections 1 and 2 above); and, if the work is an executable linked
732     with the Library, with the complete machine-readable "work that
733     uses the Library", as object code and/or source code, so that the
734     user can modify the Library and then relink to produce a modified
735     executable containing the modified Library.  (It is understood
736     that the user who changes the contents of definitions files in the
737     Library will not necessarily be able to recompile the application
738     to use the modified definitions.)
740     b) Use a suitable shared library mechanism for linking with the
741     Library.  A suitable mechanism is one that (1) uses at run time a
742     copy of the library already present on the user's computer system,
743     rather than copying library functions into the executable, and (2)
744     will operate properly with a modified version of the library, if
745     the user installs one, as long as the modified version is
746     interface-compatible with the version that the work was made with.
748     c) Accompany the work with a written offer, valid for at
749     least three years, to give the same user the materials
750     specified in Subsection 6a, above, for a charge no more
751     than the cost of performing this distribution.
753     d) If distribution of the work is made by offering access to copy
754     from a designated place, offer equivalent access to copy the above
755     specified materials from the same place.
757     e) Verify that the user has already received a copy of these
758     materials or that you have already sent this user a copy.
760   For an executable, the required form of the "work that uses the
761 Library" must include any data and utility programs needed for
762 reproducing the executable from it.  However, as a special exception,
763 the materials to be distributed need not include anything that is
764 normally distributed (in either source or binary form) with the major
765 components (compiler, kernel, and so on) of the operating system on
766 which the executable runs, unless that component itself accompanies
767 the executable.
769   It may happen that this requirement contradicts the license
770 restrictions of other proprietary libraries that do not normally
771 accompany the operating system.  Such a contradiction means you cannot
772 use both them and the Library together in an executable that you
773 distribute.
775   7. You may place library facilities that are a work based on the
776 Library side-by-side in a single library together with other library
777 facilities not covered by this License, and distribute such a combined
778 library, provided that the separate distribution of the work based on
779 the Library and of the other library facilities is otherwise
780 permitted, and provided that you do these two things:
782     a) Accompany the combined library with a copy of the same work
783     based on the Library, uncombined with any other library
784     facilities.  This must be distributed under the terms of the
785     Sections above.
787     b) Give prominent notice with the combined library of the fact
788     that part of it is a work based on the Library, and explaining
789     where to find the accompanying uncombined form of the same work.
791   8. You may not copy, modify, sublicense, link with, or distribute
792 the Library except as expressly provided under this License.  Any
793 attempt otherwise to copy, modify, sublicense, link with, or
794 distribute the Library is void, and will automatically terminate your
795 rights under this License.  However, parties who have received copies,
796 or rights, from you under this License will not have their licenses
797 terminated so long as such parties remain in full compliance.
799   9. You are not required to accept this License, since you have not
800 signed it.  However, nothing else grants you permission to modify or
801 distribute the Library or its derivative works.  These actions are
802 prohibited by law if you do not accept this License.  Therefore, by
803 modifying or distributing the Library (or any work based on the
804 Library), you indicate your acceptance of this License to do so, and
805 all its terms and conditions for copying, distributing or modifying
806 the Library or works based on it.
808   10. Each time you redistribute the Library (or any work based on the
809 Library), the recipient automatically receives a license from the
810 original licensor to copy, distribute, link with or modify the Library
811 subject to these terms and conditions.  You may not impose any further
812 restrictions on the recipients' exercise of the rights granted herein.
813 You are not responsible for enforcing compliance by third parties with
814 this License.
816   11. If, as a consequence of a court judgment or allegation of patent
817 infringement or for any other reason (not limited to patent issues),
818 conditions are imposed on you (whether by court order, agreement or
819 otherwise) that contradict the conditions of this License, they do not
820 excuse you from the conditions of this License.  If you cannot
821 distribute so as to satisfy simultaneously your obligations under this
822 License and any other pertinent obligations, then as a consequence you
823 may not distribute the Library at all.  For example, if a patent
824 license would not permit royalty-free redistribution of the Library by
825 all those who receive copies directly or indirectly through you, then
826 the only way you could satisfy both it and this License would be to
827 refrain entirely from distribution of the Library.
829 If any portion of this section is held invalid or unenforceable under any
830 particular circumstance, the balance of the section is intended to apply,
831 and the section as a whole is intended to apply in other circumstances.
833 It is not the purpose of this section to induce you to infringe any
834 patents or other property right claims or to contest validity of any
835 such claims; this section has the sole purpose of protecting the
836 integrity of the free software distribution system which is
837 implemented by public license practices.  Many people have made
838 generous contributions to the wide range of software distributed
839 through that system in reliance on consistent application of that
840 system; it is up to the author/donor to decide if he or she is willing
841 to distribute software through any other system and a licensee cannot
842 impose that choice.
844 This section is intended to make thoroughly clear what is believed to
845 be a consequence of the rest of this License.
847   12. If the distribution and/or use of the Library is restricted in
848 certain countries either by patents or by copyrighted interfaces, the
849 original copyright holder who places the Library under this License may add
850 an explicit geographical distribution limitation excluding those countries,
851 so that distribution is permitted only in or among countries not thus
852 excluded.  In such case, this License incorporates the limitation as if
853 written in the body of this License.
855   13. The Free Software Foundation may publish revised and/or new
856 versions of the Lesser General Public License from time to time.
857 Such new versions will be similar in spirit to the present version,
858 but may differ in detail to address new problems or concerns.
860 Each version is given a distinguishing version number.  If the Library
861 specifies a version number of this License which applies to it and
862 "any later version", you have the option of following the terms and
863 conditions either of that version or of any later version published by
864 the Free Software Foundation.  If the Library does not specify a
865 license version number, you may choose any version ever published by
866 the Free Software Foundation.
868   14. If you wish to incorporate parts of the Library into other free
869 programs whose distribution conditions are incompatible with these,
870 write to the author to ask for permission.  For software which is
871 copyrighted by the Free Software Foundation, write to the Free
872 Software Foundation; we sometimes make exceptions for this.  Our
873 decision will be guided by the two goals of preserving the free status
874 of all derivatives of our free software and of promoting the sharing
875 and reuse of software generally.
877                             NO WARRANTY
879   15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
880 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
881 EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
882 OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
883 KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
884 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
885 PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
886 LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
887 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
889   16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
890 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
891 AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
892 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
893 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
894 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
895 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
896 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
897 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
898 DAMAGES.
900                      END OF TERMS AND CONDITIONS
902            How to Apply These Terms to Your New Libraries
904   If you develop a new library, and you want it to be of the greatest
905 possible use to the public, we recommend making it free software that
906 everyone can redistribute and change.  You can do so by permitting
907 redistribution under these terms (or, alternatively, under the terms of the
908 ordinary General Public License).
910   To apply these terms, attach the following notices to the library.  It is
911 safest to attach them to the start of each source file to most effectively
912 convey the exclusion of warranty; and each file should have at least the
913 "copyright" line and a pointer to where the full notice is found.
915     <one line to give the library's name and a brief idea of what it does.>
916     Copyright (C) <year>  <name of author>
918     This library is free software; you can redistribute it and/or
919     modify it under the terms of the GNU Lesser General Public
920     License as published by the Free Software Foundation; either
921     version 2.1 of the License, or (at your option) any later version.
923     This library is distributed in the hope that it will be useful,
924     but WITHOUT ANY WARRANTY; without even the implied warranty of
925     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
926     Lesser General Public License for more details.
928     You should have received a copy of the GNU Lesser General Public
929     License along with this library; if not, write to the Free Software
930     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
932 Also add information on how to contact you by electronic and paper mail.
934 You should also get your employer (if you work as a programmer) or your
935 school, if any, to sign a "copyright disclaimer" for the library, if
936 necessary.  Here is a sample; alter the names:
938   Yoyodyne, Inc., hereby disclaims all copyright interest in the
939   library `Frob' (a library for tweaking knobs) written by James Random Hacker.
941   <signature of Ty Coon>, 1 April 1990
942   Ty Coon, President of Vice
944 That's all there is to it!
946 ============================================================================================================= 
947                           MOZILLA PUBLIC LICENSE
948                                 Version 1.1
950                               ---------------
952 1. Definitions.
954      1.0.1. "Commercial Use" means distribution or otherwise making the
955      Covered Code available to a third party.
957      1.1. "Contributor" means each entity that creates or contributes to
958      the creation of Modifications.
960      1.2. "Contributor Version" means the combination of the Original
961      Code, prior Modifications used by a Contributor, and the Modifications
962      made by that particular Contributor.
964      1.3. "Covered Code" means the Original Code or Modifications or the
965      combination of the Original Code and Modifications, in each case
966      including portions thereof.
968      1.4. "Electronic Distribution Mechanism" means a mechanism generally
969      accepted in the software development community for the electronic
970      transfer of data.
972      1.5. "Executable" means Covered Code in any form other than Source
973      Code.
975      1.6. "Initial Developer" means the individual or entity identified
976      as the Initial Developer in the Source Code notice required by Exhibit
977      A.
979      1.7. "Larger Work" means a work which combines Covered Code or
980      portions thereof with code not governed by the terms of this License.
982      1.8. "License" means this document.
984      1.8.1. "Licensable" means having the right to grant, to the maximum
985      extent possible, whether at the time of the initial grant or
986      subsequently acquired, any and all of the rights conveyed herein.
988      1.9. "Modifications" means any addition to or deletion from the
989      substance or structure of either the Original Code or any previous
990      Modifications. When Covered Code is released as a series of files, a
991      Modification is:
992           A. Any addition to or deletion from the contents of a file
993           containing Original Code or previous Modifications.
995           B. Any new file that contains any part of the Original Code or
996           previous Modifications.
998      1.10. "Original Code" means Source Code of computer software code
999      which is described in the Source Code notice required by Exhibit A as
1000      Original Code, and which, at the time of its release under this
1001      License is not already Covered Code governed by this License.
1003      1.10.1. "Patent Claims" means any patent claim(s), now owned or
1004      hereafter acquired, including without limitation,  method, process,
1005      and apparatus claims, in any patent Licensable by grantor.
1007      1.11. "Source Code" means the preferred form of the Covered Code for
1008      making modifications to it, including all modules it contains, plus
1009      any associated interface definition files, scripts used to control
1010      compilation and installation of an Executable, or source code
1011      differential comparisons against either the Original Code or another
1012      well known, available Covered Code of the Contributor's choice. The
1013      Source Code can be in a compressed or archival form, provided the
1014      appropriate decompression or de-archiving software is widely available
1015      for no charge.
1017      1.12. "You" (or "Your")  means an individual or a legal entity
1018      exercising rights under, and complying with all of the terms of, this
1019      License or a future version of this License issued under Section 6.1.
1020      For legal entities, "You" includes any entity which controls, is
1021      controlled by, or is under common control with You. For purposes of
1022      this definition, "control" means (a) the power, direct or indirect,
1023      to cause the direction or management of such entity, whether by
1024      contract or otherwise, or (b) ownership of more than fifty percent
1025      (50%) of the outstanding shares or beneficial ownership of such
1026      entity.
1028 2. Source Code License.
1030      2.1. The Initial Developer Grant.
1031      The Initial Developer hereby grants You a world-wide, royalty-free,
1032      non-exclusive license, subject to third party intellectual property
1033      claims:
1034           (a)  under intellectual property rights (other than patent or
1035           trademark) Licensable by Initial Developer to use, reproduce,
1036           modify, display, perform, sublicense and distribute the Original
1037           Code (or portions thereof) with or without Modifications, and/or
1038           as part of a Larger Work; and
1040           (b) under Patents Claims infringed by the making, using or
1041           selling of Original Code, to make, have made, use, practice,
1042           sell, and offer for sale, and/or otherwise dispose of the
1043           Original Code (or portions thereof).
1045           (c) the licenses granted in this Section 2.1(a) and (b) are
1046           effective on the date Initial Developer first distributes
1047           Original Code under the terms of this License.
1049           (d) Notwithstanding Section 2.1(b) above, no patent license is
1050           granted: 1) for code that You delete from the Original Code; 2)
1051           separate from the Original Code;  or 3) for infringements caused
1052           by: i) the modification of the Original Code or ii) the
1053           combination of the Original Code with other software or devices.
1055      2.2. Contributor Grant.
1056      Subject to third party intellectual property claims, each Contributor
1057      hereby grants You a world-wide, royalty-free, non-exclusive license
1059           (a)  under intellectual property rights (other than patent or
1060           trademark) Licensable by Contributor, to use, reproduce, modify,
1061           display, perform, sublicense and distribute the Modifications
1062           created by such Contributor (or portions thereof) either on an
1063           unmodified basis, with other Modifications, as Covered Code
1064           and/or as part of a Larger Work; and
1066           (b) under Patent Claims infringed by the making, using, or
1067           selling of  Modifications made by that Contributor either alone
1068           and/or in combination with its Contributor Version (or portions
1069           of such combination), to make, use, sell, offer for sale, have
1070           made, and/or otherwise dispose of: 1) Modifications made by that
1071           Contributor (or portions thereof); and 2) the combination of
1072           Modifications made by that Contributor with its Contributor
1073           Version (or portions of such combination).
1075           (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
1076           effective on the date Contributor first makes Commercial Use of
1077           the Covered Code.
1079           (d)    Notwithstanding Section 2.2(b) above, no patent license is
1080           granted: 1) for any code that Contributor has deleted from the
1081           Contributor Version; 2)  separate from the Contributor Version;
1082           3)  for infringements caused by: i) third party modifications of
1083           Contributor Version or ii)  the combination of Modifications made
1084           by that Contributor with other software  (except as part of the
1085           Contributor Version) or other devices; or 4) under Patent Claims
1086           infringed by Covered Code in the absence of Modifications made by
1087           that Contributor.
1089 3. Distribution Obligations.
1091      3.1. Application of License.
1092      The Modifications which You create or to which You contribute are
1093      governed by the terms of this License, including without limitation
1094      Section 2.2. The Source Code version of Covered Code may be
1095      distributed only under the terms of this License or a future version
1096      of this License released under Section 6.1, and You must include a
1097      copy of this License with every copy of the Source Code You
1098      distribute. You may not offer or impose any terms on any Source Code
1099      version that alters or restricts the applicable version of this
1100      License or the recipients' rights hereunder. However, You may include
1101      an additional document offering the additional rights described in
1102      Section 3.5.
1104      3.2. Availability of Source Code.
1105      Any Modification which You create or to which You contribute must be
1106      made available in Source Code form under the terms of this License
1107      either on the same media as an Executable version or via an accepted
1108      Electronic Distribution Mechanism to anyone to whom you made an
1109      Executable version available; and if made available via Electronic
1110      Distribution Mechanism, must remain available for at least twelve (12)
1111      months after the date it initially became available, or at least six
1112      (6) months after a subsequent version of that particular Modification
1113      has been made available to such recipients. You are responsible for
1114      ensuring that the Source Code version remains available even if the
1115      Electronic Distribution Mechanism is maintained by a third party.
1117      3.3. Description of Modifications.
1118      You must cause all Covered Code to which You contribute to contain a
1119      file documenting the changes You made to create that Covered Code and
1120      the date of any change. You must include a prominent statement that
1121      the Modification is derived, directly or indirectly, from Original
1122      Code provided by the Initial Developer and including the name of the
1123      Initial Developer in (a) the Source Code, and (b) in any notice in an
1124      Executable version or related documentation in which You describe the
1125      origin or ownership of the Covered Code.
1127      3.4. Intellectual Property Matters
1128           (a) Third Party Claims.
1129           If Contributor has knowledge that a license under a third party's
1130           intellectual property rights is required to exercise the rights
1131           granted by such Contributor under Sections 2.1 or 2.2,
1132           Contributor must include a text file with the Source Code
1133           distribution titled "LEGAL" which describes the claim and the
1134           party making the claim in sufficient detail that a recipient will
1135           know whom to contact. If Contributor obtains such knowledge after
1136           the Modification is made available as described in Section 3.2,
1137           Contributor shall promptly modify the LEGAL file in all copies
1138           Contributor makes available thereafter and shall take other steps
1139           (such as notifying appropriate mailing lists or newsgroups)
1140           reasonably calculated to inform those who received the Covered
1141           Code that new knowledge has been obtained.
1143           (b) Contributor APIs.
1144           If Contributor's Modifications include an application programming
1145           interface and Contributor has knowledge of patent licenses which
1146           are reasonably necessary to implement that API, Contributor must
1147           also include this information in the LEGAL file.
1149                (c)    Representations.
1150           Contributor represents that, except as disclosed pursuant to
1151           Section 3.4(a) above, Contributor believes that Contributor's
1152           Modifications are Contributor's original creation(s) and/or
1153           Contributor has sufficient rights to grant the rights conveyed by
1154           this License.
1156      3.5. Required Notices.
1157      You must duplicate the notice in Exhibit A in each file of the Source
1158      Code.  If it is not possible to put such notice in a particular Source
1159      Code file due to its structure, then You must include such notice in a
1160      location (such as a relevant directory) where a user would be likely
1161      to look for such a notice.  If You created one or more Modification(s)
1162      You may add your name as a Contributor to the notice described in
1163      Exhibit A.  You must also duplicate this License in any documentation
1164      for the Source Code where You describe recipients' rights or ownership
1165      rights relating to Covered Code.  You may choose to offer, and to
1166      charge a fee for, warranty, support, indemnity or liability
1167      obligations to one or more recipients of Covered Code. However, You
1168      may do so only on Your own behalf, and not on behalf of the Initial
1169      Developer or any Contributor. You must make it absolutely clear than
1170      any such warranty, support, indemnity or liability obligation is
1171      offered by You alone, and You hereby agree to indemnify the Initial
1172      Developer and every Contributor for any liability incurred by the
1173      Initial Developer or such Contributor as a result of warranty,
1174      support, indemnity or liability terms You offer.
1176      3.6. Distribution of Executable Versions.
1177      You may distribute Covered Code in Executable form only if the
1178      requirements of Section 3.1-3.5 have been met for that Covered Code,
1179      and if You include a notice stating that the Source Code version of
1180      the Covered Code is available under the terms of this License,
1181      including a description of how and where You have fulfilled the
1182      obligations of Section 3.2. The notice must be conspicuously included
1183      in any notice in an Executable version, related documentation or
1184      collateral in which You describe recipients' rights relating to the
1185      Covered Code. You may distribute the Executable version of Covered
1186      Code or ownership rights under a license of Your choice, which may
1187      contain terms different from this License, provided that You are in
1188      compliance with the terms of this License and that the license for the
1189      Executable version does not attempt to limit or alter the recipient's
1190      rights in the Source Code version from the rights set forth in this
1191      License. If You distribute the Executable version under a different
1192      license You must make it absolutely clear that any terms which differ
1193      from this License are offered by You alone, not by the Initial
1194      Developer or any Contributor. You hereby agree to indemnify the
1195      Initial Developer and every Contributor for any liability incurred by
1196      the Initial Developer or such Contributor as a result of any such
1197      terms You offer.
1199      3.7. Larger Works.
1200      You may create a Larger Work by combining Covered Code with other code
1201      not governed by the terms of this License and distribute the Larger
1202      Work as a single product. In such a case, You must make sure the
1203      requirements of this License are fulfilled for the Covered Code.
1205 4. Inability to Comply Due to Statute or Regulation.
1207      If it is impossible for You to comply with any of the terms of this
1208      License with respect to some or all of the Covered Code due to
1209      statute, judicial order, or regulation then You must: (a) comply with
1210      the terms of this License to the maximum extent possible; and (b)
1211      describe the limitations and the code they affect. Such description
1212      must be included in the LEGAL file described in Section 3.4 and must
1213      be included with all distributions of the Source Code. Except to the
1214      extent prohibited by statute or regulation, such description must be
1215      sufficiently detailed for a recipient of ordinary skill to be able to
1216      understand it.
1218 5. Application of this License.
1220      This License applies to code to which the Initial Developer has
1221      attached the notice in Exhibit A and to related Covered Code.
1223 6. Versions of the License.
1225      6.1. New Versions.
1226      Netscape Communications Corporation ("Netscape") may publish revised
1227      and/or new versions of the License from time to time. Each version
1228      will be given a distinguishing version number.
1230      6.2. Effect of New Versions.
1231      Once Covered Code has been published under a particular version of the
1232      License, You may always continue to use it under the terms of that
1233      version. You may also choose to use such Covered Code under the terms
1234      of any subsequent version of the License published by Netscape. No one
1235      other than Netscape has the right to modify the terms applicable to
1236      Covered Code created under this License.
1238      6.3. Derivative Works.
1239      If You create or use a modified version of this License (which you may
1240      only do in order to apply it to code which is not already Covered Code
1241      governed by this License), You must (a) rename Your license so that
1242      the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
1243      "MPL", "NPL" or any confusingly similar phrase do not appear in your
1244      license (except to note that your license differs from this License)
1245      and (b) otherwise make it clear that Your version of the license
1246      contains terms which differ from the Mozilla Public License and
1247      Netscape Public License. (Filling in the name of the Initial
1248      Developer, Original Code or Contributor in the notice described in
1249      Exhibit A shall not of themselves be deemed to be modifications of
1250      this License.)
1252 7. DISCLAIMER OF WARRANTY.
1254      COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
1255      WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
1256      WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
1257      DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
1258      THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
1259      IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
1260      YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
1261      COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
1262      OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
1263      ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
1265 8. TERMINATION.
1267      8.1.  This License and the rights granted hereunder will terminate
1268      automatically if You fail to comply with terms herein and fail to cure
1269      such breach within 30 days of becoming aware of the breach. All
1270      sublicenses to the Covered Code which are properly granted shall
1271      survive any termination of this License. Provisions which, by their
1272      nature, must remain in effect beyond the termination of this License
1273      shall survive.
1275      8.2.  If You initiate litigation by asserting a patent infringement
1276      claim (excluding declatory judgment actions) against Initial Developer
1277      or a Contributor (the Initial Developer or Contributor against whom
1278      You file such action is referred to as "Participant")  alleging that:
1280      (a)  such Participant's Contributor Version directly or indirectly
1281      infringes any patent, then any and all rights granted by such
1282      Participant to You under Sections 2.1 and/or 2.2 of this License
1283      shall, upon 60 days notice from Participant terminate prospectively,
1284      unless if within 60 days after receipt of notice You either: (i)
1285      agree in writing to pay Participant a mutually agreeable reasonable
1286      royalty for Your past and future use of Modifications made by such
1287      Participant, or (ii) withdraw Your litigation claim with respect to
1288      the Contributor Version against such Participant.  If within 60 days
1289      of notice, a reasonable royalty and payment arrangement are not
1290      mutually agreed upon in writing by the parties or the litigation claim
1291      is not withdrawn, the rights granted by Participant to You under
1292      Sections 2.1 and/or 2.2 automatically terminate at the expiration of
1293      the 60 day notice period specified above.
1295      (b)  any software, hardware, or device, other than such Participant's
1296      Contributor Version, directly or indirectly infringes any patent, then
1297      any rights granted to You by such Participant under Sections 2.1(b)
1298      and 2.2(b) are revoked effective as of the date You first made, used,
1299      sold, distributed, or had made, Modifications made by that
1300      Participant.
1302      8.3.  If You assert a patent infringement claim against Participant
1303      alleging that such Participant's Contributor Version directly or
1304      indirectly infringes any patent where such claim is resolved (such as
1305      by license or settlement) prior to the initiation of patent
1306      infringement litigation, then the reasonable value of the licenses
1307      granted by such Participant under Sections 2.1 or 2.2 shall be taken
1308      into account in determining the amount or value of any payment or
1309      license.
1311      8.4.  In the event of termination under Sections 8.1 or 8.2 above,
1312      all end user license agreements (excluding distributors and resellers)
1313      which have been validly granted by You or any distributor hereunder
1314      prior to termination shall survive termination.
1316 9. LIMITATION OF LIABILITY.
1318      UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
1319      (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
1320      DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
1321      OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
1322      ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
1323      CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
1324      WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
1325      COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
1326      INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
1327      LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
1328      RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
1329      PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
1330      EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
1331      THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
1333 10. U.S. GOVERNMENT END USERS.
1335      The Covered Code is a "commercial item," as that term is defined in
1336      48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
1337      software" and "commercial computer software documentation," as such
1338      terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
1339      C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
1340      all U.S. Government End Users acquire Covered Code with only those
1341      rights set forth herein.
1343 11. MISCELLANEOUS.
1345      This License represents the complete agreement concerning subject
1346      matter hereof. If any provision of this License is held to be
1347      unenforceable, such provision shall be reformed only to the extent
1348      necessary to make it enforceable. This License shall be governed by
1349      California law provisions (except to the extent applicable law, if
1350      any, provides otherwise), excluding its conflict-of-law provisions.
1351      With respect to disputes in which at least one party is a citizen of,
1352      or an entity chartered or registered to do business in the United
1353      States of America, any litigation relating to this License shall be
1354      subject to the jurisdiction of the Federal Courts of the Northern
1355      District of California, with venue lying in Santa Clara County,
1356      California, with the losing party responsible for costs, including
1357      without limitation, court costs and reasonable attorneys' fees and
1358      expenses. The application of the United Nations Convention on
1359      Contracts for the International Sale of Goods is expressly excluded.
1360      Any law or regulation which provides that the language of a contract
1361      shall be construed against the drafter shall not apply to this
1362      License.
1364 12. RESPONSIBILITY FOR CLAIMS.
1366      As between Initial Developer and the Contributors, each party is
1367      responsible for claims and damages arising, directly or indirectly,
1368      out of its utilization of rights under this License and You agree to
1369      work with Initial Developer and Contributors to distribute such
1370      responsibility on an equitable basis. Nothing herein is intended or
1371      shall be deemed to constitute any admission of liability.
1373 13. MULTIPLE-LICENSED CODE.
1375      Initial Developer may designate portions of the Covered Code as
1376      "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
1377      Developer permits you to utilize portions of the Covered Code under
1378      Your choice of the NPL or the alternative licenses, if any, specified
1379      by the Initial Developer in the file described in Exhibit A.
1381 EXHIBIT A -Mozilla Public License.
1383      ``The contents of this file are subject to the Mozilla Public License
1384      Version 1.1 (the "License"); you may not use this file except in
1385      compliance with the License. You may obtain a copy of the License at
1386      http://www.mozilla.org/MPL/
1388      Software distributed under the License is distributed on an "AS IS"
1389      basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
1390      License for the specific language governing rights and limitations
1391      under the License.
1393      The Original Code is ______________________________________.
1395      The Initial Developer of the Original Code is ________________________.
1396      Portions created by ______________________ are Copyright (C) ______
1397      _______________________. All Rights Reserved.
1399      Contributor(s): ______________________________________.
1401      Alternatively, the contents of this file may be used under the terms
1402      of the _____ license (the  "[___] License"), in which case the
1403      provisions of [______] License are applicable instead of those
1404      above.  If you wish to allow use of your version of this file only
1405      under the terms of the [____] License and not to allow others to use
1406      your version of this file under the MPL, indicate your decision by
1407      deleting  the provisions above and replace  them with the notice and
1408      other provisions required by the [___] License.  If you do not delete
1409      the provisions above, a recipient may use your version of this file
1410      under either the MPL or the [___] License."
1412      [NOTE: The text of this Exhibit A may differ slightly from the text of
1413      the notices in the Source Code files of the Original Code. You should
1414      use the text of this Exhibit A rather than the text found in the
1415      Original Code Source Code for Your Modifications.]