Seems to me the 3 main programs I've heard mentioned here are Mach, TurboCNC, and EMC (Linux based). I've played around with Mach, and it was very easy to configure my 7x10 (controlled by a G540). I'm currently playing around with TurboCNC, but having a bit of difficulty getting it configured properly. Not quite as intuitive as Mach. People who use EMC seem to be pretty happy with it, if you have a Linux box or at least a Linux partition. I believe you can also run it from a bootable CD to try out. I'm sure those who know will chime in here very soon.
<a href="http://www.cnczone.com/forums/mini-lathe/82871-7-x-10-project-started.html" target="_blank">7X10 Lathe conversion</a>
<a href="http://www.cnczone.com/forums/open-source-cnc-machine-designs/335846-cnc.html" target="_blank">Custom X-Carve router</a>
<a href="http://www.linkedin.com/in/tooldesign" target="_blank">LinkedIn</a>