Phil Katz RIP

I woke up early this morning to the sound that dinosaurs make when they become trapped in tar pits. As it turned out, it was just Susan making some sort of weird, mutant snoring sound. Wish I’d had something handy to record it, I’m sure she’d like to see a “click here to hear Susan snoring” on my news item today. Anyway, once I determined that there were no dinosaurs in urgent need of help, I went back to sleep.

When I woke up later and logged onto the net, I immediately ran into some bad news on SlashdotPhil Katz apparently died a few days ago on the 14th (he was 37, same age as me). This brought back a lot of memories of the early days. My old BBS, Fidonet, the zip/arc wars.

I remember running my old DOS-based BBS, The Interocitor, on a spare phone line in my first apartment. The Interocitor was Fidonet node 1:124/2206 – does anybody even remember Fidonet? The Interocitor eventually became one of the UUCP gateways between Fidonet and Usenet for the Dallas area. I was amused that a quick search on Fast produced over a dozen references to my old BBS that were still floating around out on the net. The Interocitor finally went down for the last time in the early 90’s after about 8 years. For a while I was planning to bring it back as some sort of web-based thing but it never happened.

The Jargon File used to detail the history of the Zip/Arc war but it seems to be missing from the current version. For those who don’t remember where ZIP came from, here’s the executive summary: In the old days, we had a program called ARC, made by a company called SEA, (based on LZW compression, I think) that was used to compress files. Everything had to be compressed in those days because all we had were 1200 or 2400 bps modems. And this was before the Pentium, the 586, 486, or 386. A few lucky ones had the mighty 80286 processor but most of us got by with only an 8086 (I can remember switching from my Intel 8086 to the NEC V20, an Intel clone that could ran a little faster – fast in those days was about 8mhz). On an 8086, ARC took a long time to compress anything. Phil Katz came along and wrote a highly optimized ARC compressor in assembly that was really fast. A lot of us began using using PKArc instead of the “official” SEA ARC program. SEA didn’t like this but couldn’t come up with anything faster. Instead they decided to sue Katz for copyright infringement and, as I recall, Phil had to turn over all his source code to SEA – who later released it as their next version of ARC (with all references to the original author removed, of course).

Phil Katz (as well as the BBS world) were not happy about this. Phil developed PKZip as the result (there was also a short-lived PKPak). PKZip used a new algorithm (similar to LZ77) that Katz invented himself. He patented the algorithm to prevent SEA from being able to use it, but allowed everyone else to use it freely. (PKZip itself was shareware, as was all software back then – nobody had ever heard of a GNU GPL or free software.) There was a massive campaign in the BBS world to convert all the compressed files everywhere from ARC to ZIP as a result. There were special programs written to do batch conversions between ARC and ZIP for all the files on your BBS. After that, SEA and ARC ceased to exist as far we knew (I have no idea what actually happened to the company).

The Zip algorithm eventually came to be used in gzip, the GNU replacement for compress, in INFO-Zip, a PKZip compatible program which is now one of the most ported utilities in existence. When the GIF patent crisis hit a few years back, the PNG image format, developed as a GIF replacement, used the Zip agorithm in place of the old LZW compression used in GIF. Even the Linux kernel image is usually compressed using Phil’s algorithm.

Phil may be gone but we’ll continue to use software that incorporates his work on a daily basis.