zlib

From Wikipedia, the free encyclopedia

zlib
zlib logo
Latest release 1.2.3 / 2005-07-18
Written in C
OS cross platform
Genre data compression
License zlib license
Website zlib.net

zlib is a software library used for data compression. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. The first public version, 0.9, was released on 1 May 1995 and was originally intended for use with libpng image library. It is free software, distributed under the zlib license.

As of March 2007, zlib is included in Coverity’s Department of Homeland Security-sponsored ongoing examination of select open-source projects.[1]

Contents

[edit] Applications

Today, zlib is something of a de facto standard, to the point that zlib and DEFLATE are often used interchangeably in standards documents. Thousands of applications rely on it for compression, directly or indirectly,[2] including:

  • The Linux kernel, where it is used to implement compressed network protocols, compressed file systems and to decompress the kernel image itself at boot time.
  • libpng, the reference implementation for the PNG image format, which specifies DEFLATE as the stream compression for its bitmap data.
  • The Apache HTTP server, which uses zlib to implement HTTP/1.1.
  • The OpenSSH client and server, which rely on zlib to perform the optional compression offered by the Secure Shell protocol.
  • The OpenSSL and GnuTLS security libraries, which can optionally use zlib to compress TLS connections.
  • The FFmpeg multimedia library, which uses zlib to read and write the DEFLATE-compressed parts of stream formats such as Matroska.
  • The rsync remote file synchronizer, which uses zlib to implement optional protocol compression.
  • The dpkg and RPM package managers, which use zlib to unpack files from compressed software packages.
  • The Subversion and CVS version control systems, which use zlib to compress traffic to and from remote repositories.

zlib is also used in many embedded devices because the code is portable, liberally-licensed and has a relatively small memory footprint.

[edit] See also

[edit] References

[edit] External links