For a year or so I kept insisting to everyone that asked me about it that someone would take care of Samba for OS X, since Apple had removed it from OS X Lion for good.
After a year of saying this and having friends and family having to download XCode, Macports, compile Samba and deal with the text-based samba config files I decided that I'd better get to it.
I released SMBUp
as donationware. It helps automating the installation of Samba in OS X (binaries, not source and then compilation) and provides a simple Front-end for basic configuration (it doesn't handled advanced config and, obviously, can't manage special compile-time Samba options (like compiling samba with Kerberos or similar). But can manage user-installed Samba installations, so the users can do this themselves.
This was a really quick project. In total took less than a week of actual coding. The only parts that stumped me for a while were getting Samba into an installable package with all dependencies so it worked in OS X with the native installed and getting the permissions right for all the actions needed by the app (the app needs admin permissions for installing samba, editing samba users, editing the samba config file and installing/removing launchd scripts). Lots of lessons learned there.
The app has a built-in helper that takes specific instructions and carries out all actions. A simple authenticated shell didn't work for most actions so this helper has setuid set so an authenticated shell command launches it, and that in turn has the permissions right.
For obvious reasons, Apple rejected the application in less than a day. I released it as donationware. I don't know how many users it actively has, but the Samba installer within the app has been downloaded around 100,000 times since January 16th. Of these 20000 have hit the "I have donated" checkbox to get rid of the reminder. Actual donations received have been 276 with an average of 4 dollars each (with more than just a few jokers donating 1 cent, luckily PayPal absorbs it whole without charging extra for not fulfilling even their commission).