GIFLIB provides a rich set of tools for scripted manipulation of GIF
images, and a C library that makes writing custom GIF-manipulating
programs easy. For a look at the browseable GIFLIB documentation
in HTML, see the GIFLIB home page at
http://www.ccil.org/~esr/giflib.
The current (3.0) release is available there.
In existing releases of GIFLIB I said: "Since it existed before 1 Jan
1995, GIFLIB falls under the grandfather clause in the GIF/LZ licenses
of Unisys and CompuServe and may be used without paying royalty fees."
I have since been in put in contact with a lawyer at Unisys, and that
isn't how they see it. Their position is that because GIFLIB has been
modified since 1995 it is not grandfathered, and their patents on the
Lempel-Ziv-Welch method mean that commercial use requires a license
from Unisys.
I have since done more research and dug up a copy of Unisys's licensing FAQ
on LZW (published Jan 6 1995). It is now included in the Web-accessible HTML
documentation for the package.
The policy described in the FAQ specifically exempts "freeware" and
non-commercial, non-profit software from the license requirements.
Their policy has the usual problems with for-profit *distribution*
(for example on source-code CD-ROMs), for which Unisys explicitly says
in the FAQ the distributors may be liable.
I therefore have to recommend against using GIFLIB at all. In fact,
earlier today I was considering entirely withdrawing it from circulation.
Having discovered the "freeware" exemption in the FAQ, I no longer believe this
is absolutely necessary. But any use of GIFLIB should be approached
very carefully, in the realization that it could poison your software
if it's distributed in any way Unisys's not-very-clueful lawyers choose
to interpret as "for-profit" (the one I exchanged email with didn't know
about the freeware exemption).
In the slightly longer term, I think it's time for GIFLIB to die and
be replaced by a PNG utility toolkit. PNGtools, anyone?
There's still a niche for GIF-reading code, but basically just as a
GIF-to-PNG converter. Reading GIFs is not really what most of GIFLIB
is about; a lot of the utilities define generally useful image
transformations that are independent of file format and just happpen
to use GIF as an interchange format. These ought to be rescued from
patent jeopardy.
A lot of the useful utilities in GIFLIB could be saved by throwing
out the patented Lempel-Ziv stuff and rebuilding the tools to read and
write a minimalist version of PNG (no optional chunks or alpha, at
least at first). This would be a good thing, because tools for dicing
and slicing PNG images seem to be thin on the ground.
Please consider this a solicitation of help for that task. I'm too
busy to do it all myself and I'm not really a graphics expert to
begin with. Perhaps someone in the PNG community might be interested
in leading?
--
<a
href="http://www.ccil.org/~esr">Eric S. Raymond</a>
--
<a
href="http://www.tuxedo.org/~esr">Eric S. Raymond</a>
"To disarm the people... was the best and most effectual way to enslave them."
-- George Mason, speech of June 14, 1788