PKZIP
PKZIP is a file archiving computer program, notable for introducing the popular ZIP file format.  PKZIP was first introduced for MS-DOS on the IBM-PC compatible platform in 1989.  Since then versions have been released for a number of other architectures and operating systems.  PKZIP was originally written by Phil Katz and marketed by his company PKWARE, Inc, with both of them bearing his initials: 'PK'.

History

By the 1970s, file archiving programs were distributed as standard utilities with operating systems.  They include the Unix utilities ar, shar, and tar.  These utilities were designed to gather a number of separate files into a single archive file for easier copying and distribution.  These archives could optionally be passed through a stream compressor utility, such as compress and others.

Other archivers also appeared during the 1980s, including ARC by System Enhancement Associates, Inc. (SEA), Rahul Dhesi's ZOO, Dean W. Cooper's DWC, LHarc by Haruhiko Okomura and Haruyasu Yoshizaki and ARJ which stands for "Archived by Robert Jung".

The development of PKZIP was first announced in the file SOFTDEV.DOC from within the PKPAK 3.61 package, stating it would develop a new and yet unnamed compression program. The announcement had been made following the  lawsuit between SEA and PKWARE, Inc. Although SEA won the suit, it lost the compression war, as the user base migrated to PKZIP as the compressor of choice. Led by BBS sysops who refused to accept or offer files compressed as .ARC files, users began recompressing any old archives that were currently stored in .ARC format into .ZIP files.

The first version was released in 1989, as a DOS command-line tool, distributed under shareware model with a US$25 registration fee (US$47 with manual).

Version history

PKZIP

 PKZIP 0.8 (released on January 1, 1989) initial version
 PKZIP 0.9 (released on February 10, 1989) supported reducing algorithm (from SCRNCH by Graeme McRae) with four compression settings and shrinking. In addition to PKZIP and PKUNZIP, it also included ZIP2EXE, which required an external self-extracting executable header created by MAKESFX from the PKZIP executable package.
 PKZIP 0.92 (released on March 6, 1989): In addition to bug fixes, PKZIP included an option to automatically choose the best compression method for each file. New tools included with PKZIP include PKZipFix.
 PKZIP 1.01 (released on July 21, 1989) added Implode compression, while reduced files can only be extracted from ZIP archive. Imploding was chosen based on the characteristics of the file being compressed. New utility included Thomas Atkinson's REZIP conversion utility (part of ZIP-KIT). PKZIP's default compression behavior was changed from fastest (Shrink) to best (Implode). Supported platforms include OS/2, DOS.
 PKZIP 1.02 (released on October 1, 1989) includes new utility BIOSFIX.COM, which preserved the entire 80386 register set during any mode switches via INT 15H.  OS/2 version added ZIP2EXE and 2 self-extracting archive headers.
 PKZIP 1.10 (released on March 15, 1990): New features included authenticity verification, "mini" PKSFX self-extracting module, integrating self-extracting module into ZIP2EXE, ability to save & restore volume labels. Imploding was up to 5X faster and compression ratio was improved over 1.02. EAX register was always saved on 80386 or above CPU. Removed tools included BIOSFIX, REZIP, MAKESFX.
 PKZIP 1.93a (released in October 1991): An alpha version that introduced a new compression method which Katz called "deflating". It was supposed to be quickly followed by a final PKZIP 2 release, but there were numerous delays.
 PKZIP 2.04g (released in January 1993): By the time the release was ready, fake 2.x releases were circulating, some of them malware, so an untainted version number was chosen instead of 2.0. This new version dispensed with the miscellaneous compression methods of PKZIP 1.x and replaced them with the deflate algorithm (although several levels of deflation were provided by the program). The resulting file format has since become ubiquitous on Microsoft Windows and on the Internet almost all files with the .ZIP (or .zip) extension are in PKZIP 2.x format, and utilities to read and write these files are available on all common platforms. PKZIP 2.x also supported spanning archives to multiple disk, which simply split the files into multiple pieces, and using volume label on each drive to differentiate each other. A new Authenticity Verification (AV) signature format was used. Registered version included PKUNZJR, PK Safe ANSI, PKCFG utilities.
 PKZIP 2.06 was released in 1994. It was a version of PKZIP 2.04g licensed to IBM.
 PKZIP 2.50 (released on April 15, 1998) was the first version released for Windows 3.1, 95, NT platforms. DOS version of PKZIP 2.50 was released on 1999-03-01, as its final MS-DOS product. PKZIP 2.50 supported long file names on all builds, and Deflate64 extraction. DCL Implode extraction was supported on non-DOS ports. A new command-line product was introduced in Windows 95, OS/2, UNIX platforms, called "PKZIP Command Line" (later expanded to "PKZIP Server"), which featured new command line syntax.
 PKZIP 2.6 was the last version to support Windows 3.1 and Windows NT for the Alpha and PowerPC platforms.
 PKZIP 2.70 added email MAPI (i.e. Send To) support. Registered version included creation of configurable self-extracted archives, added Authenticity Verification (AV) Information. Distribution Licensed versions included enhanced self-extractors. Professional distribution licensed version could create self-extracting patch files, and includes self-extractors for several new platforms.
 PKZIP 4.0 was an updated version of PKZIP 2.7. Version 3 was skipped as a result of PKZIP 3.0 Trojan. It supported Deflate64 and DCL Implode compression, and the use of X.509 v3 certificate-based authentication., creation of Span or Split large .ZIP archives. Old PKZIP command line conversion tools were introduced.
 On August 21, 2001, PKWARE announced the availability of PKZIP 4.5. PKZIP 4.5 included ZIP64 archives support, which allowed more than 65535 files per ZIP archives, and storing files larger than 4 gigabytes into .ZIP archive. A version called PKZIP Suite 4.5 also included PKZIP Command Line 4.5, PKZIP Explorer 1.5, PKZIP Attachments 1.1, and PKZIP Plug-In 1.0.
 PKZIP 5.0 was announced in 2002, which introduced Strong Encryption Specification (SES) for the Professional version of the product, which initially included DES, 3DES, RC2, RC4 encryption formats, and the use of using X.509 v3 certificate-based encryption.
 PKZIP 6.0 (released in 2003) added support for bzip2 (based on Burrows–Wheeler transform) compression, with Professional Edition supporting 256-bit AES.
 PKZIP 7.0 changed SES to use non-OAEP key wrapping for compatibility with smart cards and USB tokens. Support of creating AV authenticity verification archives was dropped. PKZIP could now create archives of the following types: ZIP, bzip2, GZIP, tar, UUEncoded, XXEncoded.
 PKZIP 8.0 was released on April 27, 2004. In addition, PKWARE renamed its PKZip Professional to SecureZIP. Creation of ZIP archives with encrypted headers was available.
 PKZIP 9.0 was the first version to unofficially support Windows Vista (as administrator). Creation of RC2, DES-encrypted ZIP archives are dropped.
 PKZIP 10 Enterprise Edition and SecureZIP 10 were released on i5/OS. It offered the ability to create ZIP64 archives for the target platform. Desktop PKZIP version was no longer developed beyond version 9

.ZIP file format

To help ensure the interoperability of the ZIP format, Phil Katz published the original .ZIP File Format Specification in the APPNOTE.TXT documentation file. PKWARE continued to maintain this document and periodically published updates. Originally only bundled with registered versions of PKZIP, it was later available on the PKWARE site.

The specification has its own version number, which does not necessarily correspond to the PKZIP version numbers, especially with PKZIP 6 or later. At various times, PKWARE adds preliminary features that allows PKZIP products to extract archives using advanced features, but PKZIP products that create such archives won't be available until the next major release.

Compatibility
Although popular at the time, ZIP archives using PKZIP 1.0 compression methods are now rare, and many unzip tools such as 7-Zip are able to read and write several other archive formats.

Patents
Shrinking uses dynamic LZW, on which Unisys held patents. A patent for the Reduce Algorithm had also been filed on June 19, 1984, long before PKZIP was produced.

Other products
PKWARE also used its PKZIP standards on following products:

 SecureZIP (including SecureZIP PartnerLink)
 PKZIP Explorer

See also
 Comparison of file archivers
 Comparison of archive formats
 List of archive formats
 PKLite

References

External links

Official
 , PKWARE
 PKZIP from PKWARE
 PKZIP 2.50 for DOS
 SecureZIP from PKWARE
 APPNOTE

Other
 SecureZIP Homepage
 Commentary from SEA owner about Phil Katz, the lawsuit, and his death
 CONTROVERSY: LAWSUITS: SEA vs. PKWARE
 Judgment in favor of SEA in SEA v. PKWARE and Phil Katz
 How to Use PKZIP From the Command Line

Data compression software
File archivers
Windows compression software