No início dos anos 1990, o método sem perdas dominante, o LZW (usado pelo compress do Unix e pelo GIF), estava por trás de uma patente da Unisys, a US 4.558.302. O compress baseado em LZW até desapareceu de muitas distribuições Unix por causa da patente e porque o gzip o superava em taxa de compressão.

O Deflate de Phil Katz, lançado no PKZIP 2 em 1990, combinava referências retroativas de strings do LZ77 com árvores de Huffman codificadas por entropia. Ele patenteou seu codificador, mas publicou o formato Deflate como RFC 1951, descrevendo um fluxo que qualquer implementador poderia produzir.

Essa separação importava: o formato Deflate podia ser usado sem licença. Em 1993-94, a Unisys passou a cobrar taxas de licenciamento pelo LZW no GIF, o que empurrou o mercado para formatos sem patentes e ajudou a criar o PNG, que usa Deflate.

O resultado foi que o Deflate, e não o LZW, se tornou a compactação padrão da web e continua vivo em ZIP, gzip, zlib, PNG e PDF, cujo padrão é o Deflate e não o LZW.

Publicar o formato de graça; manter a patente sobre o codificador

A compactação LZW estava cercada por uma patente da Unisys que seu titular depois passou a exigir

Publicar o formato Deflate como RFC tornou sua implementação livre de licença

Um formato livre era um padrão seguro para desenvolvedores navegando pelo emaranhado de patentes

O gzip também superava o compress em taxa de compressão, então a troca era vantajosa, não apenas segura

Se você puder separar o formato do codificador, doe o formato: uma especificação livre de royalties captura todo o mercado, enquanto você mantém a patente sobre sua implementação específica.

O Deflate se tornou a base do gzip, zlib, PNG e do arquivo ZIP, e é a compactação padrão usada dentro do PDF para grande parte dos dados de texto. A patente LZW da Unisys expirou nos EUA em junho de 2003, mas a essa altura o formato Deflate livre já havia conquistado a posição padrão.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. DEFLATE Compressed Data Format Specification (RFC 1951) IETF / rfc-editor.org · rfc-editor.org
  2. Deflate — Wikipedia Wikipedia · en.wikipedia.org
  3. LZW — Wikipedia (patents) Wikipedia · en.wikipedia.org