LinuxCNC (the Enhanced Machine Control) - LinuxCNC: an open source CNC machine controller. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more.
FreeCAD - An open-source parametric 3D modeler
Mach3 - Mach3 is very popular among the Hobby CNC community.
PyCAM - PyCAM is a toolpath generator for 3-axis CNC machining.
CamBam - CamBam CNC software, best value for money, feature rich, CNC Software for G-Code generation on CNC Routers, CNC Mills, Homemade CNC machines, for 2D pocketing, 2D profiling, Text Engraving, Photo Engraving and 3D carving.
LibreCAD - An open source 2D CAD application for Windows, Apple and Linux.