This is an old revision of the document!
There are two common free (as in beer) software choices. All are Mac/Linux/Windows supporting.
As of 2013, eagle is more widespread in use, there is a much stronger library support available but KiCAD is catching up.
Lots of open hardware vendors use Eagle for their PCBs so there is an excellent range of libraries available. Some examples are
There is an excellent tutorial at Dangerous Prototypes about exporting gerber and drill files to send to a manufacturer. It is wise to use a gerber viewer to check the files before sending them off (there are lots, use google to find one).
This is how I work in Eagle. I am not a perfectionist, everything is a time tradeoff, near enough is good enough for me. This is what I do in Eagle
I generally follow a very similar process to Tom, with a few additions and differences: