ZIP, 一個沒落天才的故事

2021-01-07 開源中國

新聞來源:citydog

ZIP,一個沒落天才的故事,Phil Katz不願意為一個壓縮軟體付錢,就索性自己寫了一個更好的算法,然後無償公開。2000年4月14日,他被發現死於一家汽車旅館,年僅37歲,死時手中握著一個空酒瓶。他留下了zip算法,卻沒有留下一張像樣的照片。 久違了的zip在你的腦海裡還能佔據多少空間?或許,你跟本就把它忘記了。

記得剛上大學的2001年,在電腦報上看到過一篇介紹Philip Katz的文章,那時,我才知道,原來zip是曾經是那麼的「不可一世」,那麼廣泛的被使用著。

Winzip的創始人是Philip Katz。用Ultraedit打開任一個zip文件,可以看到文件最前面PK兩個字母,這便是zip文件格式的創始人Philip Katz的名字縮寫。

在19年前,也就是公元1988年,那時候網際網路還剛剛開始有了雛形,而最流行的是一種使用電話線撥號登陸別人在家裡搭建的服務平臺——交換信息的電 子公告牌(BBS)系統。這種系統有些類似現在的論壇和新聞組,由於站長之間互相轉信也成為了一個龐大的信息網絡(惠多網)。

老一點的網蟲可能都有印象,在沒有 Internet的年代,中國大地上也曾有幾十個這樣的BBS存在,著名的字處理軟體WPS的作者求伯君和CCED的作者朱崇君當年都是非常有名的個人站長。

由於電話線的接入速度慢的可憐,通過BBS傳輸較大文件實在是叫人痛苦的一件事。於是,使用文件壓縮技術減小文件的體積並將多個文件壓縮到一個封包中 就成為了BBS用戶的一項必須掌握的技巧。當時的美國BBS上,比較流行的是一種叫做ARC的壓縮技術,由於它是一家商業公司開發的壓縮技術,使用這種軟 件進行工作是需要付費的。那時候的菲利普·卡茲是一個沉迷於BBS 上的毛頭小夥,由於經常混跡於BBS上,對於ARC的收費非常不滿的他自己開發了一個程序叫PKARC,這個程序與ARC完全兼容,可以壓縮和解壓縮 ARC文件。這樣一來,大批的ARC用戶自然轉而使用菲利普·卡茲的免費軟體。ARC的製作公司一怒之下將菲利普·卡茲告上了法庭,法庭自然判決菲利普· 卡茲禁止繼續開發和傳播PKARC。這種判決並沒有磨滅菲利普·卡茲的鬥志,而是激起了他要與ARC鬥爭到底的決心。在虛擬的世界中,自由、平等永遠是真 正的程式設計師永久的追求。

他放棄了PKARC的開發,發誓要寫出一款比ARC更好的壓縮軟體來打敗ARC。這一場官司造就了一名編程天才的橫空出世,也造就了一個後來在網際網路 時代的文件標準。幾周以後,後來統治整個BBS世界乃至Internet世界的ZIP在菲利普·卡茲手中發出了第一聲響亮的啼哭!

不名則已,一鳴驚人,這種名為PKZIP的程序可以將一個或多個文件壓縮到一個後綴為「.zip」的文件中,無論從壓縮比、壓縮速度方面都超過了商業 軟體 ARC。卡茲將PKZIP作為自由軟體免費發放,使其如同草原上的星星之火般在全美的各大BBS上蔓延開來,用戶以幾何級數的增長,各大BBS的站長自發 將原來使用ARC格式壓縮的文件轉換成ZIP格式,卡茲用他天才的頭腦和頑強的毅力堂堂正正的擊敗了ARC,ARC的製作公司在PKZIP的強大攻勢下很 快就消聲匿跡了。用自由軟體打敗商業公司的傳奇故事很快傳遍了整個BBS世界,疾惡如仇而又身手不凡的菲利普·卡茲如同數字世界的大俠般仗劍江湖,劫富濟 貧,以一人之力擎起了壓縮軟體的大旗。

此後卡茲一直繼續著對 PKZIP的開發和維護工作,PKZIP建立和統治了DOS時代的壓縮標準。直到Windows的誕生,使用卡茲創造的壓縮算法的軟體Winzip的出現更使ZIP格式成為Internet的傳輸標準,ZIP壓縮格式也成為壓縮文檔的事實標準。

PKZIP及其「克隆」作品Winzip成為Internet歷史上最有名的共享軟體之一,ZIP壓縮格式也成為壓縮文檔的事實標準,建立起一個統治 Internet的「ZIP王朝」。菲利普·卡茲為世界貢獻了一個偉大的共享軟體,而他自己卻幾乎沒有從中獲得任何好處!因為從一開始,ZIP就是為了反 抗收費的PKARC「而生」的。

但是,不良的生活習慣,長期巨大的精神壓力,導致了潦倒無助的他在2000年的4月14號,死在了美國威斯康星州密爾沃基的一家汽車旅館裡,死時,手裡還緊握著一個烈性酒的酒瓶。

Philip Katz從未在ZIP身上得到半點好處,堅持信念的結果往往是潦倒的生活,糟糕的個人生活和長期編寫軟體的巨大壓力使卡茲染上了酗酒的惡習,最終斷送了他 那年輕的生命。他為世界貢獻了一個偉大的免費軟體,更為重要的是他締造了一種大眾化的壓縮格式,然而卻過早地離開了這個世界。

就在Philip Katz去世的前後,ZIP的最大對手:WINRAR,正在悄然崛起。當時Winzip早已穩坐壓縮界頭把交椅,但隨著2.7版本的出現,Wrar卻日益 壯大,兩者鬥爭得異常激烈(註:與Winzip一樣,其實早在DOS時代,就存在RAR的DOS版本,只是RAR在DOS時代敵不過只能用命令行的 ARJ,到了Windows時代又招架不住WinZip的進攻,皆因RAR壓縮率低和速度慢,並且RAR壓縮格式以前一直缺少其它軟體的支持,導致 WinRAR都未能廣泛流行)。

就當時兩者的性能而言,Winzip壓縮只支持ZIP格式,解壓縮支持ZIP、CAB,還有TAR、GZip、UUencode、XXencode、 BinHex、MIME等幾種Internet常用格式(可以看出WinZip的重心之所在),ARJ、LHA和ARC則需要相應的外掛程序。但 WinZip跟Windows資源管理器結合得很緊密,最常用的壓縮和解壓縮操作已集成到滑鼠右鍵菜單中,點按右鍵即可輕鬆完成壓縮解壓縮。並且增加了不 少人性化的功能如E-mail功能,分卷壓縮,密碼加密等;那Winrar又憑什麼與其爭鋒呢?答案是格式支持與功能!WinRAR壓縮格式支持自家的 RAR和ZIP(即可「兼容」ZIP),解壓縮支持RAR、ZIP、CAB、ACE、ARJ、LHA、TAR、GZip、UUE,基本上常用的都有了。 WinRAR在界面上類似WinZip在功能上基本是WinZip有的它都有,甚至有好多比WinZip還更好更強大。如有特色的」Repair archive」功能甚至可以修復損壞的zip文件;」Convert archive to SFX」功能把RAR和ZIP文件轉換成自解壓文件,同WinZip不同的是,在壓縮時就可以直接存為自解壓文件…取對手之精華,並改進之,這就是 Winrar敢於與壓縮界龍頭叫板的原因。

或許到了這裡,你會問:為什麼zip不去支持rar呢?這樣競爭不就「公平」了嗎?但我告訴你的是:zip格式是開放的,任何壓縮軟體都可以免費使 用,RAR是RARLab的專利算法,其它軟體要想提供對Rar格式支持必須交納費用以獲得授權,如果winzip想要支持zip,就必須向rarlab 付費,這根本就是拿自己的血汗去餵飽對手。我們須明白:winzip和winrar都是共享軟體,中國人用慣了盜版的winrar,以為rar才是壓縮格 式的王道,如果自以為全天下的壓縮軟體都應該支持rar格式,那麼只能說這是一種極其荒謬的認知。

雖然ZIP仍然是壓縮文件的標準格式,但隨著WinRAR的功能越來越強大,並且對ZIP的兼容性和ISO鏡像文件的支持,固步自封的WinZip已 經逐漸開始被網民們所遺忘。面臨被打倒,昔日的強者做出了最後的反擊--Winzip9.0。2004年發布的Winzip9.0是Winzip公司在 02年後兩年內第一次發布的Winzip軟體更新,可見這次Winzip反擊的決心。本版本的Winzip帶來了很多新的功能特性,如:加密標準提高,支 持符合AES技術的128位和256位的高級加密標準;支持64位擴展技術;內置了先進的「真空」壓縮算法(Enhanced Deflate)等。這一切都是針對WinRAR 3.30,誓求奪回壓縮界的王座。

可惜就像喬丹的最後出場一樣,也許真的是老了,我們再難看到英雄昔日的光彩。

WinZip 9.0對壓縮格式的支持並沒有什麼增加,支持原有的18種壓縮格式,但仍然不支持ISO這一非常流行的鏡像文件格式,並且最大的問題是不兼容RAR,這就令許多用戶敬而遠之了;相對而言,WinRAR 3.30目前的壓縮格式雖然只有15種,但由於兼容ZIP和支持ISO,僅僅這兩條就使不少WinZip的老用戶心動神移了。

隨著絕唱反擊的失敗,於2005年7月,WinZip被Vector Capital收購。

也許在天之靈的Philip Katz並沒有想到有這一天,作為下載量達到1億4000萬次,成就壓縮標準zip的Winzip計算公司好象沒有考慮過用其技術來賺錢的事(實際上很少 有人會在WinZip試用期過後支付29美元購買正版授權,因此WinZip至今都沒有獲得太多利潤)。它為大家提供一款如此經典的壓縮軟體,曾經,它是 何等輝煌,但如今卻威風難再。或者正如歌詞所說:」想回到過去,試著讓故事繼續,至少不再讓你離我而去…」

相關焦點

  • 一個沒落天才的故事:Winzip曾經的輝煌
    用Ultraedit打開任一個zip文件,可以看到文件最前面PK兩個字母,這便是zip文件格式的創始人Philip Katz的名字縮寫。  在19年前,也就是公元1988年,那時候網際網路還剛剛開始有了雛形,而最流行的是一種使用電話線撥號登陸別人在家裡搭建的服務平臺——交換信息的電子公告牌(BBS)系統。
  • 為7-zip加右鍵菜單"壓縮為*.zip"
    7-zip有一個不足,就是context menu上不能直接生成*.zip(可以直接生成*.7z)那麼有沒有辦法添加Zip快捷壓縮呢,答案是肯定的:把下文存為a.reg,雙擊導入註冊表後,就可以了注意1:只能對一個文件(或目錄)處理注意2:請確保註冊表中程序名與你的
  • Zipfile(一)
    這需要用到Python中內置的zipfile模塊。首先導入zipfile模塊:zipfile模塊有兩個類,分別為:zipfile.ZipFile以及zipfile.ZipInfo。>其中返回有壓縮包內文件詳細信息的列表,一個元素描述一個文件,各個信息的具體含義如下表:
  • Python 中的 zip()函數
    ', 'Smith')]我們可以使用 zip()函數來實現這一點,這是一個內置的 Python 函數。', 'Doe'), ('John', 'Williams'), ('Jennifer', 'Smith')]請記住,zip()函數返回一個迭代器。
  • Python中的zip方法
    軟硬體環境anaconda3 with python 3.7簡介zip()是python中的一個內置函數,它接受一系列可迭代對象作為參數,將不同對象中相對應的元素(根據索引)打包成一個元組tuple,返回一個zip對象,可以通過list將zip對象轉化為list對象。
  • Python zip函數及用法
    zip() 函數是 Python 內置函數之一,它可以將多個序列(列表、元組、字典、集合、字符串以及 range() 區間構成的列表)「壓縮」成一個
  • Python——實用的enumerate和zip
    y) in enumerate(data):zip接下來要介紹的另一個函數同樣是方便我們迭代的,不過它針對的是另一個場景——多對象迭代。,zip_longest提供了一個參數fillvalue,可以填充成我們指定的值。
  • Python文檔研讀系列:zip函數
    This makes possible an idiom for clustering a data series into n-length groups using zip(*[iter(s)]*n).
  • 你知道zip up是什麼意思嗎?
    今天,我們看一個生活中常見的單詞---拉鏈。拉鏈是我們比較常見的生活物品,衣服上、包上、被罩上都可以看到它的身影。那,你知道拉鏈用英語怎麼表達嗎?對,是zip。今天,我們就一起看一下zip的用法。首先,我們看一下zip做名詞的用法。
  • Python模塊學習 ---- zipfile模塊
    所以要指定為ZIP_DEFLATED(zip算法),或ZIP_LZMA(lzma算法,壓縮率高,就是慢了點)寫入文件,可以用write(),或writestr()例子1,創建zip,寫注釋,改文件的mtimeimport osimport timeimport zipfileorgfilename='需要壓縮的原始文件名
  • 《良醫》,一個講述自閉症天才醫生,逐漸成長的故事
    小七今天想向大家推薦的這部劇叫做《良醫》,這部劇講的是一個自閉症的醫生如何成長的故事。男主肖恩,同時也是自閉症的天才醫生。他和醫院的院長是好朋友,他因為一些機緣巧合的緣分認識了院長。院長對待肖恩像對待自己的親生兒子一樣。
  • Redis 內部數據結構詳解(4):ziplist
    這種方式會帶來大量的內存碎片,而且地址指針也會佔用額外的內存。而ziplist卻是將表中每一項存放在前後連續的地址空間內,一個ziplist整體佔用一大塊內存。它是一個表(list),但其實不是一個鍊表(linked list)。
  • Python標準庫學習之zipfile模塊
    ZipFile是主要的類,用來創建和讀取zip文件,而ZipInfo是存儲的zip文件的每個文件的信息的。class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])file:zip文件名(包含路徑)mode:r,w,acompression:zipfile.
  • awk命指定分隔符輸出字符串///使用bgzip遇到的一個報錯
    17916 18284 510317 8946 9296 9742m54155_170415_100314/5440071/0_9295/0_9295 reference 0 0 -1122 91.2409 470798 471063 510317 0 267 9295 5這個地方不知道為什麼 reads 的 ID 多了後面一個部分
  • 電腦系統zip文件怎麼打開
    那麼對於沒有電腦知識的小白來說要怎麼打開zip文件呢?別著急,接下來小編就來告訴大家電腦系統zip文件如何打開。電腦系統zip文件怎麼打開:1,首先,打開百度搜索「http://www.winrar.com.cn/」到官網上下載「WinRAR」軟體。
  • 一篇文章掌握 Python 內置 zip() 的全部內容
    zip() 是 Python 中最好用的內置類型之一,它可以接收多個可迭代對象參數,再返回一個迭代器,可以把不同可迭代對象的元素組合起來。但是,還有不少同學並不知道 zip(),或者不能熟練掌握它的用法,因此本文打算來做一個更為詳細的梳理。
  • Python大佬簡簡單單利用字典破解zip文件口令
    前幾天在一本書上看到一篇可以利用字典破解zip文件密碼的文章,覺得比較有意思於是研究了一番,在這裡分享一下很多人學習
  • 好課資源共享:課程8託福閱讀衝刺授課老師: 丁雲.zip
    課程8託福閱讀衝刺授課老師: 丁雲.zip課程7託福聽力衝刺授課老師: 唐小菲.zip課程6託福寫作強化授課老師: 徐亮  欒翔  賀進.zip課程5託福口語強化授課老師: 翟少成  孫桑迪.zip課程4託福閱讀強化授課老師: 嶽建輝  沈昂.zip課程3託福聽力強化授課老師: 林強  冷毅.zip課程2託福詞彙授課老師: 孟家峰.zip課程1託福導學授課老師: 翟少成.zip課程10託福寫作衝刺授課老師: 王文靜.zip17.惡魔奶爸自學英語,越努力,越幸運.doc
  • Java開發之淺談ZIP壓縮中要注意的幾點
    前言ZIP,是一個文件的壓縮的算法。ZIP通常使用後綴名「.zip」,它的MIME格式為 application/zip 。目前,ZIP格式屬於幾種主流的壓縮格式之一,其競爭者包括RAR格式以及開放源碼的7-Zip格式。從性能上比較,RAR格式較ZIP格式壓縮率較高,但是它的壓縮時間遠遠高於Zip。
  • Python黑客入門:暴力破解zip,零基礎也可以學會!
    在/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。