In this article I will discuss the options available in GIMP and some simple practical examples and why you would use Color management. Its not intended as a full tutorial on Color Management. I'm using GIMP 2.6.x for this example, but GIMP 2.4.x is fine also both version are colour managed applications, they can work with RGB based color management. Earlier versions such as 2.2.x are not colour managed at all so you will get an sRGB result and it will treat input as sRGB .
By default since gimp 2.4, sRGB is assumed. As no RGB profile is set, sRGB is the fall-back. Below are the default options available under Edit >> Preferences >> Color Management.
Mode of operation: Color managed display
RGB profile: None
CMYK profile: None
Monitor profile: None
Try to use the system monitor profile = N
Display rendering intent: Perceptual
Print simulation profile: None
Softproof redering intent: Perceptual
Mark out of gamut colors (grey) = N
File Open behaviour: Ask what to do
What this means is, first colour management is on. We have no RGB profile, so sRGB is assumed as our effective "working" colour space. We have no specific monitor profile so we output sRGB like every other application does. The option to try to use the system profile would be handy if we kept re-profiling our monitor, as it would effectively make GIMP use the operating system profile instead of the one we had configured in GIMP when possible. Leaving it off means we can change around the monitor profile in the OS, but keep GIMP using a specific profile. Rendering intents are to do with conversion from one profile to the other, we don't need to worry about it at this point.
The final option means GIMP while in sRGB mode will ask us what to do when we open an image with a profile other than our working colour space. We will have 2 options. Keep the original profile, or convert to our working RGB profile. GIMP is not fussy, it can work in any RGB color space with no negative impact. ICC profiles are basically mathematical equations to convert colours to and from a standard point. So any application using ICC should produce 100% identical results to any other program that can do the conversions. So in terms of editing or working on the image there is no gain/loss. For instance working in AdobeRGB in GIMP when its default profile is sRGB is absolutely fine. It only asks this question because your working profile is sRGB and the image you opened is different, so it assumes you will want to make your decision now depending on final output media. If you set your working profile to AdobeRGB it would ask you every time you open an image that's not AdobeRGB. Don't worry about conversion between profiles it can be done at any stage in the workflow, so your decision on opening the file is not final.
Some practical examples why you would convert ICC colour profiles:
1) Web images have to be sRGB or they look incorrect on most peoples web browsers
sRGB JPEGs produced by a Canon Camera or Canon DPP, are not actually sRGB. They are a slight variant of sRGB so you may be asked if you want to convert from Canon sRGB to sRGB. I always click convert to get back to "standard" sRGB so that the images look correct when uploaded to the web. Most consumer print houses also expect sRGB as a default, so this is the most compatible thing to do. The same with images that are shot with AdobeRGB. Covert them to sRGB. If you don't convert and incorrectly upload them to the web as AdobeRGB they will be rendered as sRGB by the web browsers of 99% of people. They will still see your image but it will be more dull, less saturated and basically look incorrect. Why go to all the trouble of shooting and post processing an image only for people to not see it how you intended it? Always make sure for the web you are in sRGB.
2) Printers can require specific profiles to print colours correctly
When I use external professional printing such as my local fujifilm stores they provide ICC profiles for there printers/scanners/papers. Recently I sent 2 copies of the same landscape scene (green grass, yellow flowers, light blue sky). The first was in sRGB which should print wrong and for the other I also used GIMP to convert this to there profile for there printer. Image >> Mode >> Convert to Profile (navigate to file). Result was this. sRGB looked fine in GIMP, the print had bands in the skies, yellow now looked very orange, grass was more brown. The copy with the correct fujicolor profile applied, looked the exact same in GIMP as the sRGB as it should. The print looked like how the image looked on my screen in GIMP.
Some practical examples why you would assign ICC colour profiles:
Note: convert changes from the current profile to a new one maintaining colors. Assignment is different, it replaces the starting profile, which is your way of telling GIMP, that you know the profile in this image is incorrect. Or you know the image has no profile associated, but it should have the specified profile to render correctly.
1) Profesional film scans may have an odd profile
If I ask fujifilm to scan my film negatives they provide me with a cd with .jpg files. At the moment they are coming back with sRGB which is fine, in the past I got some with no profile that looked rather flat and dull like they where not being rendered correctly. I downloaded their scanner profile and assigned it to the image using Image >> Mode >> Assign Profile. This worked as it seemed to match what i expected. If it was wrong I would just have tried AdobeRGB and a few others. If I decided none of them was right, I would assign it back to sRGB. This may just have been a one off operator error by the person operating the scanner.
2) ICC may be stripped
Lets imagine you have a friend who shoots AbobeRGB. They edit with photoshop (with AdobeRGB as the working space) and they foolishly upload there pictures to some social networking site that strips the photo of its profile and exif to save space. We know that every web broswer (100%) is going to see a dull flat image as its in AdboeRGB. Even colour managed browsers such as Safari and Firefox 3.0.x (with the option enabled in the about:config page) will render it incorrectly, becuase they don't have the ICC profile embeded in the image to tell them how to convert it properly. If you wanted to fix his images for him you could, download them, assign the adobeRGB profile so they look correct in GIMP, convert to sRGB and upload them again so at least when the profile is stripped again and sRGB is assumed by the web browsers it will now be correct.
The lesson here is that you can use ICC very simply to make colors look correct across a range of devices that render color in very different ways (printers and monitors work in very different ways). Target your color managment to the desired media. For my landscape image, it needs to be in sRGB to look correct on flickr, but that won't work for the printer. To print it in my local fujicolor store, I need to do the conversion to their printer profile for the image to look correct when printed but that won't work on flickr. So I have the sRGB profiled image on flickr and the Fujicolor profiled image printed and both match. Correct Result! and all I had to do was download there printer profile and click Image >> Mode >> Convert to profile before i save the print version.
So where to next. I like to keep things simple, most of my stuff ends up on the web so its easy for me to set my RAW converter to sRGB and to leave GIMP working in sRGB. Most printers connected directly to the computer can manage the change from sRGB to whatever they require. The only time I need to worry about changing profile (convert not assign) is when I use external printers not directly attached to my computer. In part 2 we will explore how to get and put all the icc profiles in place if we decide we need a more complex setup. Do you "need" something more complex? That is up for you to decide before then, as GIMP can handle whatever you want, be it simple or complex.
Attachment 1: Canon sRGB converted to sRGB, and put on the web so your unmanaged or managed browser will see it correctly.
Attachment 2: Canon sRGB converted to AdobeRGB, and assigned sRGB to simulate an adobeRGB on an unmanaged browser. Even color managed will render it wrong as we assigned the wrong profile on purpose. Note the sky is more pale and the contrast lacks a little. Look at the fence at the right edge you can see just how flat an AdobeRGB image looks when rendered as an sRGB.