# GIMP

GIMP (englisch GNU Image Manipulation Program, GNU-Bildbearbeitungsprogramm) ist ein pixelbasiertes Grafikprogramm, das Funktionen zur Bildbearbeitung und zum digitalen Malen von Rastergrafiken bereitstellt. Das Programm ist eine freie Software und kann kostenlos genutzt werden.

## Geschichte
### Entstehung und Verbreitung

Die erste öffentliche Testversion von GIMP wurde von Peter Mattis am 21. November 1995 in der Newsgroup comp.os.linux.development.apps angekündigt. Zusammen mit seinem Kommilitonen Spencer Kimball hatte er das Programm als Studienarbeit entwickelt. Die erste Betaversion wurde für Linux (1.2.13), Solaris (2.4), HP-UX (9.05) und IRIX bereitgestellt. Die erste offizielle Version 0.54 erschien im Januar 1996. Die Version 1.0 wurde am 5. Juni 1998 veröffentlicht.
Schon damals war GIMP ein umfangreiches Programm, das unter anderem mit einem Plugin-System, beliebigem Rückgängigmachen und Wiederholen, intelligenter Schere, Dithering, Unterstützung von 8, 15, 16 und 24 Bit Farbtiefe pro Bild, Zoom und Verschieben in Echtzeit gleichzeitige Bearbeitung mehrerer Bilder, Unterstützung der Formate GIF, JPEG, PNG, TIFF und XPM sowie zahlreiche Auswahl- und Bearbeitungswerkzeuge. Allerdings galt das Programm anfangs als fehlerbehaftet und absturzfreudig. Zudem verwendete es damals noch das proprietäre Toolkit Motif für die Benutzeroberfläche, für das die notwendigen Header-Dateien nicht frei und kostenlos verfügbar waren. Daher konnte es von vielen Anwendern nur als statisch gelinktes und fertiges kompiliertes Programm verwendet werden; selbst an GIMP zu arbeiten und das Ergebnis sofort zu nutzen, war für sie nur schwer oder gar nicht möglich.
Als Peter Mattis von Motif auf eine freie Lösung umsteigen wollte, entwickelte er sein eigenes Toolkit GTK, das inzwischen als offenes Projekt ein Eigenleben führt und beispielsweise in der Desktop-Umgebung Gnome verwendet wird. Dadurch war es möglich, GIMP komplett ohne Motif-Aufrufe zu implementieren und das Programm relativ einfach auf andere Systeme zu portieren.
GIMP hat vor allem unter Linux eine große Verbreitung gefunden und sich dort im Laufe der Zeit als Marktführer für digitale Bildbearbeitung etabliert. Das Programm ist Bestandteil vieler Linux-Distributionen, die nicht konsequent auf GTK-basierte Programme verzichten. Allerdings wurde auf dem Ubuntu Developer Summit nach der Veröffentlichung von Ubuntu 9.10 beschlossen, in Ubuntu 10.04 GIMP nicht mehr vorzuinstallieren, da es „zu kompliziert“ sei, es zu viel Platz auf der Installations-CD benötige und bereits F-Spot mitgeliefert werde. Außerdem könne man es weiterhin über die Software-Repository nachladen.

### Versionen

| Version | Erscheinungsdatum | Anmerkungen |
| Ältere Version; nicht mehr unterstützt: n.n. | 21. Nov. 1995 | Erste veröffentlichte Testversion |
| Ältere Version; nicht mehr unterstützt: 0.54 | Jan. 1996 | Plug-In, Undo, Farbkanäle, u. a. (Vorbild Photoshop 3) |
| Ältere Version; nicht mehr unterstützt: 1.0 | 5. Juni 1998 | Neue Programmierschnittstelle mit der Skriptsprache Skript-Fu, GIMP-eigenes Dateiformat XCF. Neue Speicherverwaltung, mit der das Laden großer Bilddateien kein Problem mehr ist. |
| Ältere Version; nicht mehr unterstützt: 1.2 | 25. Dez. 2000 | Fehlerbereinigungen, Überarbeitung der grafischen Oberfläche |
| Ältere Version; nicht mehr unterstützt: 2.0 | 24. März 2004 | Erstmals einfaches CMYK, SVG-Import und -Export, rudimentäre Druckvorstufe, bessere Pfad- und Text-Werkzeuge, weitere Änderungen an der grafischen Oberfläche |
| Ältere Version; nicht mehr unterstützt: 2.2 | 19. Dez. 2004 | Vorschaufunktion für zahlreiche Werkzeuge, Anpassung der grafischen Oberfläche an die GNOME Human Interface Guidelines, Vorschaufunktion, |
| Ältere Version; nicht mehr unterstützt: 2.4 | 24. Okt. 2007 | Grafische Oberfläche überarbeitet, verbesserte Werkzeuge zur Freistellung, Skalierung und Text an Pfaden; einzelnes, unabhängiges Rückgängig-Machen länger zurückliegender Bearbeitungsschritte, Nutzung von ICC-Profilen, Skalierung mit Lanczos-Filters |
| Ältere Version; nicht mehr unterstützt: 2.6 | 1. Okt. 2008 | Umstieg auf neue Grafikbibliothek Generic Graphics Library (GEGL) begonnen |
| Ältere Version; nicht mehr unterstützt: 2.8 | 3. Mai 2012 | Optionaler Ein-Fenster-Modus, Ebenengruppen, Texteingabe direkt auf der Leinwand, Speichern und Exportieren überarbeitet, Layercomposing mit GEGL |
| Ältere Version; nicht mehr unterstützt: 2.8.22 | 11. Mai 2017 | Bugfix, zusätzliche Hilfedatei in Deutsch 2.8.2 |
| Ältere Version; nicht mehr unterstützt: 2.9 | 27. Nov. 2015 | Als unstabil gekennzeichnete Vorabversion für 2.10. Größere Farbtiefen pro Farbkanal (HDR: max. 16bit, Gleitkomma 32bit), simple OpenEXR-Integration, mehr Direkt-Vorschau-Filter, experimentelle Integration von Hardware-Beschleunigung via OpenCL, GEGL-Ziel 100 % |
| Ältere Version; nicht mehr unterstützt: 2.9.8 | 12. Dez. 2017 | Neue Features und Bugfix mit öffentlichen 2.9.2, 2.9.4, 2.9.6 und 2.9.8 mit xcf-Dateigröße über 4 GB, Gradienten, Clips, Importe, nächste Version 2.10.0 |
| Ältere Version; noch unterstützt: 2.10.0 | 27. Apr. 2018 | Neue Funktionen der Version 2.9 weiter ausgebaut, verbesserte und vereinfachte Bildtransformationen, stark ausgebaute Skalierungsmethoden, GEGL komplett, Geschwindigkeitsverbesserungen durch Multicore-Nutzung und Hardware-Beschleunigung über OpenCL (so viele wie möglich der bestehenden Filter werden portiert), weitere Detailverbesserungen. |
| Ältere Version; noch unterstützt: 2.10.28 | 18. Sep. 2021 | Einige „Blockerbugs“ waren in Version 2.10.0 noch vorhanden und wurden in 2.10.2 gelöst; auf Windows-System-Minimum: Windows 7 und höher. Ab 2.10.4 Beta für MacOS verfügbar. In 2.10.6 wurde vertikaler Text eingeführt. In 2.10.8 war vor allem die Behebung von Fehlern und Optimierung Update-Inhalt. Neben der Behebung von vielen Fehlern und Limitierungen wurden einige neue Features in 2.10.10, 2.10.12 und 2.10.14 realisiert. Viele Filter wurden an GEGL angepasst. Version 2.10.16 wurde aufgrund eines kritischen Fehlers zurückgezogen und nicht offiziell veröffentlicht, stattdessen folgte 2.10.18 mit deutlich überarbeiteter Benutzeroberfläche, verbesserten Werkzeugen, Optimierungen und Fehlerkorrekturen. Version 2.10.20 hat im PSD-Support mit 16-bit-Export und PDF-Plugin mit Mehr-Seiten-Support bedeutende Verbesserungen. Version 2.10.22 hat verbesserte HEIF-, neue Avif- und verbesserte psp-Unterstützung. Version 2.10.24: Geotiff Metadata support, „negative Darkroom“ für Negative |
| Aktuelle Version: 2.10.34 | 27. Feb. 2023 | 2.10.30: Diverse Fehler wurden behoben, verbesserte PSD Unterstützung und Plugin Anpassungen., 2.10.32 im Microsoft Store verfügbar, 2.10.34 mit einigen Backports von 2.99 |
| Vorabversion: 2.99.18 | 21. Feb. 2024 | Umstieg von GTK2- zum GTK3-Toolkit, voller Support für HiDPI-Displays, neues Plugin-API, verbesserte Unterstützung von Grafik-Tablets, vereinfachtes Theming, Multi-Layer-Support, 2.99.4: bugfix und Doku für Plugins, 2.99.6: bugfix, geänderte API für Filter. Graues Thema und vieles mehr in 2.99.14. In 2.99.16 über 100 Verbesserungen und Bugfixes |
| Vorabversion: 3.0.0-RC1 | 6. Nov. 2024 | 1. Release-Kandidat für Version 3.0 |
| Vorabversion: 3.0.0-RC2 | 27. Dez. 2024 | 2. Release-Kandidat für Version 3.0 |
| Vorabversion: 3.0.0-RC3 | 10. Feb. 2025 | 3. Release-Kandidat für Version 3.0 |
| Legende:Ältere Version; nicht mehr unterstütztÄltere Version; noch unterstütztAktuelle VersionAktuelle VorabversionZukünftige Version |||

### Umstellung auf GEGL

Mit der am 1. Oktober 2008 erschienenen Version 2.6 wurde der Umstieg vom bisherigen Grafik-Kernel auf die neue unabhängige Bibliothek GEGL (Generic Graphics Library) begonnen. Zum Freigabetermin waren noch nicht alle Funktionen portiert, sodass die erhoffte Unterstützung höherer Farbtiefen fehlte. Diese folgte in Version 2.10, welche vollständig auf GEGL aufbaut. GEGL arbeitet nicht-destruktiv und unterstützt weitere Dateiformate, zum Beispiel Rohdatenformate von Digitalkameras. Die Auslagerung der Bildbearbeitung in eine eigene Bibliothek ermöglicht die Nutzung der Funktionen in anderen Programmen – entsprechend gibt es bereits Anbindungen für C#, Ruby und Python. (Gegl-Sharp, GEGL-Vala, Pygegl obsolet seit April 2012)
Die aufwendige Migration auf GEGL – überwiegend durch nur eine Person umgesetzt – blockierte über viele Jahre die Entwicklung und war der Hauptgrund für die langen Entwicklungsdauern von Version 2.8 auf 2.10 (6 Jahre).
Eng verwandt und ebenfalls Bestandteil von Gimp ist die Bibliothek babel welche zwischen verschiedenen Pixelformaten, Farbtiefen, Farbmodellen, Farbräumen, Speicherformaten etc. konvertiert.

### Benutzeroberfläche

Die Benutzeroberfläche wurde wiederholt verändert. So wurde mit Version 2.6 ein permanentes Bildfenster implementiert, was vor allem den Anwendern mit weniger ausgefeilten Fenstermanagern zugutekommen sollte. Ab Version 2.8 gibt es einen optionalen Ein-Fenster-Modus. Die klassische, besonders bei Mehrmonitorbetrieb bewährte, aber auch oft kritisierte, Mehrfenstervariante bleibt als Standard erhalten.
GIMP speichert ab Version 2.8 standardmäßig nur noch in das eigene XCF-Format, für das speichern in anderen Formaten existiert seitdem eine Export-Funktion. Diese Änderung sorgte für große Diskussionen.

### Entwicklungsmodell und zukünftige Versionen

In Gimp haben stabile Versionen immer eine gerade Versionsnummer, ungerade Versionsnummern sind Vorabversionen der folgenden Version. So war Gimp 2.9 die Entwicklungsversion für die aktuelle stabile Version GIMP 2.10. Bis Version 2.10 wurden in den Versionsupdates mit Änderungen in der dritten Versionsnummer (Sogenannte „Dot-Releases“, beispielsweise 2.9.2) nur Fehler korrigiert (semantic versioning) Mit der Version 2.10 änderte das Team die Versionierungsstrategie, nun werden auch kleinere, neue Funktionen in die alle paar Monate erscheinenden dot-Releases eingebaut. Damit sollen neue Funktionen schneller beim Anwender ankommen und Gimp für freiwillige Entwickler attraktiver werden.
Version GIMP 3.0 benötigt GTK 3.24, da die Version 2 von GTK nicht mehr weiterentwickelt wird. Die Windows- und Mac-Versionen werden von den neuen Möglichkeiten wie Wacom-Tablet-Support in GTK3 profitieren. Das Plugin-System von Gimp wird darüber hinaus von Python 2 auf Python 3 umgestellt, da Python 2 seit 2020 keine Updates mehr erhält. Plugins sollen daneben auch in Lua und JavaScript geschrieben werden können. Die „Gimp Registry“ – eine Seite auf welcher Erweiterungen für Gimp zu finden waren, wurde vom Netz genommen, da ihre Software veraltet war und Sicherheitsprobleme hatte und sich kein Freiwilliger fand, der sie auf eine neue Software migrierte. Stattdessen soll Gimp zukünftig einen eingebauten Plugin-Browser erhalten. Vorbild dafür ist der Plugin-Manager aus Mozilla Firefox.
Die Hauptentwickler von Gimp sind derzeit (Stand 2020) Michael Natterer, Jehan Pagès und Ell, Michael Natterer ist Maintainer, Hauptentwickler der zentralen Grafikbibliothek ist Øyvind Kolås. Während Gimp als Projekt zurzeit keine Gelder verwaltet und deshalb keine Spenden sammelt, ruft es zu Spenden für die Hauptentwickler Jehan Pagès und Øyvind Kolås, sowie für das Gnome-Projekt auf.
Gimp 3.2 soll dann nicht destruktives Editieren voll unterstützen und damit anspruchsvolles Undo und Redo beherrschen.
Der Status der Entwicklung kann in Gitlab eingesehen werden, inklusive offener Fehler, Fehlerbehebungen und Verbesserungen.

## Funktionsumfang
### Überblick

Die Bearbeitungsfunktionen sind über Werkzeugleisten, Menüs und dauerhaft eingeblendete Paletten (in GIMP „Dialog“ genannt) zu erreichen. Diese enthalten sogenannte Filter für grafische Effekte, zudem Pinsel sowie Umwandlungs-, Auswahl-, Ebenen- und Maskierungsfunktionen. Zum Standardumfang gehören eine Reihe von Pinseln, zudem sind alle bezüglich Kantenschärfe und Deckung einstellbar. Weitere können als Plugin installiert oder selbst erstellt werden, auch Photoshop-Pinsel können genutzt werden. Der Standardumfang von GIMP kann mit Erweiterungen und weiteren Pinseln von Drittanbietern erweitert werden. Weiterhin hat Gimp eine druckempfindliche Sprühdose (für Grafiktabletts). GIMP unterstützt mehr als dreißig Dateiformate.
Ab Version 2.10 werden mehrere Prozessorkerne (zurzeit max. 64 Threads) unterstützt. Außerdem wird auch die GPU für die Berechnungen herangezogen, dafür haben die Entwickler OpenCL integriert, auf die GEGL zugreifen kann. Die Wirkung von Filtern wird ab Version 2.10 nicht mehr in einem kleinen Vorschaubild im Filterfenster gezeigt, sondern ist live im Hauptfenster zu sehen.

### Farbunterstützung

GIMP hat Farbpaletten für RGB, HSV, CMYK, ein Farbrad sowie Funktionen, um Farben aus einem Bild zu entnehmen (Pipette). Auch wenn das Programm eine CMYK-Palette anbietet, arbeitet es immer in RGB mit einer Farbtiefe bis 32 Bit (Ganzzahl oder Gleitkomma). Intern arbeiten alle auf GEGL portierten Funktionen mit 32 Bit Gleitkommazahlen. Durch die Umstellung auf GEGL sind mit CMYK und Lab die Unterstützung weiterer Farbräume geplant.

### Auswahl- und Maskierungsfunktionen

GIMP besitzt Auswahlfunktionen für rechteckige, runde und freiförmige Bereiche sowie nach Farbe und nach starken Farbkanten. Daneben kennt das Programm Ebenen, die sich ausblenden oder in der Deckung verändern lassen. Auch eine direkte Beeinflussung der einzelnen Farbkanäle ist möglich.

### Automatisierte Bildbearbeitung durch Skripte

Nahezu alle Vorgänge in GIMP können durch sogenannte GIMP-Skripte automatisiert werden. Diese Art von Programmen kann durch den eingebauten Scheme-Interpreter (Skript-Fu) sowie über eine externe Anbindung von Perl, Python oder Tcl verarbeitet werden. Die Unterstützung von in Ruby geschriebenen GIMP-Skripten befindet sich noch in einem experimentellen Stadium. Makros können daher mit den oben genannten Programmiersprachen erstellt werden, entsprechende Schnittstellen bzw. Bindings sind vorhanden. Auf diese Weise erstellte Skripte und Plug-ins für GIMP können interaktiv sowie im Batch-Modus ausgeführt werden, das heißt ohne Interaktion eines Benutzers. Wiederkehrende (auch komplexe) Bildbearbeitungsvorgänge können so automatisiert werden. Grafiken für eine Webseite können beispielsweise direkt über CGI-Skripte erzeugt werden, man kann bei einer großen Anzahl an Bilddateien eine Farbkorrektur vornehmen oder das Grafikformat ändern. Hinweise zur Verwendung solcher Skripte finden sich im GIMP-Wikibook.

### GimpML

GimpML ist ein Plugin für Filter mit Maschinellem Lernen für GIMP 2.10. Bei Nvidia-Grafikkarten wird die Technologie CUDA genutzt. Dazu steht auch eine Entwicklungsversion für GIMP 2.99.6 zur Verfügung.

## Eingestellte Derivate und Modifikationen

Um den Umstieg für Benutzer von Adobe Photoshop zu erleichtern, gab es die inzwischen eingestellten Projekte GimpPs und PhotoGIMP. Bei beiden Projekten wurde die Benutzeroberfläche so umgebaut, dass sie Photoshop ähnlicher ist. Außerdem werden einige Shortcuts angeglichen.

### CinePaint

CinePaint (früher Film Gimp) ist ein professioneller Ableger von GIMP, der sich durch größere Farbtiefen und ein Farbmanagement auszeichnet. Diese Version wird in der Filmindustrie verwendet und hat dort die eingestellte IRIX-Version von Adobe Photoshop ersetzt.

### GIMPshop (eingestellt)

GIMPshop ist eine Modifikation von GIMP, die v. a. in Erscheinungsbild und Bedienung Adobe Photoshop angeglichen ist. Der ursprüngliche Entwickler Scott Moschella wollte damit langjährigen Nutzern des kommerziellen Photoshops den Umstieg erleichtern. Die Entwicklung ist seit 2006 und der Version 2.2.11 (auf GIMP 2.2.11 bezogen) ausgesetzt. Zuletzt wurde die Version 2.8 freigegeben (vorerst nur für Windows und macOS). Unter der ursprünglichen Downloadadresse wird mittlerweile Malware verbreitet. Einer der Hauptansatzpunkte von GIMPshop wurde zwischenzeitlich in Form des „Ein-Fenster-Modus“ in die Hauptversion von Gimp übernommen.

### GimPhoto (eingestellt)

In der Tradition von GIMPshop steht GimPhoto, das ebenfalls mit einer Photoshop-ähnlicheren Bedienung aufwartete und über die kleine Anwendung GimPad noch mehr an individuelle Bedürfnisse im Erscheinungsbild angepasst werden konnte. Die letzte Version von GimPhoto 24.1 (Windows und Linux) und 26.1 (macOS) wurden 2014 veröffentlicht.

### Glimpse (eingestellt)

Glimpse ist ein GIMP-Ableger, der 2019 – nach einer einmonatigen Diskussion auf GitLab – ins Leben gerufen wurde. Grund dafür war der Name GIMP gewesen; „gimp“ beschreibt im Englischen auch einen Krüppel oder eine Ganzkörper-Latexkleidung, die bei BDSM-Spielen verwendet wird. Die Upstream-Bibliothek von Gimp sollte auch für Glimpse weiterhin genutzt werden, allerdings wollte das Team neben dem Namen auch die Oberfläche ändern.
Am 23. Mai 2021 wurde das Projekt eingestellt, nachdem der Entwickler Bobby Moss, der das Projekt zusammen mit Christopher Davis und Clipsey leitete, seinen Rücktritt bekanntgab.