I've been using brewtarget, which Doctor Wily mentioned above. It's usable, but not phenomenal. The interface has some serious quirks, both superficial and deeper.
For example, it's very annoying to modify your batch volume on the fly. For a PM brewer, especially, this is a big problem. The final size of the batch and the amount of dilution water you're going to add are fixed as part of your "equipment" for the batch. So if I want to play around with mash volumes or something, if I produce less wort than I originally planned, I have to go through a multi-step process to adjust the dilution volume and find out what the real effect on the finished product is.
The minor ones are things like rows in the grain bill jumping around in an unexpected way when you're editing quantities.
Anyway, it's the only one I've really used. It gets the job done, and I appreciate the effort that has gone into it. I recommend it if you're willing to put in a little effort to use it. It runs on mac and linux, which is nice.