Don't forget Beer Tools Pro http://www.beertools.com/ I'm a pretty big fan of it since they have an OSX version. It's a little tricky to use in places (particularly getting the volumes correct in the schedule), it's not open source, but does the job nicely.
Beersmith for me, but it's purely a preference thing. I tried the demo version of Promash, and just found it hard to focus on being creative for all the options! :)
BeerSmith for me. I tried ProMash once and just couldn't get into it. I find BeerSmith pretty user-friendly, and it does all I want.
Haven't quite got the hang of creating custom mash profiles though. I wanted to put a beta-glucan rest in for my Oatmeal Stout but couldn't figure out how. Worked OK without it anyway, so no harm no foul.
I prefer the latter - it is awesome... they just released an update, and now you can easily adjust your water profile as part of your recipe / schedule. You can do the same with promash, however it's not as tactile as the beertools.
You can adjust /customise absolutely every facet of every input in beertools - be it hops, malt, HLT, MLT, kettle - you name it - it's a right click away.
Promash. I "borrowed" it off Brendon a few years back and ended up buying it after I rebuilt my pc last year. i ndidn't find it hard to understand, or get into... it has everything you could ever want, and more. I'm slowly getting around to adding my own ingredients but have mostly used the ones that came with the package up until a month or two ago.
I write down all my recipes too... as a backup (and paper is more archive friendly than digital).