GIMP/Historia

PoczątekEdytuj

Dwóch studentów w Berkeley, Spencer Kimball i Peter Mattis, zdecydowało, że wolą napisać program do obróbki obrazów niż kompilator w scheme/lisp dla profesora Fatemana (CS164). Żaden z nich nie miał doświadczenia ze sztuką graficzną, ale wydawało się to miłym projektem. Zostali również zachęceni przez profesora Forsythe'a do implementacji kilku nowych cech – plotka głosi, że inteligentne nożyczki to był projekt Spencera CS280. Dlatego Spencer i Peter zaczęli pisać program General Image Manipulation Program, w skrócie GIMP. Pracowali nad nim przez dłuższy czas zanim pozwolili komukolwiek go wypróbować – według aktualnych obliczeń prawdopodobnie około 9-10 miesięcy. Od czasu pierwszego publicznego wydania mieli funkcjonalny produkt.

W wersji Gimpa 0.54 pojawiło się wiele przydatnych elementów. (Styczeń 1996). Posiadał system wtyczek, więc projektanci mogli pisać oddzielne programy, aby je dodać do Gimpa bez niszczenia czegokolwiek w głównym kodzie. Miał podstawowe narzędzia do rysowania i umożliwiał operacje na kanałach. Posiadał cofanie operacji jakiego nie miał żaden ze znanych programów do obróbki obrazów. Miał lojalnych, polegających na nim użytkowników. Był chroniony przez GPL. Posiadał też interesującą nazwę.

Nie wszystko jednak chodziło bezawaryjne. Program często przestawał działać, co mogło być spowodowane przez wtyczki lub problemy w głównym kodzie. Był zależny od Motifa, używanego jako zestaw narzędzi Graficznego Interfejsu Użytkownika, co było barierą dla wielu entuzjastów. To ograniczenie zraziło też wielu prawdopodobnych projektantów wtyczek. Niektórzy rozsiewali absurdalne twierdzenia, że Gimp jest już bardziej stabilny niż Photoshop.

Gimp, tak jak wiele innych projektów, miał raczej skromny start. Jednak otrzymał dużo wsparcia od społeczności użytkowników. W swoich początkach był prawie całkowicie samowystarczalny. Autorzy nie ogłosili planów nie do spełnienia – Spencer i Peter dostarczyli produkt, który coś robił. Nie był perfekcyjny, ale to był zdumiewający czyn dla studentów programistów bez żadnej pomocy z zewnątrz.

Wejście użytkownikówEdytuj

Jednym z pierwszych kroków po wydaniu 0.54 było stworzenie listy dyskusyjnej dla projektantów. Dzięki temu Peter i Spencer otrzymali informacje o swoim nowym programie, a lista dyskusyjna spełniła funkcję pomostu będąc jednocześnie wygodnym narzędziem. Była to także metoda na informowanie ludzi o stanie prac w sposób prosty i wydajny.

Wiadomości na grupie dyskusyjnej były raczej poważne, więc nie wszystkie pytania wydawały się odpowiednie do zadawania projektantom. Ich doświadczenie nie dotyczyło efektywnego tworzenia obrazów, ale raczej manipulowania wskaźnikami i strukturami danych. 5 Lipca 1996 roku lista dyskusyjna gimp-list została podzielona na gimp-user i gimp-developer.

Pojawiło się także wiele stron internetowych o tym nowym programie. Użytkownicy Gimpa, tacy jak Zach Beane (Xach), rozpoczęli tworzenie poradników, a pozostali pokazywali prace stworzone w Gimpie i dzielili się technikami ich tworzenia.

Federico Mena Quintero, znany również jako Quartic, stworzył stronę ze spisem wszystkich znanych zasobów dla Gimpa. Stała się ona miejscem ogłoszeń o nowych wtyczkach, a dodatkowo zawierała kilka pięknych i interesujących prac. Quartic pokazał też swoje własne wtyczki.

Larry Ewing rozreklamował Gimpa tworząc sławnego linuksowego pingwina, (niektórzy zwą go Tux). Umieścił stronę w sieci pokazującą niektóre z kroków, które on przeszedł tworząc Tuxa. Był to prawdopodobnie pierwszy duży rozgłos, jaki uzyskał Gimp.

Nowa biblioteka interfejsu – Seria 0.60Edytuj

Peter Mattis po problemach z biblioteką Motif napisał własną. Jej elementy nazwał gtk i gdk, co znaczy Gimp Tool Kit i Gimp Drawing Kit. Obecnie jest nazwana GTK+ i jest biblioteką ogólnego przeznaczenia używaną przez wiele programów. Zmianie uległa też nazwa programu: General Image Manipulation Program stał się GNU Image Manipulation Program.

Seria 0.6x była eksperymentalna i nieukończona. Wtyczki nie były kompatybilne z tymi zaprojektowanymi dla serii 0.54. Autorzy wolno uaktualniali swoje wtyczki, aby używały nowych protokołów. Dokumentacja dla 0.6x nie była uaktualniana, ponieważ kod programu zmieniał się zbyt szybko.

Ogólnie mówiąc, seria 0.6x była mniej używalna niż poprzednia 0.54. Awarie były bardziej losowe i częstsze. Tylko ludzie zainteresowani rozwojem projektu pobierali serię 0.6x – stąd tak mały wkład użytkowników w rozwój. Aby ich zachęcić na stronie Berkeley opublikowano rozległy plan zmian zawierający użycie warstw, pamięci kafelkowej, wbudowanej obsługi skryptów i narzędzi przekształceń.

Seria migawek 0.6x była szansą projektantów na dodanie nowych elementów. Jeśli działały, mogły wejść do głównego kodu. Ukryty nacisk na polepszenie stabilności rozpoczął się blisko końca serii, ale dodawanie ciekawych elementów było podstawowym zadaniem.

Seria 0.99 – długa droga do 1.0Edytuj

26 lutego 1997 roku, Spencer i Peter (S&P) wydali wersję 0.99. Głównym celem było przeportowanie wtyczek do schematu pamięci opartej na kafelkach i nowe API (Interfejs Programowania Aplikacji), które nie było tak rozwinięte w serii 0.6x. Istniała także nowa wersja gtk/gdk zwana GTK+. To wprowadziło ogromne zmiany do poprzedniego modelu gtk.

Nowe wersje pojawiały się w dynamicznym tempie aż do wydania 0.99.9. Zastój przerwał Trent Jarvi oferując często uaktualniany plik zmian. 9 czerwca 1997 Spencer i Peter zdołali wreszcie wydać nowe GTK+ i Gimpa 0.99.10. To było ich ostatnie wydanie, ponieważ porzucili projekt.

Wydania przed-11Edytuj

Bez opiekunów projektu następował chaos. Stworzono kilkanaście nieoficjalnych przedwydań. Śledzenie łatek stało się dużym problemem. Matt Hawkinks pokierował wydaniem przed-11stając się tymczasowym opiekunem.

Federico Mena Quintero (Quartic) zajmował się wydaniami przez krótki czas. Pod jego dowództwem ruch w kierunku stabilności i użytecznego produktu stał się głównym celem. Na wydaniu 0.99.14, Quartic ogłosił zamrożenie funkcjonalności do wersji 1.0. Quartic przeszedł po pewnym czasie do innych (powiązanych) projektów.

W lutym 1997 powstał kanał irc #gimp umożliwiając rozmowy w czasie rzeczywistym z innymi użytkownikami i projektantami.

Nowy model rozwojuEdytuj

Aktualnie nie ma określonych liderów. W nowym systemie są wyznaczone zespoły odpowiedzialne za różne czynności. Decyzje są podejmowane przede wszystkim na kanale #gimp i wdrażane dzięki wysiłkowi całego zespołu.

DokumentacjaEdytuj

13 kwietnia 1997 roku powstała strona GIMP News prowadzona przez Zacha pod adresem http://xach.dorknet.com/gimp/news. Informowała o nowych wtyczkach, wydaniach, zawierała poradniki i formularz raportu błędu.

Powstała też strona GIMP Plug-In Registry. Ten centralny rejestr ułatwił zarządzanie wtyczkami, umożliwił autorom aktualizację, a innym wpisywać plany na przyszłe wtyczki.

Pod koniec maja 1997 powstał projekt GIMP Bugs. Była to ręcznie zarządzana, z małą pomocą skryptów, lista błędów Gimpa.

Siódmego października 1997, dwóch użytkowników, Karin Kylander i Olof S., ogłosili powstanie Gimp Users Manual. Ten podręcznik użytkownika zawiera aktualnie opis wszystkich cech Gimpa na ponad 600 stronach.

Nowy sposób pracyEdytuj

Aby ułatwić pracę grupową wprowadzono system zarządzania wersjami zwany CVS. Umożliwia on wszystkim pobranie najnowszego Gimpa, a projektantom wysłanie zmian. Możliwe jest też łatwe usuwanie zmian – każda zmiana jest notowana i może być wycofana.

CentralizacjaEdytuj

W odpowiedzi na potrzebę centralnego repozytorium dla wszystkich tych aspektów programu, Shawn Amundson (Snorfle) zabezpieczył domenę "gimp.org". Główny serwer to www.gimp.org i zaczął działać 7 października 1997 roku. Aktualnie serwis zawiera poradniki, sztuczki, system wiki, system planet agregujący blogi itp.

RozgłosEdytuj

Michael J. Hammel napisał czteroczęściową serię o Gimpie dla Linux Journal (Październik 1997 - Styczeń 1998). Ten zestaw artykułów zaznajomił społeczność Linuksa z Gimpem. Gimp jest również regularnie reklamowany w artykułach Graphics Muse pojawiających się w Linux Gazette. Artykuły o Gimpie pojawiają się też w czasopismach nielinuksowych jak Chip lub Komputer Świat.