解決方案
1990 年代初期,主流的無損壓縮方法 LZW(用於 Unix compress 和 GIF)受到 Unisys 專利 US 4,558,302 的保護。基於 LZW 的 compress 甚至從許多 Unix 發行版中消失,原因既是該專利,也是因為 gzip 在壓縮率上勝過它。
Phil Katz 的 Deflate 於 1990 年隨 PKZIP 2 推出,將 LZ77 字串回溯引用與熵編碼的 Huffman 樹結合。他為自己的編碼器申請了專利,但將 Deflate 格式作為 RFC 1951 公開,描述了一種任何實作者都能產生的資料流。
這種分離很重要:Deflate 格式可以在無需授權的情況下使用。1993 至 1994 年,Unisys 開始對 GIF 中的 LZW 強制收取授權費,這推動市場轉向不受專利束縛的格式,並促成了使用 Deflate 的 PNG 的誕生。
結果是,Deflate 而非 LZW 成為網路的預設壓縮方式,並延續於 ZIP、gzip、zlib、PNG 和 PDF 之中,其中 PDF 的預設是 Deflate 而非 LZW。
它達成了什麼
免費公開格式;將專利保留在編碼器上
為何有效
LZW 壓縮被 Unisys 的專利圈住,而其所有者後來強制執行了該專利
將 Deflate 格式作為 RFC 公開,使實作它無需授權
對於在專利亂局中摸索的開發者而言,免費格式是安全的預設選擇
gzip 在壓縮率上也勝過 compress,因此切換是有益的,而不僅僅是安全
可以借鑑什麼
如果你能將格式與編碼器分離,就把格式免費送出:免權利金的規格能拿下整個市場,同時將專利保留在你特定的實作上。
後續發展
Deflate 成為 gzip、zlib、PNG 和 ZIP 封存格式的基礎,也是 PDF 內部用於大量文字資料的預設壓縮方式。Unisys 的 LZW 專利於 2003 年 6 月在美國到期,但到那時,免費的 Deflate 格式早已贏得預設位置。
追溯依據
參考來源
- DEFLATE Compressed Data Format Specification (RFC 1951) IETF / rfc-editor.org · rfc-editor.org
- Deflate — Wikipedia Wikipedia · en.wikipedia.org
- LZW — Wikipedia (patents) Wikipedia · en.wikipedia.org