The process of correcting images to match the ground is called orthorectification and there will be software to perform this operation thus it isn’t necessary to make the photo perfectly horizontal. Assembling pictures into a single big one is called stitching or sometimes ‘panoramic photo’ and there’s also a lot of (free) software available for this task. Please do a search on this terminology, I’m sure it will get you any further but this is as far as my knowledge goes…
Ground control points are objects with accurately known coordinates and which are clearly visible on image. It depends on your flight hight what kind of objects are suitable. Ditch crossings and street corners are visible even from high altitude. The more accurately you can locate the same point on the field the better.
It is possible to use existing OSM data, at least street crossings, for measuring GCPs, but in that case somebody would say that your orthoimages are derived from OSM and thus under the same license. Measure your own and you can do what you want with your images. One alternative is to donate them to OpenAerialImage project.
Computing part is telling to a software for each GCP that a pixel with image coordinates x,y is in real world in located to the place you measured. After that you can run a process called warping. I know that the whole process can be done with gdal_translate and gdal_warp open source utilities, but they are command line and you should do a bit of reading first.
Warping should be enough if your home town is rather flat. Orthorectification is more accurate process that takes also elevations into account. For that a digital elevation model and more sophisticated software are needed.
I believe QGIS has plugins available that can do georectification graphically. QGIs is available on MacOSX, Linux and MacOSX soo you can probably use that. You can also use OSM shapefiles in QGIS to help with the rectifcation.
Not that interesting for simple cases, but: Several cities have a “coordinate net” (Swedish: Stompunkter i ett Stomnät) with lots of point all over the city that has a fixed coordinate, these are very usefull if you want to georectify.