Are you ever overwhelmed by the sheer numbers of open source software projects produced by the community? Even when looking at just a subset — such as graphics applications — if you are not already familiar with the options, the volume can make it hard to track down the application that fits your needs. The major categories tend to break down the same way, however — just a few major players; the large projects often catering to slightly different design goals, and a second set of smaller projects each of which has a smaller team and a more narrow focus.
Let’s examine each design field in turn. We’ll start by describing the leading program or programs in each, followed by the smaller or younger projects, and end with the special-purpose tools.
by Nathan Willis
Drawing, Painting, and Illustration
- Inkscape is the dominant player here, a full-featured SVG editor with wide support for object manipulation, styling, text rendering, scriptability and SVG image filters. Inkscape supports the largest set of drawing primitives and effects.
- sK1 is an up-and-coming vector editor also aiming to be a complete illustration program. It is a fork of an older vector editor called Skencil that is no longer in development. One of sK1′s biggest claims to fame is import support for a large set of third-party file formats.
- Xara LX was a commercial vector editor that was released in a mostly-open source version for Linux in 2006. The company did not continue to develop it, though, so it may be a risky choice.
- OpenOffice Draw is part of the OpenOffice.org office suite, geared more towards crafting business-style illustrations suitable for embedding in other office documents than it is towards providing a complete suite of drawing tools.
- Even more limited in scope are the Dia and Kivio editors, both of which are designed for the purpose of building structured diagrams, from flowcharts to business diagrams. Dia is a GNOME application, and Kivio is a KDE application.
- Finally, the Ipe editor is a specialty tool designed for creating figures to be embedded in PDF or PostScript documents. Alchemy is an experimental vector editor that focuses on out-of-the-box drawing techniques including voice control and randomization. Neither are general-purpose editors, but may be useful if you fit their particular niche.
- Gimp is the long-dominant FOSS raster image editor. It supports multi-layered documents, with multiple color models, a full set of adjustable image-editing tools for photo and painting work, filters, channel operations, text and path tools, masks, editable brushes and palettes. It is fully scriptable, and has a large selection of third-party plugins that extend its functionality.
- Krita is another powerful raster image editor. Like Gimp, it supports tools and operations for both photo-adjustment and painting, layered documents, and filters. Krita, however, puts more emphasis on painting and drawing, by supporting multiple “brush engines” that simulate different media, some natural-media-simulation tools, and color models designed to better model painting. There is less emphasis on scriptability and plugins.
- MyPaint is a newer project that focuses exclusively on painting with pressure-sensitive pen drawing tablets. It boasts a massive array of brush options, all of which have completely adjustable behavior. However, it intentionally does not incorporate selection and image manipulation tools, preferring to leave that task for other editors.
- Nathive is a newer image editor designed for ease-of-use and extensibility with Python. It does not have a feature-set as complete as Gimp or Krita, but it is supposed to score high marks on usability with a smooth learning curve.
- Other general-purpose raster editors include Gogh, which is designed to simulate natural-media sketching and painting, Pinta, which is designed to be simple-to-use, and Tux Paint, which is designed for easy use by kids.
- A full list of the special-purpose raster editors would be prohibitively long, but there are actively-developed tools for creating all sorts of raster-based images, such as photomosaics (e.g., Pixelize), fractals (e.g., Mandelbulber or Fractal Miner) or 3-D stereoscopic pictures (StereoPhoto Maker). Many more special-purpose image tools have been adapted from stand-alone programs into Gimp plugins for ease-of-use, such as the G’MIC image manipulator, Resynthesizer texture simulator, or Liquid Rescale “content-aware resizer.”
- Although you can edit TIFF or JPEG photos in Gimp or Krita, for direct-from-the-camera professional quality work, you need a raw image converter. The most well-known raw converter in the open source suite is UFRaw, which is available as a stand-alone app or as a Gimp importer for the supported raw image formats (.CR2, .NEF, etc.). it supports multiple demosaicing algorithms, exposure and white balance control, denoising, and batch processing.
- Rawstudio is a virtually equally-capable raw converter, also with support for demosaicing, denoising, sharpening, exposure- and color-correction. The differences are that UFRaw typically includes more options for functions such as demosaicing, where there are multiple mathematical methods available. Rawstudio, however, includes more image browsing and cataloging features.
- RawTherapee is a newer entrant into the open source raw conversion world. It used to be a closed-source program, but was released as open source last year. It offers most of the same feature set as UFRaw and Rawstudio.
- Free software does not have a dominant player in the photo-workflow application space. Many users prefer Digikam for photo management tasks; it supports EXIF, IPTC, and XMP metadata, geotagging, and is fully searchable. It also handles importing images from digital cameras.
- Two newer projects making big strides in this area are Darktable and Bluemarine. They have similar aims, enabling photographers to manage assignments and jobs, particularly to speed up processing of photos from a single shoot. Both are worth looking at, although at the moment Darktable is the more actively-developed.
- Hugin is an important photography correction tool. Although it is often classified as a “panorama creator,” that is just one of its features. It can indeed align, stitch, and blend multiple photos into a seamless extremely-wide-angle or even 360-degree panorama, but it can also perform perspective correction, correct chromatic aberration and lens distortion, perform architectural projections, and combine multiple images in a “focus stack.”
- Luminance HDR (which was formerly named Qtpfsgui) is a tool designed to perform “tone-mapping” — compositing multiple exposures of one high-dynamic-range (HDR) scene into a seamless single image. Luminance HDR permits the user to select from multiple tone-mapping algorithms as adjust all of the algorithmic parameters for a variety of effects.
- Phatch is a rapid photo-manipulation batch processor. With Phatch, you create formulas by dragging and dropping operations (resize, perspective, shadow, rotate, etc.) into a stack, then execute it on a folder full of images all at once. The result is a much faster technique for performing multiple editing tasks than any interactive editor.
Design and Typography
Desktop publishing (DTP)
- Scribus is far and away the leader in open source DTP. It produces print-ready output, including the pre-press PDF/X standards, color management, font embedding and subsetting, and supports almost every type of image content imaginable. The page-layout system supports master pages, scripting, plugins, and embedding of content rendered by other programs, such as TeX or EPS.
- LyX is often referred to as a DTP application, but it is perhaps better described as a document preparation system. It uses the TeX typesetting system, but with an interactive GUI front-end more familiar to word processor users. Still, it enables the creation of complex documents like only Tex, LaTeX, and BibTeX can.
- PDFedit is a tool designed for editing what would normally be a read-only file type, finished PDFs. PDFedit has a considerable learning curve, but can be very useful for working with legacy documents when nothing else will do.
- gLabels is a specialty application built specifically for laying out and printing sheets of labels, business cards, and other small-sized designs that typically rely on multiple-copies-per-page templates. It can be used to generate sheets of identical content, or to “mail merge” content from external documents.
- Laidout is a design tool created by an independent comic book publisher to handle placing and rearranging multiple pages on to large sheets of printer paper, even reordering pages and with support for folding-and-cutting requirements. The interface can be hard to learn, however, as the project tends to reflect the individual developer’s needs.
- Kompozer is an older web design tool with its roots in the Mozilla project — the code originated as an HTML editor in the Mozilla Suite before Firefox and Thunderbird were split off into separate projects. Like Bluefish, it is a mixed bag of design tools and code editing, and it does not receive as frequent updates as Bluefish.
- Fontmatrix is the leading font inspector and manager. It allows you to activate and deactivate fonts from your running system, search for specific glyphs, render sample text, and manage your font collection by type and by user-defined tags.
- FontForge is the leading font design and editing program. It can create TrueType, OpenType, and Type 1 fonts, with full control over features like kerning, hinting, and diacritics. You can edit existing fonts with FontForge, or create new fonts from scratch.
- Fonty Python is an older font manager than Fontmatrix, and although it does not seem to be as actively maintained, it is still a good tool, particularly if you have trouble with some of Fontmatrix’s bleeding-edge features.
- There are several special-purpose tools to assist the font designer, such as Glyphtracer, which simplifies converting raster images to the outline curves needed by FontForge, and Xgridfit, which helps create TrueType hints. Specimen is a lightweight tool for inspecting fonts with user-defined sample text.
- Finally, although it is not an app itself, the Open Font Library deserves mention in this category, because it is a large resource of fonts available under open licenses — meaning you have the legal right to alter and extend them, which is not the case with most commercially-purchased fonts.
Modeling and Animation
- Blender is the dominant 3-D modeling tool in open source, consisting of a full toolchain for producing professional-quality photo-realistic scenes. On the modeling side, it permits meshes, subdivision surface modelings, Bezier and NURBS, and 3-D sculpting and texturing (including UV unwrapping). It scriptable with Python, and for output can use a variety of shaders and renderers, complete with ray-tracing, ambient occlusion, subsurface scattering, and radiosity.
- FreeCAD is the most well-known 3-D computer-aided design (CAD) app in open source. It is designed with mechanical engineering in mind.
- Archimedes is a simpler CAD program that specializes in architectural modeling. The QCad program does not directly do 3-D, but its 2-D design tools can be used to create blueprints useful in other, 3-D capable CAD tools.
- Several other open source 3-D modeling programs are under active development, including Art of Illusion and Wings3D. Neither has as large of a development team or user community as Blender, but since they do not try to incorporate Blender’s animation tools (see below) and video editing workflow, they may be easier to learn.
- There are also several special-purpose tools that come from the Blender community designed to assist with specific tasks, such as MakeHuman, which is optimized for the tricky task of creating realistic models of human beings.
- In addition to its static modeling and scene rendering, Blender is also a 3-D animation program, supporting rigging, skinning, armature deformation, forward and inverse kinematics, motion curve and key-frame editing, and more. Recent versions also support particle and fluid physics, soft body solvers, hair and cloth, and other special effects. A timeline based video editor and compositor are built-in.
- Synfig is a vector-based 2-D animation studio that supports many of the same features Blender does, but for 2-D animation. Characters, backgrounds, and other scene elements are composed of vector graphic primitives which are drawn or adjusted in key frames, and automatically “tweened” to create smooth animation frames.
- Pencil (not to be confused with the Firefox add-on mentioned above) is a more traditional “cell-based” animation tool; each individual frame is drawn on the canvas, which can be overlayed with translucency (called onion-skinning) to assist the artist.
Utilities and system support
- Xsane is the leading scanning tool for open source systems. It fully supports flatbed, transparency, and film strip scanners, offering complete image controls and previewing, automatic or manual calibration, and color management complete with ICC input profiles.
- Kooka is a scanning utility written for the KDE desktop environment. It uses the same driver backend as Xsane, but attempts to put a more easily-understood front end on the tools, and integrates with other KDE-based applications.
- Due to the complexity of Xsane and Kooka, several “simple” scan tool projects exist as well, notably Scan Tailor and Simple Scan. None of them add functionality over the more complex offerings; they focus instead on a quick-use interface.
- CUPS is the printer management project used by almost all open source graphics systems, supporting inkjet, laser, and other less-common printer types. CUPS handles scheduling jobs, spooling and network-printer sharing. Support is usually provided by the operating system, so you do not need to worry about installing or configuring it separately.
- Gutenprint is a high-quality printer driver project; it provides the printer control layer directly below CUPS, and provides drivers for a vast array of printers. Normally you would never need to update or configure Gutenprint directly, but if you have trouble with a specific printer, it is the project to look towards for updates.
- Though CUPS and Gutenprint provide a solid printing system, there are several specialized projects that target specific tasks. Photoprint is designed to create professional-looking photo layouts, complete with borderless multiple-image-per-page layout options. CMYKTool from the same developers allows greater control over CMYK color separations than most individual printer drivers provide. The aforementioned Laidout can be used to create complex print layouts, including splitting large images up into arbitrarily-arranged multipage mosaics.
System calibration and profiling
- LPROF is the most widely-known ICC profile creation tool in open source, largely because it is currently the only tool with a graphical user interface. It was written by the creator of LittleCMS, the color management library used by most of the graphics applications mentioned above. LRPOF can create profiles for monitors, scanners, and digital cameras. Several hardware devices like X-Rite’s DP92 are supported.
- Argyll is a color management system (CMS) that includes several command-line tools. Included are utilities to create device profiles, calibrate displays, link profiles, and transform raster images to different color spaces. A GUI project called dispcalGUI also exists, maintained by different developers.
- Oyranos is another CMS, one that notably includes tools to configure and assign ICC color profiles to X displays. The ICC Examin tool is an offshoot of this project; it is the only dedicated color profile previewer for open source graphics pros.
- Apart from the main applications, there are several important utility programs that act more as functional assistants than as content creation tools. Leading the charge is Agave, a color scheme chooser. The interface is lightweight, but the program lets users build color schemes based on complements, split-complements, triads, and other scheme types, with adjustable palettes and brightness/saturation controls.
- Swatchbooker is a newer “swatch” tool, which can read color swatches from a wide variety of programs, including the Adobe creative suite, all major open source programs, web sites, and many proprietary products. You can then convert and save swatch files for use with other applications.
- Open source support for pressure-sensitive graphics tablets is robust, but the historic need to edit the configuration of the devices in text files led to the creation of Wacom Control Panel. It is a graphical tool that lets the user tweak and adjust the settings and sensitivity of these devices on-the-fly.
BY NATHAN WILLIS