EMC2
It was free so I gave it a try. I'm really impressed by it as a free product and I think I'll be sticking with it. My movement to TTS type tools is addressing the biggest gripe I have with it right now listed below.
the Ups:
I prefer the more simple, less distracting, interface and it is possible to add screen gizmos later if you want for most of the common functions.
I can connect to the network with little fear of getting any infections to include internet access. It can connect to my shared folders so I simply generate my CAM on the windows box and run it right off the share or copy it over without fussing with thumb drives.
There are some really nice cards that it supports to eliminate software step-gen if you want want to run microstepping drives really fast.
There are a growing number of wizards you can run for simple machining steps like pocketing, facing, drilling, and text engraving.
The Downs:
It's pickier about hardware so finding a really good machine seems to be more difficult. Older hardware seems to often work better than newer multi-core, hyper-threading, low energy, stuff. I have a rather fast little Dell but the latency numbers on it are not good. They seem to work nice with some ATOM-based boards.
No movement in tool-change. This one I HATE! When you prompt for a tool change you can not jog the axis to touch off the new tool while the program is paused. Unless you are using tools with defined lengths that repeat exactly then tool-change prompts are useless. You have to break a program up if you do stuff like swap bits in the drill chuck. They need to fix that and stop explaining why it's hard. That is a big missing feature.
Linux has a learning curve. You can probably get the thing going without much knowledge but to really tune it up you will need to have a basic understanding of Linux. If you need something not in the stepconf wizard then you have to be ready to edit the machine definition text file.
CNC: Making incorrect parts and breaking stuff, faster and with greater precision.