Should we remove compressed GIF generation from Squeak 3.7?

Ned Konz ned at squeakland.org
Fri Feb 20 02:52:50 UTC 2004


Burn all GIFs?

Background:

Squeak can generate GIFs whose data is compressed with an algorithm (LZW) that 
is patented by Unisys and IBM.

From the Unisys web page at http://www.unisys.com/about__unisys/lzw
------
More and more people are becoming aware that the reading and/or writing of GIF 
images requires a license to use Unisys patented Lempel Ziv Welch (LZW) data 
compression and decompression technology, including United States Patent No. 
4,558,302, Japanese Patent Numbers 2,123,602 and 2,610,084, and patents in 
Canada, France, Germany, Italy and the United Kingdom. Since January of 1995, 
Unisys has entered into almost three thousand license agreements for use of 
GIF and other LZW-based technology.

The U.S. LZW patent expires June 20, 2003, the counterpart Canadian patent 
expires July 7, 2004, the counterpart patents in the United Kingdom, France, 
Germany and Italy expire June 18, 2004, and the Japanese counterpart patents 
expire June 20, 2004. 

After expiration of the U.S. LZW patent on June 20, 2003, liability for patent 
infringement will occur only if an infringing act with respect to a product 
or service (e.g., developing, selling, offering to sell, making, using, 
distributing, downloading, exporting and/or importing) occurs in a country 
where the LZW patent has not expired. 
------

Though the Unisys patents have already expired in the US and are expiring in 
Canada, Japan and Europe by the end of June, there may still be some 
potential problems (both before that time and with respect to the IBM 
patent).

From "Why there are no GIF files on GNU Web Pages" at 
http://www.gnu.org/philosophy/gif.html
------
Unisys and IBM both applied for patents in 1983. Unisys (and perhaps IBM) 
applied for these patents in a number of countries. Of the places whose 
patent databases we were able to search, the latest expiration date seems to 
be Friday 11 August 2006 [1]. Until then, anyone who releases a free program 
for making GIF files is likely to be sued. We don't know any reason to think 
that the patent owners would lose these lawsuits.

[snip]

In 1999, Unisys had the following to say about the issue of their patent:

    Unisys has frequently been asked whether a Unisys license is required in 
order to use LZW software obtained by downloading from the Internet or from 
other sources. The answer is simple. In all cases, a written license 
agreement or statement signed by an authorized Unisys representative is 
required from Unisys for all use, sale or distribution of any software 
(including so-called "freeware") and/or hardware providing LZW conversion 
capability (for example, downloaded software).

[1] ... The U.S. IBM patent expires 11 August 2006 ...
------

Now that PNG writing is working quite well, I think that we should remove the 
generation of compressed GIFs from the distribution version of Squeak 
(perhaps moving the offending parts to SqueakMap or somewhere else if someone 
needs to have them).

PNG is a better format than GIF in many ways (for instance, supporting gamma, 
truecolor images, and better compression)

All modern browsers support PNG images (and have for some years; see 
http://www.libpng.org/pub/png/pngapbr.html ); if you're writing a web server 
that must generate GIF images you can either generate uncompressed ones, or 
go get the replacement code from SqueakMap or wherever it lives.

We could still generate uncompressed GIF images (this is what GNU/Linux has 
done with libungif), or use run-length encoding.

I believe that the only impact to code in the image would be the substitution 
of the non-compressing write logic. However, the Project saving currently 
saves GIF images (as thumbnails) and for some other forms (in the 
ResourceCollector); these would probably be better saved as PNG images so we 
don't lose image information (via JPEG compression or GIF pallette 
reduction), but we would have to phase this change in for backwards 
compatibility.

Any thoughts on this?
-- 
Ned Konz
http://bike-nomad.com/squeak/



More information about the Squeak-dev mailing list