zlib
Stable release | 1.2.3
/ 2005-07-18 |
---|---|
Repository | |
Operating system | cross platform |
Type | data compression |
License | zlib license |
Website | http://www.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 and open source 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]
Software using zlib
Today, zlib is something of a de facto standard, to the point that zlib and DEFLATE are often used interchangeably in standards documents. Hundreds of applications for Unix-like operating systems such as Linux rely on it for compression and it is increasingly used on other platforms, such as Microsoft Windows and the Palm OS. A few notable applications are:
- 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 RPM package manager, which uses zlib to unpack files from compressed RPM packages.
zlib is also used in many embedded devices because the code is portable, liberally-licensed and has a relatively small memory footprint.
See also
- ZIP (file format)
- RFC 1950, RFC 1951, RFC 1952