Open-Source file compression utility (default extension: .bz2) which is fast supplanting
gzip as the compression format of choice on
unix-like systems.
Functionally, bzip2 is an implementation of the Burrows-Wheeler block-sorting transformation algorithm and Huffman coding. This algorithm significantly outperforms both the Lempel-Ziv based algorithms of gzip and the original unix compress, and the "raw" Huffman codes of PKZIP. It is called "2" because the original bzip used a slightly more efficient arithmetic compression algorithm which sadly was found to be covered by several software patents which limited its utility. The source was re-written to use Huffman codes, and the "2" appended to the name to signify that files it created were not reverse-compatible with the original bzip.
The current version of bzip2 as of the time of writing is 1.0.2. Since version 1.0 the core functionality has been contained in a function library, libbz2, which can be used by programs in a manner similar to zlib to manipulate .bz2 archives directly without having to call an external program. The actual bzip2 program is now a small wrapper around this library. Symlinks to the bzip2 executable are usually made from bunzip2 and bzcat to provide for easy decompression without the need for additional options, and an additional program, bzip2recover, is built which can be used to extract partial data from damaged archives.
The code itself is highly portable and has few prerequisites beyond a sane compiler toolchain. It is known to compile successfully on most versions of unix, Win32 and MacOS.
Bzip2 is written and maintained by Julian Seward and hosted by Red Hat. Source code and precompiled binaries in a variety of formats are available from http://sources.redhat.com/bzip2/