List of free/opensource communication / control programs here: Shapeoko CNC Router, Rigid, Accurate, Reliable, and Affordable
commercial ones here: Shapeoko CNC Router, Rigid, Accurate, Reliable, and Affordable
My favourite opensource option is bCNC, though I keep wanting to find the time to try GrblGru.