1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 3 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> 4<html> 5<head> 6<link rev='made' href='mailto:[email protected]' /> 7<meta name='MSSmartTagsPreventParsing' content='TRUE' /> 8<title>The GIFLIB project</title> 9<script type="text/javascript"> 10// JavaScript to generate a compact date representation 11 12// 13// format date ISO-fashion: yyyy-mm-dd 14// 15function date_ddmmmyyyy(date) 16{ 17 var d = date.getDate(); 18 var m = date.getMonth() + 1; 19 var y = date.getFullYear(); 20 21 return "" + y + "-" + (m<10?"0"+m:m) + "-" + (d<10?"0"+d:d); 22} 23 24// 25// get last modified date of the 26// current document. 27// 28function date_lastmodified() 29{ 30 var lmd = document.lastModified; 31 var s = "Unknown"; 32 var d1; 33 34 // check if we have a valid date 35 // before proceeding 36 if(0 != (d1=Date.parse(lmd))) 37 { 38 s = "" + date_ddmmmyyyy(new Date(d1)); 39 } 40 41 return s; 42} 43// End 44</script> 45</head> 46<body> 47<table width='100%' cellpadding='0' summary='Canned page header' bgcolor="#ddd"> 48<tr> 49<td><h2>The GIFLIB project</h2></td> 50<td align="center"><img src="giflib-logo.gif"></td> 51<td align='right'><script type="text/javascript"> 52document.write(date_lastmodified()); 53</script></td> 54</tr> 55</table> 56 57<p>The GIFLIB project maintains the giflib service library, which has 58been pulling images out of GIFs since 1989. It is deployed everywhere 59you can think of and some places you probably can't - graphics 60applications and web browsers on multiple operating systems, game 61consoles, smartphones, and likely your ATM too.</p> 62 63<p>Yes, this code is he reason GIFs were in Mosaic, the first web 64browser that could do inline graphics; it is the implementation 65Andreesen and Bina used.</p> 66 67<p>This is very mature, stable, small-footprint code with minimal 68dependencies (suitable for use in embedded deployments) that needs only 69occasional very minor bugfixes. Test reports from odd platforms and 70better regression tests are particularly welcome. Don't try to 71redesign it, applications beyond counting would break if you did.</p> 72 73<p>It's "GIFLIB" in caps as a nod to the code's origins in the dark 74and backward abysm of MS-DOS, but Unix hackers are encouraged to spell it 75"giflib" in deference to local conventions. :-) 76 77<p>Before October 2006 the GIF format was encumbered by patents on the 78LZW compression it uses. This first became an issue in 1993 when the 79patent-holders made ambiguous noises about requiring royalties. For 80some time a subset of this code travelled as "libungif", supporting 81decompression but not compression. You can read a more detailed 82history <a href="history.html">here</a>.</p> 83 84<p>Note: The 5.x versions change the API slightly in a way that isn't 85compatible with older shared libraries. This was required to fix 86some known problems with the extensions API and with thread-safety.</p> 87 88<p>If you require shared-library compatibility back to ancient 89versions, build from 4.2. 4.2 and the 5.0 version are behaviorally 90almost identical; the few differences are explained <a 91href="gif_lib.html#compatibility">here</a>. 92 93<p>The SourceForge summary page (where you can download the source, 94review the project, find links to the bugtracker and mailing list 95pages, or ask to join the project as a developer) is <a 96href="https://sourceforge.net/projects/giflib/">here</a>. 97 98<p>People to thank for this code: Gershon Elber, Eric S. Raymond, 99Toshio Kuratomi.</p> 100 101<p>If you appreciate this project, and especially if you make money 102from it, please <a href="https://www.patreon.com/esr">support 103continuing maintainance on Patreon</a>.</p> 104 105<p>GIFLIB technical documentation:</p> 106<ul> 107<li><a href="intro.html">GIFLIB documentation</a></li> 108<li><a href="history.html">GIFLIB's history</a></li> 109<li><a href="gif_lib.html#compatibility">Difference between 4.2 and 5.0</a></li> 110<li><a href="https://sourceforge.net/projects/giflib/">SourceForge project page</a></li> 111<li><a href="https://www.patreon.com/esr">Support this project</a></li> 112</ul> 113 114<p>GIF resources:</p> 115<ul> 116<li><a href="whatsinagif/index.html">What's In A GIF?</a></li> 117<li><a href="gifstandard/GIF89a.html">The GIF standard</a></li> 118<li><a href="gifstandard/LZW-and-GIF-explained.html">LZW and GIF explained</a></li> 119<li><a href="https://en.wikipedia.org/wiki/GIF">Wikipedia on GIF</a></li> 120</ul> 121 122<p>To support this ubiquitous code, <a href="https://www.patreon.com/bePatron?u=962938" data-patreon-widget-type="become-patron-button">Become a Patreon patron!</a><script async src="https://c6.patreon.com/becomePatronButton.bundle.js"></script></p> 123 124</body> 125</html> 126