GIMP


GIMP is a free and open-source raster graphics editor used for image manipulation and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks.
GIMP is released under GPLv3+ license and is available for Linux, macOS, and Microsoft Windows.

History

In 1995 Spencer Kimball and Peter Mattis began developing GIMP as a semester-long project at the University of California, Berkeley for the eXperimental Computing Facility; they named it the General Image Manipulation Program. The acronym was coined first, with the letter G being added to "IMP" as a reference to "the gimp" in a scene in the 1994 film Pulp Fiction. In 1996 GIMP was released as the first publicly available release. In the following year Kimball and Mattis met with Richard Stallman of the GNU Project while he visited UC Berkeley and asked if they could change General in the application's name to GNU, and Stallman approved. The application subsequently formed part of the GNU software collection.
The number of computer architectures and operating systems supported has expanded significantly since its first release. The first release supported UNIX systems, such as Linux, SGI IRIX and HP-UX. Since the initial release, GIMP has been ported to many operating systems, including Microsoft Windows and macOS; the original port to the Windows 32-bit platform was started by Finnish programmer Tor M. Lillqvist in 1997 and was supported in the GIMP 1.1 release.
Following the first release, GIMP was quickly adopted and a community of contributors formed. The community began developing tutorials, artwork and shared better work-flows and techniques.
A GUI toolkit called GTK was developed to facilitate the development of GIMP. GTK was replaced by its successor GTK+ after being redesigned using object-oriented programming techniques. The development of GTK+ has been attributed to Peter Mattis becoming disenchanted with the Motif toolkit GIMP originally used; Motif was used up until GIMP 0.60.

Versions

GIMP 0.54

GIMP 0.54 was released in January 1996. It required X11 displays, an X-server that supported the X shared memory extension and Motif 1.2 widgets. It supported 8, 15, 16 and 24-bit color depths, dithering for 8-bit displays and could view images as RGB color, grayscale or indexed color. It could simultaneously edit multiple images, zoom and pan in real-time, and supported GIF, JPEG, PNG, TIFF and XPM images.
At this early stage of development GIMP could select regions using rectangle, ellipse, free, fuzzy, bezier, and intelligent selection tools, and rotate, scale, shear and flip images. It had bucket, brush and airbrush painting tools, and could clone, convolve, and blend images. It had text tools, effects filters, and channel and color operations. The plugin system allowed for addition of new file formats and new effect filters. It supported multiple undo and redo operations.
It ran on Linux 1.2.13, Solaris 2.4, HP-UX 9.05, and SGI IRIX operating systems. It was rapidly adopted by users,
who created tutorials, displayed artwork and shared techniques. An early success for GIMP was the Linux penguin Tux, as drawn by Larry Ewing using GIMP 0.54. By 5 July 1996 the volume of messages posted to the mailing list had risen and the mailing list was split into two lists, gimp-developer and gimp-user. Currently, user questions are directed to the gimpnet IRC channel.

GIMP 0.60

GIMP 0.60 was released on 6 June 1997 using the GNU General Public License.
According to the release notes, Peter Mattis was working for Hewlett-Packard and Spencer Kimball was working as a Java programmer.
GIMP 0.60 no longer depended on the Motif toolkit. Improvements had been made to the painting tools, airbrush, channel operations, palettes, blend tool modes, image panning and transformation tools. The editing work flow was improved by enabling rulers, cutting and pasting between all image types, cloning between all image types and ongoing development of a layers dialog.
New tools included new brushes, grayscale and RGB transparency, "bucket fill" patterns and a pattern selection dialog, integrated paint modes, border, feather and color selectors, a pencil and eraser paint tool, gamma adjustments and a limited layer move tool.
The new widgets were managed by Peter Mattis and were called GTK for GIMP toolkit and GDK for GIMP drawing kit.
Sometime in 1998, after a few humorous suggestions of a gimp compile on Microsoft Windows, Tor Lilqvist began the effort of the initial port of GIMP for Windows. At the time it was considered a code fork. It would later be merged into the main development tree. Support was, and continues to be, offered through a yahoogroups email list.

GIMP 0.99

The biggest change in the GIMP 0.99 release was in the GIMP toolkit. GTK was redesigned to be object oriented and renamed from GTK to GTK+. The pace of development slowed when Spencer Kimball and Peter Mattis found employment.

GIMP 1.0

GIMP 1.0.0 was released on 2 June 1998.
GIMP and GTK+ split into separate projects during the GIMP 1.0 release. GIMP 1.0 included a new tile-based memory management system, which enabled editing of larger images, and a change in the plug-in API allowed scripts to be safely called from other scripts and to be self documenting. GIMP 1.0 also introduced a native file format with support for layers, guides and selections.
An official website was constructed for GIMP during the 1.0 series, designed by Adrian Likins and Jens Lautenbacher, now found at which provided introductory tutorials and additional resources. On 13 April 1997, GIMP News was started by Zach Beane, a site that announced plug-ins, tutorials and articles written about GIMP. May 1997, Seth Burgess started GIMP Bugs, the first 'electronic bug list'.
Marc Lehmann developed a perl programming plug-in. Web interfaces were possible with the GIMP 1.0 series, and GIMP Net-fu
can still be used for online graphics generation.

GIMP 1.1

The GIMP 1.1 series focused on fixing bugs and improving the port to Windows. No official release occurred during this series. Following this the odd numbered series of GIMP releases were considered unstable development releases and even numbered releases were considered stable releases. By this time, GTK+ had become a significant project and many of GIMP's original developers turned to GTK+ development. These included Owen Taylor,
Federico Mena, Tim Janik, Shawn Amundson and others. GNOME also attracted GIMP developers. The primary GIMP developers during this period were Manish Singh, Michael Natterer
Sven Neumann
and Tor Lillqvist
who primarily fixed issues so that GIMP could run on Win32.

GIMP 1.2

GIMP 1.2.0 was released on 25 December 2000. GIMP 1.2 had a new development team of Manish Singh, Sven Neumann and Michael Natterer and others. GIMP 1.2 offered internationalization options, improved installation dialogs, many bug fixes, overhauled plug-ins, reduced memory leaks and reorganized menus.
New plug-ins included GIMPressionist and Sphere Designer by Vidar Madsen; Image Map by Maurits Rijk;
GFlare by Eiichi Takamori; Warp by John P. Beale, Stephen Robert Norris and Federico Mena Quintero; and Sample Colorize and Curve Bend by Wolfgang Hofer. New tools included a new path tool, a new airbrush tool, a resizable toolbox, enhanced pressure support, a measure tool, dodge, burn and smudge tools. New functionality included image pipes, jpeg save preview, a new image navigation window, scaled brush previews, selection to path, drag'n'drop, quickmask, a help browser, tear-off menus and the waterselect plug-in was integrated into the color-selector.
The 1.2 series was the final GIMP 1 series.

GIMP 2.0

GIMP 2.0.0 was released on 23 March 2004. The biggest visible change was the transition to the GTK+ 2.x toolkit.

GIMP 2.2

Among the major changes in GIMP 2.2 are:
Major revisions in interface and tools were made available with the GIMP 2.4.0 release on 24 October 2007. Rewritten selection tools, use of the Tango style guidelines for a polished UI on all platforms, a foreground selection tool, and support for the ABR brush filetype along with the ability to resize brushes were some of the many updates.

GIMP 2.6

More major revisions in interface and tools were made available with the 2.6.0 release on 1 October 2008. There were large changes in the UI, free select tool and brush tools, and lesser changes in the code base. Also, partial tool level integration of GEGL was enacted that is supposed to lead to higher color depths as well as non-destructive editing in future versions.
Starting from the first bugfix version, GIMP 2.6.1, "The Utility Window Hint", that enforced MDI behavior on Microsoft Windows, as opposed to only being supported in GNOME.

GIMP 2.8

GIMP 2.8 was released on 3 May 2012 with several revisions to the user interface. These include a redesigned save/export menu that aims to reinforce the idea that information is lost when exporting. The text tool was also redesigned so that a user edits text on canvas instead of in a separate dialog window. This feature was one of the Google Summer of Code projects from 2006.
GIMP 2.8 also features layer groups, simple math in size entry fields, JPEG2000 support, PDF export, a webpage screenshot utility, and a single-window mode.
GEGL has also received its first stable release, where the Application Programming Interface is considered mostly stable; GEGL has continued to be integrated into GIMP, now handling layer projection, this is a major step forward into full integration of GEGL that will allow GIMP to have better non-destructive work-flows in future releases. GEGL 0.2.0 is integrated into 2.8.xx.

GIMP 2.10

GIMP 2.10.0 was released on 27 April 2018.
The team allowed for new features to enter stable releases:
GIMP 3.0 will be the first release ported to GTK3. It had been developed in parallel to 2.9, but with low priority until the release of 2.10. Cleaning of code is now one of the focus areas of development. Version 2.99.2 will be the first public development version of 3.0 and is likely to be available in 2020.

GIMP 3.2

Non-destructive editing is the main focus in this future version.

Development

GIMP is primarily developed by volunteers as a free and open source software project associated with both the GNU and GNOME projects. Development takes place in a public git source code repository, on public mailing lists and in public chat channels on the GIMPNET IRC network.
New features are held in public separate source code branches and merged into the main branch when the GIMP team is sure they won't damage existing functions. Sometimes this means that features that appear complete do not get merged or take months or years before they become available in GIMP.
GIMP itself is released as source code. After a source code release installers and packages are made for different operating systems by parties who might not be in contact with the maintainers of GIMP.
The version number used in GIMP is expressed in a major-minor-micro format, with each number carrying a specific meaning: the first number is incremented only for major developments. The second number is incremented with each release of new features, with odd numbers reserved for in-progress development versions and even numbers assigned to stable releases; the third number is incremented before and after each release with any bug fixes subsequently applied and released for a stable version.
Each year GIMP applies for several positions in the Google Summer of Code ; to date GIMP has participated in all years except 2007. From 2006 to 2009 there have been nine GSoC projects that have been listed as successful, although not all successful projects have been merged into GIMP immediately. The healing brush and perspective clone tools and Ruby bindings were created as part of the 2006 GSoC and can be used in version 2.8.0 of GIMP, although there were three other projects that were completed and are later available in a stable version of GIMP; those projects being Vector Layers, and a JPEG 2000 plug-in.
Several of the GSoC projects were completed in 2008, but have been merged into a stable GIMP release later in 2009 to 2014 for Version 2.8.xx and 2.9.x. Some of them needed some more code work for the master tree.
Second public Development 2.9-Version was 2.9.4 with many deep improvements after initial Public Version 2.9.2. Third Public 2.9-Development version is Version 2.9.6. One of the new features is removing the 4GB size limit of XCF file.
Increase of possible threads to 64 is also an important point for modern parallel execution in actual AMD Ryzen and Intel Xeon processors. Version 2.9.8 included many bug fixes and improvements in gradients and clips. Improvements in performance and optimization beyond bug hunting were the development targets for 2.10.0. MacOS Beta is available with Version 2.10.4
The next stable version in the roadmap is 3.0 with a GTK3 port.

User interface

The user interface of GIMP is designed by a dedicated design and usability team. This team was formed after the developers of GIMP signed up to join the OpenUsability project. A user-interface brainstorming group has since been created for GIMP, where users of GIMP can send in their suggestions as to how they think the GIMP user interface could be improved.
GIMP is presented in two forms, single and multiple window mode; GIMP 2.8 defaults to the multiple-window mode. In multiple-window mode a set of windows contains all GIMP's functionality. By default, tools and tool settings are on the left and other dialogues are on the right. A layers tab is often to the right of the tools tab, and allows a user to work individually on separate image layers. Layers can be edited by right-clicking on a particular layer to bring up edit options for that layer. The tools tab and layers tab are the most common dockable tabs.

Libre Graphics Meetings

The Libre Graphics Meeting is a yearly event where developers of GIMP and other projects meet up to discuss issues related to free and open-source graphics software. The GIMP developers hold birds of a feather sessions at this event.

Distribution

The current version of GIMP works with numerous operating systems, including Linux, macOS and Microsoft Windows. Many Linux distributions include GIMP as a part of their desktop operating systems, including Fedora and Debian.
The GIMP website links to binary installers compiled by Jernej Simončič for the platform. MacPorts was listed as the recommended provider of Mac builds of GIMP, but this is no longer needed as version 2.8.2 and later run natively on macOS. GTK+ was originally designed to run on an X11 server. Because macOS can optionally use an X11 server, porting GIMP to macOS is simpler compared to creating a Windows port. GIMP is also available as part of the Ubuntu noroot package from the Google Play Store on Android. In November 2013, GIMP removed its download from SourceForge, citing misleading download buttons that potentially confuse customers, as well as SourceForge's own Windows installer, which bundles potentially unwanted programs. In a statement, GIMP called SourceForge a once "useful and trustworthy place to develop and host FLOSS applications" that now faces "a problem with the ads they allow on their sites ..."

Professional reviews

reviewed GIMP favorably in March 2019, writing that "or those who have never experienced Photoshop, GIMP is simply a very powerful image manipulation program," and "f you're willing to invest some time learning it, it can be a very good graphics tool."
GIMP's fitness for use in professional environments is regularly reviewed; it is often compared to and suggested as a possible replacement for Adobe Photoshop. GIMP has similar functionality to Photoshop, but has a different user interface.
GIMP 2.6 was used to create nearly all of the art in Lucas the Game, an independent video game by developer Timothy Courtney. Courtney started development of Lucas the Game in early 2014, and the video game was published in July 2015 for PC and Mac. Courtney explains GIMP is a powerful tool, fully capable of large professional projects, such as video games.
The single-window mode introduced in GIMP 2.8 was reviewed in 2012 by Ryan Paul of Ars Technica, who noted that it made the user experience feel "more streamlined and less cluttered". Michael Burns, writing for Macworld in 2014, described the single-window interface of GIMP 2.8.10 as a "big improvement".
In his review of GIMP for ExtremeTech in October 2013, David Cardinal noted that GIMP's reputation of being hard to use and lacking features has "changed dramatically over the last couple years", and that it was "no longer a crippled alternative to Photoshop". He described GIMP's scripting as one of its strengths, but also remarked that some of Photoshop's features such as Text, 3D commands, Adjustment Layers and History are either less powerful or missing in GIMP. Cardinal favorably described the UFRaw converter for raw images used with GIMP, noting that it still "requires some patience to figure out how to use those more advanced capabilities". Cardinal stated that GIMP is "easy enough to try" despite not having as well developed documentation and help system as those for Photoshop, concluding that it "has become a worthy alternative to Photoshop for anyone on a budget who doesn't need all of Photoshop's vast feature set".

Mascot

Wilber is the official GIMP mascot. Wilber has relevance outside of GIMP as a racer in SuperTuxKart and was displayed on the Bibliothèque nationale de France as part of Project Blinkenlights.
Wilber was created at some time before 25 September 1997 by Tuomas Kuosmanen and has since received additional accessories and a construction kit to ease the process.

Features

Tools used to perform image editing can be accessed via the toolbox, through menus and dialogue windows. They include filters and brushes, as well as transformation, selection, layer and masking tools.

Color

There are several ways of selecting colors, including palettes, color choosers and using an eyedropper tool to select a colour on the canvas. The built-in color choosers include RGB/HSV selector or scales, water-color selector, CMYK selector and a color-wheel selector. Colors can also be selected using hexadecimal color codes as used in HTML color selection. GIMP has native support for indexed colour and RGB color spaces; other color spaces are supported using decomposition where each channel of the new color space becomes a black-and-white image. CMYK, LAB and HSV are supported this way. Color blending can be achieved using the Blend tool, by applying a gradient to the surface of an image and using GIMP's color modes. Gradients are also integrated into tools such as the brush tool, when the user paints this way the output color slowly changes. There are a number of default gradients included with GIMP; a user can also create custom gradients with tools provided. Gradient plug-ins are also available.

Selections and paths

GIMP selection tools include a rectangular and circular selection tool, free select tool, and fuzzy select tool. More advanced selection tools include the select by color tool for selecting contiguous regions of color—and the scissors select tool, which creates selections semi-automatically between areas of highly contrasting colors. GIMP also supports a quick mask mode where a user can use a brush to paint the area of a selection. Visibly this looks like a red colored overlay being added or removed. The foreground select tool is an implementation of Simple Interactive Object Extraction a method used to perform the extraction of foreground elements, such as a person or a tree in focus. The Paths Tool allows a user to create vectors. Users can use paths to create complex selections, including around natural curves. They can paint the paths with brushes, patterns, or various line styles. Users can name and save paths for reuse.

Image editing

There are many tools that can be used for editing images in GIMP. The more common tools include a paint brush, pencil, airbrush, eraser and ink tools used to create new or blended pixels. The Bucket Fill tool can be used to fill a selection with a color or pattern. The Blend tool can be used to fill a selection with a color gradient. These color transitions can be applied to large regions or smaller custom path selections.
GIMP also provides "smart" tools that use a more complex algorithm to do things that otherwise would be time-consuming or impossible. These include:

Layers, layer masks and channels

An image being edited in GIMP can consist of many layers in a stack. The user manual suggests that "A good way to visualize a GIMP image is as a stack of transparencies," where in GIMP terminology, each level is called a layer. Each layer in an image is made up of several channels. In an RGB image, there are normally 3 or 4 channels, each consisting of a red, green and blue channel. Color sublayers look like slightly different gray images, but when put together they make a complete image. The fourth channel that may be part of a layer is the alpha channel. This channel measures opacity where a whole or part of an image can be completely visible, partially visible or invisible. Each layer has a layer mode that can be set to change the colors in the image.
Text layers can be created using the text tool, allowing a user to write on an image. Text layers can be transformed in several ways, such as converting them to a path or selection.
using Mathmap plug-in

Automation, scripts and plug-ins

GIMP has approximately 150 standard effects and filters, including Drop Shadow, Blur, Motion Blur and Noise.
GIMP operations can be automated with scripting languages. The Script-Fu is a Scheme-based language implemented using a TinyScheme interpreter built into GIMP. GIMP can also be scripted in Perl, Python, or Tcl, using interpreters external to GIMP. New features can be added to GIMP not only by changing program code, but also by creating plug-ins. These are external programs that are executed and controlled by the main GIMP program. MathMap is an example of a plug-in written in C.
There is support for several methods of sharpening and blurring images, including the blur and sharpen tool. The unsharp mask tool is used to sharpen an image selectively — it sharpens only those areas of an image that are sufficiently detailed. The Unsharp Mask tool is considered to give more targeted results for photographs than a normal sharpening filter. The Selective Gaussian Blur tool works in a similar way, except it blurs areas of an image with little detail.

GEGL

The Generic Graphics Library was first introduced as part of GIMP on the 2.6 release of GIMP. This initial introduction does not yet exploit all of the capabilities of GEGL; as of the 2.6 release, GIMP can use GEGL to perform high bit-depth color operations; because of this less information is lost when performing color operations. When GEGL is fully integrated, GIMP will have a higher color bit depth and better non-destructive work-flow. GIMP 2.8.xx supports only 8-bit of color, which is much less than what e.g. digital cameras produce. Full support for high bit depth is included with GIMP 2.10. OpenCL enables hardware acceleration for some operations.

File formats

GIMP supports importing and exporting with a large number of different file formats, GIMP's native format XCF is designed to store all information GIMP can contain about an image; XCF is named after the eXperimental Computing Facility where GIMP was authored. Import and export capability can be extended to additional file formats by means of plug-ins. XCF file size is extended to more than 4 GB since 2.9.6 and new stable tree 2.10.x.
File formats
Import and exportGIMP has import and export support for image formats such as BMP, JPEG, PNG, GIF, TIFF and HEIF, along with the file formats of several other applications such as Autodesk flic animations, Corel PaintShop Pro images, and Adobe Photoshop documents. Other formats with read/write support include PostScript documents, X bitmap image, xwd, and Zsoft PCX. GIMP can also read and write path information from SVG files and read/write ICO Windows icon files.
Import onlyGIMP can import Adobe PDF documents and the raw image formats used by many digital cameras, but cannot save to these formats. An open source plug-in, UFRaw, adds full raw compatibility, and has been noted several times for being updated for new camera models more quickly than Adobe's UFRaw support.
Export onlyGIMP can export to MNG layered image files and HTML, C source code files and ASCII Art, though it cannot read these formats.

Forks and derivatives

Because of the free and open-source nature of GIMP, several forks, variants and derivatives of the computer program have been created to fit the needs of their creators. While GIMP is cross-platform, variants of GIMP may not be. These variants are neither hosted nor linked on the GIMP site. The GIMP site does not host GIMP builds for Windows or Unix-like operating systems either, although it does include a link to a Windows build.
Variants include:
;GIMP Animation Package
;GIMP-ML
;GIMP Paint Studio
;Resynthesizer
;G'MIC

About GIMP