Home | History | Annotate | Download | only in libpng
      1 /*
      2  * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
      3  *
      4  * If you modify libpng you may insert additional notices immediately following
      5  * this sentence.
      6  *
      7  * This code is released under the libpng license.
      8  *
      9  * libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22, 2014, are
     10  * Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
     11  * distributed according to the same disclaimer and license as libpng-1.2.5
     12  * with the following individual added to the list of Contributing Authors:
     13  *
     14  *    Cosmin Truta
     15  *
     16  * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
     17  * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
     18  * distributed according to the same disclaimer and license as libpng-1.0.6
     19  * with the following individuals added to the list of Contributing Authors:
     20  *
     21  *    Simon-Pierre Cadieux
     22  *    Eric S. Raymond
     23  *    Gilles Vollant
     24  *
     25  * and with the following additions to the disclaimer:
     26  *
     27  *    There is no warranty against interference with your enjoyment of the
     28  *    library or against infringement.  There is no warranty that our
     29  *    efforts or the library will fulfill any of your particular purposes
     30  *    or needs.  This library is provided with all faults, and the entire
     31  *    risk of satisfactory quality, performance, accuracy, and effort is with
     32  *    the user.
     33  *
     34  * libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
     35  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
     36  * distributed according to the same disclaimer and license as libpng-0.96,
     37  * with the following individuals added to the list of Contributing Authors:
     38  *
     39  *    Tom Lane
     40  *    Glenn Randers-Pehrson
     41  *    Willem van Schaik
     42  *
     43  * libpng versions 0.89, June 1996, through 0.96, May 1997, are
     44  * Copyright (c) 1996, 1997 Andreas Dilger
     45  * Distributed according to the same disclaimer and license as libpng-0.88,
     46  * with the following individuals added to the list of Contributing Authors:
     47  *
     48  *    John Bowler
     49  *    Kevin Bracey
     50  *    Sam Bushell
     51  *    Magnus Holmgren
     52  *    Greg Roelofs
     53  *    Tom Tanner
     54  *
     55  * libpng versions 0.5, May 1995, through 0.88, January 1996, are
     56  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
     57  *
     58  * For the purposes of this copyright and license, "Contributing Authors"
     59  * is defined as the following set of individuals:
     60  *
     61  *    Andreas Dilger
     62  *    Dave Martindale
     63  *    Guy Eric Schalnat
     64  *    Paul Schmidt
     65  *    Tim Wegner
     66  *
     67  * The PNG Reference Library is supplied "AS IS".  The Contributing Authors
     68  * and Group 42, Inc. disclaim all warranties, expressed or implied,
     69  * including, without limitation, the warranties of merchantability and of
     70  * fitness for any purpose.  The Contributing Authors and Group 42, Inc.
     71  * assume no liability for direct, indirect, incidental, special, exemplary,
     72  * or consequential damages, which may result from the use of the PNG
     73  * Reference Library, even if advised of the possibility of such damage.
     74  *
     75  * Permission is hereby granted to use, copy, modify, and distribute this
     76  * source code, or portions hereof, for any purpose, without fee, subject
     77  * to the following restrictions:
     78  *
     79  *   1. The origin of this source code must not be misrepresented.
     80  *
     81  *   2. Altered versions must be plainly marked as such and must not
     82  *      be misrepresented as being the original source.
     83  *
     84  *   3. This Copyright notice may not be removed or altered from
     85  *      any source or altered source distribution.
     86  *
     87  * The Contributing Authors and Group 42, Inc. specifically permit, without
     88  * fee, and encourage the use of this source code as a component to
     89  * supporting the PNG file format in commercial products.  If you use this
     90  * source code in a product, acknowledgment is not required but would be
     91  * appreciated.
     92  */
     93 
     94 /*
     95  * A "png_get_copyright" function is available, for convenient use in "about"
     96  * boxes and the like:
     97  *
     98  *     printf("%s", png_get_copyright(NULL));
     99  *
    100  * Also, the PNG logo (in PNG format, of course) is supplied in the
    101  * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
    102  */
    103 
    104 /*
    105  * Libpng is OSI Certified Open Source Software.  OSI Certified is a
    106  * certification mark of the Open Source Initiative.
    107  */
    108 
    109 /*
    110  * The contributing authors would like to thank all those who helped
    111  * with testing, bug fixes, and patience.  This wouldn't have been
    112  * possible without all of you.
    113  *
    114  * Thanks to Frank J. T. Wojcik for helping with the documentation.
    115  */
    116 
    117 /*
    118  * Y2K compliance in libpng:
    119  * =========================
    120  *
    121  *    December 22, 2014
    122  *
    123  *    Since the PNG Development group is an ad-hoc body, we can't make
    124  *    an official declaration.
    125  *
    126  *    This is your unofficial assurance that libpng from version 0.71 and
    127  *    upward through 1.6.16 are Y2K compliant.  It is my belief that
    128  *    earlier versions were also Y2K compliant.
    129  *
    130  *    Libpng only has two year fields.  One is a 2-byte unsigned integer
    131  *    that will hold years up to 65535.  The other, which is deprecated,
    132  *    holds the date in text format, and will hold years up to 9999.
    133  *
    134  *    The integer is
    135  *        "png_uint_16 year" in png_time_struct.
    136  *
    137  *    The string is
    138  *        "char time_buffer[29]" in png_struct.  This is no longer used
    139  *    in libpng-1.6.x and will be removed from libpng-1.7.0.
    140  *
    141  *    There are seven time-related functions:
    142  *        png.c: png_convert_to_rfc_1123_buffer() in png.c
    143  *          (formerly png_convert_to_rfc_1123() prior to libpng-1.5.x and
    144  *          png_convert_to_rfc_1152() in error prior to libpng-0.98)
    145  *        png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c
    146  *        png_convert_from_time_t() in pngwrite.c
    147  *        png_get_tIME() in pngget.c
    148  *        png_handle_tIME() in pngrutil.c, called in pngread.c
    149  *        png_set_tIME() in pngset.c
    150  *        png_write_tIME() in pngwutil.c, called in pngwrite.c
    151  *
    152  *    All handle dates properly in a Y2K environment.  The
    153  *    png_convert_from_time_t() function calls gmtime() to convert from system
    154  *    clock time, which returns (year - 1900), which we properly convert to
    155  *    the full 4-digit year.  There is a possibility that libpng applications
    156  *    are not passing 4-digit years into the png_convert_to_rfc_1123_buffer()
    157  *    function, or that they are incorrectly passing only a 2-digit year
    158  *    instead of "year - 1900" into the png_convert_from_struct_tm() function,
    159  *    but this is not under our control.  The libpng documentation has always
    160  *    stated that it works with 4-digit years, and the APIs have been
    161  *    documented as such.
    162  *
    163  *    The tIME chunk itself is also Y2K compliant.  It uses a 2-byte unsigned
    164  *    integer to hold the year, and can hold years as large as 65535.
    165  *
    166  *    zlib, upon which libpng depends, is also Y2K compliant.  It contains
    167  *    no date-related code.
    168  *
    169  *       Glenn Randers-Pehrson
    170  *       libpng maintainer
    171  *       PNG Development Group
    172  */
    173