A principios de los años noventa, el método sin pérdida dominante, LZW (usado por compress de Unix y por GIF), estaba protegido por una patente de Unisys, la US 4.558.302. El compress basado en LZW incluso desapareció de muchas distribuciones de Unix debido a la patente y a que gzip lo superaba en ratio.
El Deflate de Phil Katz, distribuido en PKZIP 2 en 1990, combinaba referencias retrospectivas a cadenas de LZ77 con árboles de Huffman codificados por entropía. Patentó su codificador, pero publicó el formato Deflate como RFC 1951, describiendo un flujo que cualquier implementador podía producir.
Esa separación importó: el formato Deflate podía usarse sin licencia. En 1993-94, Unisys pasó a exigir el pago de licencias por LZW en GIF, lo que empujó al mercado hacia formatos libres de patentes y ayudó a crear PNG, que usa Deflate.
El resultado fue que Deflate, y no LZW, se convirtió en la compresión predeterminada de la web y perdura en ZIP, gzip, zlib, PNG y PDF, cuyo valor predeterminado es Deflate y no LZW.
Publicar el formato gratis; mantener la patente sobre el codificador
La compresión LZW estaba acotada por una patente de Unisys que su titular hizo valer posteriormente
Publicar el formato Deflate como RFC hizo que implementarlo no requiriera licencia
Un formato libre era una opción predeterminada segura para los desarrolladores que navegaban el enredo de patentes
gzip también superaba a compress en ratio, así que cambiar era beneficioso, no solo seguro
Si puedes separar el formato del codificador, regala el formato: una especificación libre de regalías captura todo el mercado, mientras conservas la patente sobre tu implementación concreta.
Deflate se convirtió en la base de gzip, zlib, PNG y el archivo ZIP, y es la compresión predeterminada que se usa dentro de PDF para gran parte de los datos de texto. La patente de LZW de Unisys expiró en Estados Unidos en junio de 2003, pero para entonces el formato libre Deflate ya había ganado el puesto predeterminado.
CONSULTA LAS PRUEBAS
Las fuentes
- 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