PNG REFERENCE LIBRARY AUTHORS
=============================

This is the list of PNG Reference Library ("libpng") Contributing
Authors, for copyright and licensing purposes.

 * Andreas Dilger
 * Cosmin Truta
 * Dave Martindale
 * Eric S. Raymond
 * Gilles Vollant
 * Glenn Randers-Pehrson
 * Greg Roelofs
 * Guy Eric Schalnat
 * James Yu
 * John Bowler
 * Kevin Bracey
 * Magnus Holmgren
 * Mandar Sahastrabuddhe
 * Mans Rullgard
 * Matt Sarett
 * Mike Klein
 * Pascal Massimino
 * Paul Schmidt
 * Philippe Antoine
 * Qiang Zhou
 * Sam Bushell
 * Samuel Williams
 * Simon-Pierre Cadieux
 * Tim Wegner
 * Tom Lane
 * Tom Tanner
 * Vadim Barkov
 * Willem van Schaik
 * Zhijie Liang
 * Arm Holdings
   - Richard Townsend
 * Google Inc.
   - Dan Field
   - Leon Scroggins III
   - Matt Sarett
   - Mike Klein
   - Sami Boukortt
   - Wan-Teh Chang

The build projects, the build scripts, the test scripts, and other
files in the "ci", "projects", "scripts" and "tests" directories, have
other copyright owners, but are released under the libpng license.

Some files in the "contrib" directory, and some tools-generated files
that are distributed with libpng, have other copyright owners, and are
released under other open source licenses.
