GIF formatui specifiniai iškraipymai (kairėje), atsiradę dėl riboto spalvų skaičiaus. Tokie iškraipymai atsiranda bandant išsaugoti nuotraukas ir kitą panašią informaciją. Diagramoms 256 spalvų visiškai pakanka. Plg. su JPEG.
Animuotas GIF
**GIF** (Graphics Interchange Format) – grafinių vaizdų saugojimo formatas, kurį 1987 m. sukūrė interneto paslaugų tiekėja CompuServe kompanija. 1989 m. buvo paskelbta patikslinta specifikacija (vadinamoji GIF versija *89a*). Standartinis GIF saugo tik iki 256 spalvų paletes, nors yra galimybė įsiminti ir 24 bitų (*truecolor*) vaizdus, tačiau tai „purvinas reikalas" (ir paminėtinas tik aprašymo pilnumui). Leidžiama nurodyti „vaiskią" (angl. *transparent*) spalvą.

Vėliau buvo nustatyta, kad formate naudojamas LZW duomenų suspaudimo algoritmas, kurio patentas priklauso UniSys (ir IBM). 1994 m. gruodžio mėn. Unisys pradėjo reikalauti licencinio mokesčio iš programų, kuriančių GIF formato failus, savininkų. Tai buvo paskata alternatyvaus PNG standarto kūrimui.

GIF failo formatas
------------------

GIF failas visada prasideda 0x47 0x49 0x46 0x38 (baitų reikšmės šešioliktainiu pavidalu). Kiti du baitai gali skirtis:

* GIF versijoje *87a* juos seka 0x37 0x61
* GIF versijoje *89a* juos seka 0x39 0x61

GIF versija *89a* leidžia naudoti papildomus blokus, kuriuose galima įsiminti tekstinius komentarus. Taip pat, juose gali būti saugoma papildoma informacija, nurodanti programoms, kaip reikia interpretuoti vaizdą. Jie panaudojami ir GIF animacijos aprašui. GIF versija *89a* taip pat leidžia „persidengiantį" (angl. *interlaced*) režimą.

Panaudojimo sritys
------------------

Dėl riboto spalvų skaičiaus, GIF dažniausiai naudojamas ne nuotraukoms, o schemoms, diagramoms, brėžiniams ir kitiems panašaus tipo vaizdams saugoti. Skirtingai nuo JPEG, informacija koduojant GIF formatu, atkuriamas tikslus vaizdas, neprarandant informacijos, visų linijų kontūrai lieka aiškūs.

GIF patentai
------------

Animuotas GIF
LZW algoritmo, kurį naudoja GIF, 1983 m. išduotas patentas priklauso UniSys (JAV patento nr. 4,558,302 Archyvuota kopija 2014-08-04 iš Wayback Machine projekto.). Tad GIF formato failus teisėtai kurti galėjo tik tos programos, kurių gamintojai yra su patentų savininkais buvo pasirašę licencines sutartis. UniSys 1995 m. buvo leidusi naudoti GIF formatą pelno nesiekiančioje, nekomercinėje veikloje ir netgi individualiems vartotojams, tačiau 1999 m. rugpjūčio mėn. to leidimo veikimą nutraukė. Unisys turėti patentai baigė galioti 2004 liepos 7 d. (žr.  Archyvuota kopija 2009-06-02 iš Wayback Machine projekto.).

Microsoft buvo sudariusi su UniSys sutartį, taikomą visai Microsoft kuriamai programinei įrangai. Šis leidimas negaliojo kitų gamintojų programoms, kuriamoms panaudojant Microsoft programavimo priemones, sistemas ir programas.

IBM irgi yra patentavusi LZW algoritmą, tačiau niekada nebandė jo apmokestinti. Pagal FSF duomenis, šio patento galiojimo laikas JAV baigėsi 2006 metų rugpjūčio 11 d.

Prieštaringos nuomonės dėl GIF naudojimo
----------------------------------------

Unisys reikalavimai mokėti mokestį už GIF naudojimą visuomenėje sukėlė daug ginčų ir prieštaringų vertinimų. Buvo pradėta net vengti GIF formato naudojimo. Jo palaikymo atsisakė GNU. Atsirado poreikis kurti priemones, leidžiančias kurti GIF failus nenaudojant LZW technologijos. Tačiau tokių „nesuspaustų" GIF failų apimtis buvo daug didesnė. Tad reikėjo rasti kitą alternatyvą – sukurti panašų formatą, nepažeidžiantį Unisys patento. Taip atsirado PNG standartas (1996 m.).

  

Unisys pozicija:

* Apie LZW programinę įrangą ir patentą Archyvuota kopija 2009-06-08 iš Wayback Machine projekto. (anglų k).
* Informacija apie LZW patentą Archyvuota kopija 2009-06-02 iš Wayback Machine projekto. (anglų k).

GNU požiūriai:

* Why There Are No GIF files on GNU Web Pages (anglų k).
* Почему на веб-страницах GNU не используется формат GIF (rusų k).

Microsoft paaiškinimas apie GIF failų kūrimą Windows aplinkoje:

* (anglų kalba)

Nuorodos
--------

* Detalus GIF formato aprašymas Archyvuota kopija 2005-12-16 iš Wayback Machine projekto.