Q:

Freelancers: How Do You Go About Gathering Requirements? 

As a freelance programmer:

What is your process for gathering requirements from a client? 
How much time does the requirement gathering process take you?  I know this is not fixed, and there are variables such as how prompt the client is in responding and such.  In general, accounting for the delay in responses and such, how long does it take to get to the final requirement? 
Which communication channel (email, phone, instant messenger, other) do you use to gather these requirements? 
Do you charge for the time spent in requirements gathering? 
Are there any deliverables in your requirements gathering process?  If so what are they? 

A:

1.What is your process for gathering requirements from a client? 
interview, whiteboard, conference call, shop tour, worker observation, staff interviews, meetings, etc. -  whatever is appropriate, whatever it takes to understand the real problem, balanced with whatever they're amenable to and will make time for
2.How much time does the requirement gathering process take you?  I know this is not fixed, and there are variables such as how prompt the client is in responding and such.  In general, accounting for the delay in responses and such, how long does it take to get to the final requirement? 
obviously this depends on the size of the project.  it's not unusual to spend 20 hours in requirements and modeling for a very small project (< 100 hours), because you have to understand the business context well enough to peel back the layers of the problems the customer is presenting in order to get to the real problem that you'll have to solve to make them happy
whether that 20 hours is two calendar days or six weeks depends on customer responsiveness and availability, and how much thinking you have to do in between session (for hard problems)
3.Which communication channel (email, phone, instant messenger, other) do you use to gather these requirements? 
all of them
4.Do you charge for the time spent in requirements gathering? 
Hell, yes! 
You have to understand the client's business, comprehend and document their problems, and propose solutions which they could then take to someone else to implement.  This is the consulting part of the process, and consultants don't work for free. 
5.Are there any deliverables in your requirements gathering process?  If so what are they? 
Typically, a draft list of features, user stories, test-case descriptions, an abbreviated work-breakdown structure (with project estimates), a highlighted list of unclear/unknown areas/items for further discussion/investigation, and a list of things (info, resources, tools, access, etc.)  that you will require from the client with target dates.  All of this is packaged as a proposal with some background info on the business, the methods used to identify the problems, constraints and caveats about the solution, notes about the expected timelines and ROI, and a request for follow-up by a specific date.