Making a Texture?

I am trying to create textures for my 3D models. I do not have Adobe Photoshop (and I think Adobe Photoshop would be recommended). Gimp is the program I use right now, but I would like to know if there are any free programs that you would recommend instead of Gimp.

Also, I was just wondering how the textures for the models from the Unity example projects are made. Do they use real photos that are just edited and used directly as part of the texture, or do they just make everything from scratch and not use any other images?

(Sorry I'm asking more than one question, but I didn't think I need to make a whole separate question.)

Gimp is the software I use. It is probably the best out there for freeware. It rivals photoshop. The textures for the unity project (I'm just guessing here as I wasn't part of the team that made the project) Looks to be a little bit of both. Editing real photos on gimp is easy. There are several tools you can use. The best is probably the clone tool. This can be found under tools/paint tools. You position it by holding down control and moving the mouse tothe point you want to clone and then clicking. It then takes the image under the circle and then when you click somewhere else, duplicates it. And to create your own textures it is best to use filters. Hope this helps!!