Xref: utzoo trial.misc.legal.software:30 gnu.misc.discuss:1435 Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!yale!cmcl2!phri!marob!cowan From: cowan@marob.masa.com (John Cowan) Newsgroups: trial.misc.legal.software,gnu.misc.discuss Subject: Re: LZW and shareware wars Message-ID: <26BDD1B6.242B@marob.masa.com> Date: 6 Aug 90 20:23:17 GMT References: <1990Jul31.220935.1424@riacs.edu> Reply-To: cowan@marob.masa.com (John Cowan) Organization: ESCC, New York City Lines: 80 In article , jim@baroque.Stanford.EDU (James Helman) writes: >After Terry Welch wrote an easily understandable article for IEEE >Computer in 1984, lots of people started writing LZW compression >programs. One of them was Tom Henderson, who developed a shareware Minor nit: Henderson's name is Thom not Tom. Disclaimers: I sympathize with Henderson, and this bias will be evident in what follows. However, I have no connection with Henderson or his company, Systems Enhancement Associates, except as satisfied customer. >compress program called ARC based on LZW. ARC really took off, >gaining widesread use, praise and shareware revenues. ARC already existed before LZW; it used Huffman encoding. The LZW-smart version actually computed the size of the Huffman code on the fly as it was writing out the LZW data, and then if the Huffman version was smaller, it was written into the archive instead. Note for Unix weenies: ARC, like Zoo and similar programs, archives as well as compressing. Unlike tar.Z format, the archive directory information is NOT compressed. This allows different files in the archive to be compressed in different ways, with a type code in the file header to say which. This becomes important later. >Then along comes one Phil Katz. He develops a version that runs about >10 X faster and calls it PKARC. Everyone starts using PKARC because >it's so much faster. Henderson's income drops. He sues Katz >(apparently based upon his trademark of the name ARC). > >Katz has no stomach for lawsuits and agrees to cease and desist. >Henderson orders that all copies of PKARC be given up for destruction. >Users, not wanting to go back to something 10X slower, rebel with >comments such as "Like my GUN, they will have to pry PKARC from my >cold, dead fingers!." [Perhaps he meant GNU? ;-> - jlh]. This summary omits one of the main reasons Henderson decided to sue, as opposed to the legal grounds on which his suit was based. Katz released a version of PKARC which emitted >incompatible< archives that could not be processed by ARC. Specifically, PKARC added a new compression type which under some circumstances created slightly smaller archive members. This is independent from PKARC's speed advantage, which (supposedly -- details are sealed) was based on the use of judicious 8088 assembly programming in PKARC. Since the PKARC archives could not be processed by Henderson's ARC but were not otherwise distinguishable, ARC got the unfair reputation of being unable to unarchive its own output. Katz has stated, BTW, that he added the new compression method in order to beat the 13-bit LZW compression employed by Zoo. >Katz has second thoughts and to get around the ARC trademark renames >his program PKPACK. Henderson sues Katz for violating of the consent >agreement. Henderson lost this second lawsuit. >Henderson's growing unpopularity moves him into partial retreat. He >makes ARC freely available for "all sentient beings in the universe" >to use (except Phil Katz!) and states that ARC is available for >royalty free incorporation into commercial products up to $100,00 >profit, above that Henderson requested a 6.5% cut. He also agreed to >maintain the ARC standard for the world and required that he be given >full source code to any product which incorporated ARC compression!! In addition, Henderson released a new version of ARC which includes the fast PKARC product, now renamed QARC. The original ARC product is also provided, and has been updated to recognize and understand PKARC-type archives. However, neither ARC nor QARC will generate them. Katz wrote an entirely new archiver, with new formats, called PKZIP. This uses LZW compression as a fallback, but also makes use of arithmetic encoding and (in the latest version) LHARC-type LZSS+Huffman compression. Reasonable peace and quiet now prevails. Archivers in general use include ARC, Zoo, PKZIP, LHARC, and even 16-bit compress for MS-DOS. -- cowan@marob.masa.com (aka ...!hombre!marob!cowan) e'osai ko sarji la lojban