Changing someone's hair colour in a digital photo is relatively easy with a little help from GIMP (GNU Image Manipulation Program), which is an image manipulation program similar to Photoshop. The advantage of using GIMP is that it's completely free to download and use, and it's powerful enough to rival Photoshop's robust feature set. There are a few different ways to change hair colour using GIMP, but one of the easiest ways produces great results.
Open up GIMP on your computer, and proceed to open up the photo you wish to modify.
Select the scissors tool from your Tool palette or by clicking "Tools" on the menu bar, then "Selection Tools," then "Intelligent Scissors." Use this tool to outline the person's hair in the photo by clicking along the hairline at about ½-inch intervals until you return to the first place you clicked.
Click in the centre of the selection you just completed, and the outline should turn to "marching ants."
Hold "Ctrl" on your keyboard and select "C" for copy. Then hold "Ctrl" again and select "V" for paste. In your "Layers" palette, you should now have a new layer that says "Floating Selection (Pasted Layer)." Right-click on that layer and then select "New Layer." You should now have a layer that consists exclusively of the person's hair. Make sure that the new layer is selected for the next step.
Click on the "Colors" option in the menu bar, and then select "Hue-Saturation." A new window will pop up with some options that will allow you to modify the colour, lightness and saturation of the layer.
Move the "Hue" bar by clicking and dragging it back and forth until you find the desired hair colour. As you drag the bar, the colour of the hair in the image will change, but the rest of the image will remain the same. You can also play with the "lightness" and "saturation" bars if you'd like to further customise the look of the hair.
Click "OK" once you've found the desired colour, and the hair colour will now be changed in the image.
When selecting the hair using the scissors tool, zoom in closer to the image for more accurate results. The closer you are to the hairline, the better your results will look. If you will be working with multiple layers, rename each of them a relevant name to better distinguish which layer is what. Try using some of the customisation options under the Filter menu to incorporate some other interesting effects to the hair layer.
Don't just change the hair colour on the original layer--always do it on a new layer for easier modifications later. Save your work often to avoid sudden freezes or crashes that are relatively common when using free software.