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
|