Info-ZIP

Info-ZIP is an open source version of Phil Katz's "deflate" and "inflate" routines used in his popular file compression program, PKZIP. The free code released by the Info-ZIP project spawned a horde of PKZIP imitators (WinZip, PicoZip, Power Archiver, Turbozip, PowerZip and many more), establishing the PKZIP file format as a de facto industry standard.

The first version of what would become Info-ZIP was published by Samuel Smith in March 1989, complete with the source code in both Pascal and C forms. In September he released 2.0, including support for the new "implode" method that had been added to PKZIP 1.01. A port to Unix was released by Carl Mascott and John Cowan in December.

In March 1990 a number of interested parties set up a mail list on a disused DEC-20 mainframe at the White Sands Missile Range, agreeing to form a group to clean up the code and make it officially public. In May the first version of this code was released, as Info-ZIP 3.0.

(Added by the first mailing list moderator)

If the original contributor(s) would like to move all this historical stuff to a separate area, that's fine by me. I'm just chucking it in here because they were interesting times.

I wasn't that great a C hacker; I got involved at first because I tripped over Samuel Smith's Pascal code somewhere and ported it to Turbo Pascal or some such silliness. But somehow I ended up moderating the Info-ZIP Workgroup's newsletter (thanks to Keith Petersen and the folks managing good old SIMTEL-20). This Info-Zip mail list was a real challenge, since we were going to use it to both receive and distribute fixes, patches, discussion, etc. There was one central archive of source code that all could reach (which I maintained). But we needed certain rules so the primitive patching utilities of the time could integrate all the submitted changes. (There was no real version control software at the time.) Eventual the "No Feelthy" rules were published, mainly to establish some basic guidelines for contributors. (If anyone has those things, they might be amusing to post: an early attempt at rules for distributed processing .. with a sense of humor, lest someone's feelings be hurt as we criticize his style of coding.) No doubt other open source or public domain software groups experienced the same difficulties.

Incidentally there was no such thing as "open source" then. The term hadn't even been invented yet. GNU was around, as I recall, but we didn't want to go in that direction because of philosophical problems with some of the licensing details. So we made it public domain, anyone could do anything they wanted with it (to include steal it and try to sell it as their own). Of course it's kind of hard to sell something you can get for free, but I often wonder how far some of the really great C source in the Info-ZIP programs migrated. I saw a lot of "Info-ZIP" credits imbedded in a lot of shareware and freeware zip archivers in those days.

The Info-ZIP Workgroup began with porting the relatively simple unzip utility to every C compiler we could find. It was mostly keeping all the IFDEF's straight, consolidating what could be consolidated, retesting the latest build on as many systems as we could find volunteers (grad students worldwide mostly), fixing what got broke. No real breakthroughs: the name of the game was to build, compile, work, be absolutely PKZIP compatible.

Then Mark Adler (and others? can't remember) coughed up the zip utility! Man, that was some nice code. All greek to me, of course, but wunnerful stuff, and a frenzy of porting began. Everyone wanted to be able to zip (you can't believe how 'orrible compressed tar files can be). Now we could both unzip and zip.

And that put us in an ethical dilemma: what about Phil Katz? He invented PKZIP, after all, and we'd all (pretty much) witnessed his struggle with The Compression Software Company That Shall Not Be Named But Is Dead Now and Rightfully So. We surely didn't want to hurt Phil in any way. We weren't stealing his code or anything, but we'd sure back-engineered his PKZIP and PKUNZIP. We wanted to get his blessing if at all possible. But we couldn't get any discourse going! We kept trying to say, "Gee, Phil, we don't want to hurt you or your PKWARE sales here. This is mostly just for the Unix world, is this okay with you? You aren't planning a commercial Unix product, are you Phil?" But we never got an answer. I guess he was content enough with the PC / MS-DOS world and market, and I never did learn how he felt about our Info-ZIP Workgroup, our efforts, and our products. Phil is dead and gone now, but I still feel concern about that. We owed him a lot.

Along with integrating submitted changes and patches from dozens and dozens of contributors (some of which had only a working knowledge of English) (not you, Jean-loup), there were other surprising difficulties. For instance, encryption: you really want to be able to lock up an archive with encryption. But .. the US Government, in its infinite wisdom, made it extremely difficult to produce any software with encryption components that was going to be "exported." And by definition we were exporting the Info-Zip components, since we were a Usenet news group and were international. So we were stymied. There were some (poor) jokes about the Encryption Police knocking at our doors, but we sure weren't going up against that! Until a very clever fellow (Was it Jean-loup? I seem to recall it coming from France, the author's name I forget, but it's in the Info-ZIP Workgroup credits somewhere) just went ahead and wrote the entire encryption module in one huge patch. For a while we all pointed to his site in France, "Go get it here, boys!", but eventually just went ahead and brought it into our own source code collection. By this time the US Customs was slacking off on its somewhat silly rules anyway, so they never came and dragged us all away. Although I was fully prepared to take the heat, since I had Army retirement pay and Cave Newt did not :-)

We also learned more than any of us wanted to know about just how many different flavors of C there were out there! And systems that had compilers! I cannot tell you how many make's I ran on every different flavored Unix host I could reach. You couldn't just b*tch that "So and so's tweak for that Wombat 6000 broke the source and it won't build on my Atari now!" You had to fix it, pin it down to exactly what broke. It was tough, but interesting. Eventually we were bragging that Info-ZIP ran on everything from a Commodore 64 to a Cray .. and it was pretty much the truth. (I remember my jaw dropping when the Cray makefile came in; we were all very impressed .. and envious of the guy who had one to play with, even if he wasn't paying the bills.)

Eventually keeping up with everything became just too much (for my poor overworked 9600 baud modem connection), I couldn't keep a good Internet connection, and I had to hand over the reins of the Info-ZIP Workgroup to the trusty (and much much smarter than I) Cave Newt.

(Thus endeth the Ancient Moderator's addendum)

In 1994 and 1995 Info-ZIP turned a corner, and effectively became the de facto ZIP program. A huge number of ports were released that year, including numerous minicomputers, mainframes and practically every microcomputer ever developed. All the while the software had continued to add support for newer compression systems being added to PKZIP, eventually this happened so quickly that there was no reason to use PKZIP. It was also in 1995 that the principal maintainers start to work heavily on the PNG format, and changes to Info-ZIP slowed.

See also

External link

Navigation

  • Art and Cultures
    • Art (https://academickids.com/encyclopedia/index.php/Art)
    • Architecture (https://academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (https://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (https://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools