FOSS v proprietary software: image editing

To do a professional job, you need professional-level tools. With software, that generally means proprietary applications, which tend to be expensive. Free and open-source software is available for a wide range of tasks — but does it have the capability and support to offer a realistic alternative? We start with a look at Photoshop and GIMP.
Written by Terry Relph-Knight, Contributor

Given the price of 'industry standard' proprietary software from Adobe, Microsoft and other vendors, it's no surprise that people often look to free and open-source software (FOSS) for a cost-effective alternative. Many professionals have no choice but to pay the asking price for proprietary software, but it's always worth keeping an eye on the evolving capabilities of the FOSS equivalents.

This article, the first in a series looking at content creation and business productivity applications, examines Adobe's Photoshop and GIMP (GNU Image Manipulation Program) — bitmap image editing applications with their roots in photographic processing and retouching. Photoshop has grown over the years into a family of proprietary products, while GIMP is the best known of the FOSS bitmap editors. Our last look at the two programs was in the summer of 2007.

Photoshop's background
Photoshop is a proprietary product that runs on Windows and Mac operating systems. Originally named Display and then ImagePro, Photoshop 1.0 was released by Adobe in 1990 as a Mac-only application, with the first Windows version (2.5) following in 1992. Photoshop 8 was rebranded as Photoshop CS (Creative Suite) in 2003, and the current product is Photoshop CS5 — the About splash identifies this release as version 12.1. Standalone, Photoshop CS5 costs £548 (ex. VAT) full price, £159 to upgrade from a previous version, or as a subscription for £27.80 a month. Prices (ex. VAT) for the Extended version of Photoshop CS5 are £794 (full), £298 (upgrade) and £39.82 a month (subscription).

Photoshop is currently available as a family of five products: the aforementioned Photoshop CS5 and Photoshop CS5 Extended, plus Photoshop Lightroom 4, Photoshop Elements 10 and Photoshop Elements 10 & Premiere Elements 10. There are also six associated products for the iPad and mobile devices: Color Lava, Eazel and Nav (all for Photoshop CS5), Photoshop Express, Photoshop Touch and Adobe Revel (formerly Carousel). Photoshop CS5.1 Extended (a.k.a. version 12.1) was used for the purposes of this comparison.

GIMP's background
GNU Image Manipulation Program, or GIMP, began life in 1996 when two U.C. Berkeley students, Spencer Kimball and Peter Mattis, wrote an image manipulation program for their computer science course. The now-famous Linux penguin logo, Tux, was created by Larry Ewing using the first public release of GIMP (0.54), and version 1.0 was released in 1998. GIMP is currently in development version 2.7.4, on the way to version 2.8, while the stable release is version 2.6. Stable release versions in GIMP are not contiguous — the next stable version will be 2.8. GIMP is free.

Although GIMP is not parcelled up or tied in to a raft of other products in the same way that Photoshop is, there are a number of derived applications, including Gimphoto and GIMPshop, both of which rearrange the interface to more closely resemble that of Photoshop. Gimphoto is based on a more recent version of GIMP than GIMPshop.

GIMP runs on a broader range of platforms than Photoshop, including Linux, FreeBSD, Open Solaris, Windows and Mac OS X. It ships with many Linux distributions.

Photoshop and GIMP desktops


The Photoshop CS5 desktop


The GIMP 2.6 desktop

There is some broad user interface commonality between the two applications — as you'd expect from two applications designed to perform very similar tasks. However, dig beneath these superficial similarities and the two UIs diverge quite bit.

Both applications have an upper menu bar with drop-down cascading menus, although Photoshop uses up more screen real-estate, often showing up to three upper menus. Both programs have an image display area, a toolbar or toolbox and tool dialogues.

Photoshop toolbar, dialogues and docking behaviour
Tools in Photoshop are organised in a vertical bar which, by default, is docked to the left edge of the desktop workspace. Values for the selected tool appear in a second horizontal bar below the upper menu bar. Tabbed dialogue boxes are, by default, docked to the right edge of the Photoshop workspace. The layout and options for these boxes change according to the workspace selected from the right-hand end of the upper menu bar.

The available workspace choices include; Essentials, Design, Painting, Photography, 3D, Motion and New in CS5. For example, choosing the Painting workspace brings colour Swatches to the front, opens Brush Presets and leaves the Layers tab as it was for Essentials.

The toolbar and dialogues can be undocked by clicking and dragging on a dark grey bar at their very top. Dragging, holding and then releasing the toolbar or a dialogue against the workspace edges will redock it. Docking both against one edge will 'raft' the toolbar and dialogues together. Unlike GIMP (see below), even when undocked with the unmaximised workspace, toolbar and dialogues floating on the OS desktop, minimising the Photoshop workspace minimises all the components.

New features in Photoshop CS5
The Content-Aware Fill allows you to select a foreground area in an image (using the quick selection tool, for example), delete that area and then automatically fill the gap with an extrapolated version of the background. Selection of complex image details such as hair, has been refined. The new Repoussé tool makes it easy to produce 3D logos, while the High Dynamic Range feature lets you merge a range of exposures to create an HDR image.

GIMP toolbox, dialogues and docking behaviour
GIMP normally opens with the editing area maximised and with the toolbox and dialogues on top. However, these elements are free floating, which is particularly annoying if you expect the toolbox and dialogues to minimise when the editing area is minimised. Dialogues for each tool may be docked, opened and closed.

Most dialogues in GIMP are dockable and can be docked together to form a dialogue 'raft' that can be dragged as one entity. Clicking and dragging next to the dialogue title spawns a small box labelled with the title of the parent dialogue. Dragging and dropping this onto the narrow docking bars at the top and bottom of each dialogue will dock the dragged dialogue on the target dialogue. By default, the toolbox dock area shows the dialogue related to the currently selected tool, although this can be undocked, leaving this area empty.

Basic image editing tasks
A number of basic image-editing tasks are performed frequently, including resizing, cropping, white balance or colour balance adjustments, resolution changes and image compositing. Although the mechanics may differ, both Photoshop and GIMP cope well with these core tasks and there isn't room to describe and compare these in detail here.

Format conversion
Each application has its native file format — PhotoShop Document (PSD) for Photoshop and eXperimental Computing Facility (XCF) for GIMP — and can also save and convert to a range of other formats. Photoshop handles 42 formats while GIMP supports considerably more than that number. GIMP can open and save PSD files, but Photoshop does not return the compliment by supporting the XCF format.

Photoshop has long had a very useful save function — Save for Web & Devices. This tool is particularly helpful because it offers a '4-up' view of the same image at different resolutions, making it easier to choose the best compromise between image quality and file size.


The Save for Web & Devices dialogue in Photoshop CS5, showing a '4-up' comparison of compression versus image quality

Back in 2008, Aurimas Juška wrote a Save for Web plug-in as a Google Summer of Code project. The current version of GIMP has added that option to the File menu, although it doesn't offer as comprehensive a range of features as the corresponding Photoshop option.


The Save for Web file option in GIMP 2.6

Filters, plug-ins and advanced editing
Over the years GIMP has acquired a large number of plug-ins and extensions that help to close the functionality gap on Photoshop. The current version of GIMP now has FX-Foundry and Script-Fu plug-ins appearing as choices on the upper menu bar. The GIMP Animation Package (GAP) that allows the creation of animated avatars, GIFs and even more sophisticated animations is not installed by default — but in Ubuntu, for example, it's available via the Software Manager.

More plug-ins can be found through the GIMP Plugin Registry, which hosts a large and ever-growing collection created by GIMP users.

New plug-ins can also be written for Photoshop using the licenced Adobe SDK. Extra plug-ins are available from a number of web sites, including The Plugin Site, for example.

Editing RAW image files
In Photoshop, opening a RAW camera file will automatically launch the Camera Raw plug-in, where the RAW image can be preprocessed before editing. There are also RAW plug-ins for GIMP, among the most popular of which is UFRaw, which can also operate as a standalone application. UFRaw requires a separate install as it's not included by default with GIMP.

3D support
Photoshop CS5 (Extended version only) includes a 3D option (3D here refers to depth represented in 2D through the use of perspective) on the upper menu bar that makes it easy to add stretched perspective to flat 2D images, or to wrap images around simple 3D shapes. Although it's possible to achieve 3D effects in GIMP, there's no explicit support for 3D.

Batches and scripts
Batch mode in GIMP involves either running scripts from the command line or using David's Batch Processor (Filters / Batch / Batch Process), an interactive GUI that allows easy setup for a number of automated processes on a group of image files. Photoshop has entries for Automate and Scripts in the File menu, which also allows selection from a number of programmed actions.


One of Photoshop's automation tools, the Image Processor script selection, facilitates the resizing and outputting of images in a number of different formats


GIMP's batch processor automates the resizing of a group of image files

It might seem odd to create animations using applications that are essentially static-frame bitmap editors, but animations are, after all, created from a sequence of still frames. Both Photoshop and GIMP can be used for animation — Photoshop through the Motion menu choice and GIMP via the GIMP Animation Package or GAP.

Version 2.6 is an important release in GIMP's development because it addresses changes to the UI in response to some frequent criticisms, and marks the introduction of GEGL (Generic Graphics Library). GEGL will eventually bring high bit-depth and non-destructive editing to GIMP, although the Help browser notes that in version 2.6 GEGL is still experimental and that its use may result in GIMP crashing. Initiated in 2000, GEGL is an image processing library based on the directed acyclic graph model.

Colour depth: a show-stopper for GIMP?
Colour images frequently use 8 bits per channel (bpc), but Photoshop CS5 supports editing with 8, 16 or 32bpc. GIMP currently only supports 8bpc, and this can be regarded as a 'show stopper' for GIMP as far as professional image-editing is concerned. GEGL will help, but full high bit-depth support is not expected to appear until the release of GIMP 3.0.

Even in Photoshop, some filters are limited to 8bpc, although for effects such as Poster Edges this may not matter. Switch from 8bpc to 16bpc mode (Image menu / Mode) in Photoshop and half of the Filter options will be greyed out — including Artistic and Texture, for example. Some Image Adjustments (and CMYK mode) will also be greyed out when switching to 32bpc mode.

Colour management, CMYK, colour blindness etc.
Photoshop has long supported a full colour-managed workflow. By default it uses the Adobe Color Engine (ACE) as the basis for its colour transforms, and supports CMYK for the preparation of separation files for commercial press printing. CMYK images can be imported into Photoshop, images can be edited in CMYK mode (Image menu / Mode / CMYK Color) and viewed as separations. The View menu even has an option for simulating two types of colour blindness.


Colour management settings in Photoshop CS5 (Edit / Color settings)


Colour management settings in GIMP 2.6 (Edit / Preferences)

Photoshop's View / Proof Setup option soft-proofs CMYK print plates one at a time as monochrome positives, and the CMY plates all together as positive colour (less the black plate).


A Photoshop CS5 soft proof of the Yellow plate for a CMYK separation

The Separate + plug-in has now been added to the default GIMP install, and can be used to perform CMYK separations. It appears at the bottom of the Image menu. Separations will appear as four layers — C,M,Y and K — in the Layers dialogue and can be viewed as a composite of the four print plate monochrome negatives.



The GIMP menu selection to generate CMYK separations (top) and the four resulting separation layers as monochrome print plate negatives (bottom)

Photoshop or GIMP?
Adobe Photoshop is well established and virtually the de facto standard bitmap editor for photographers, designers and art editors. It's a family of products with many slick features and has a mass of resources and support behind it from Adobe and other third parties. However, it's expensive and doesn't run on Linux.
GIMP, by contrast, is free and does run on Linux — as well as a number of other operating systems. However, it has not yet reached the same level of sophistication as Photoshop and its limited bit depth could well rule it out completely as a choice for professional photographers. Development is slow and support limited to the help system, user guide and web resources. Photographers who do use GIMP might want to look at other useful FOSS programs, such as darktable, a digital photography workflow tool for Linux, and Hugin, a panorama stitching application.

My thanks to Marti Maria Saguer for help on the Little CMS and colour management in Linux.
An article by Pascal de Bruijn of the darktable dev team on Colour Management in Linux.

Editorial standards