My passport expires April 2013, can I renew it after my travel to US in December or should I do it before I travel?
It depends what passport you hold. From the US Customs and Border Protection website on the topic:
Visitors traveling to the U.S. are required to be in possession of passports that are valid for six months beyond the period of their intended stay in the U.S.
However, on the same page - it mentions there's a Six Month Club that gets exemption from this rule:
For a list of countries exempt from the six month rule, see Six Month Club.
So if you're on that list, you'd be ok. Otherwise, yes, you will need a new passport before you travel there.
I would renew my passport before going. There are indeed exceptions but from experience I can tell that in the end it is the immigration officer which has a final call. I once traveled to the US with a passport that was valid for only another three months. It would still be valid upon return. Back then I asked for advice at the consulate and back then I got the advice to just travel, as long as my passport was still valid upon leaving the US. I then encountered an immigration office, who said that he didn't care what an official of the American Consulate said. He was in charge. It had something to do with the consulates being part of the foreign office and the immigration services of another department. I was allowed to enter the country after all, but the prospect of being flown back to where I came after a long trans-Atlantic flight wasn't funny. This was in 1999, but recently I heard a similar story.
I don't know how easy it is to renew your passport; for me it would cost 50-80 Euros. I would not risk getting delayed because of a disgruntled immigration officer and just renew my passport before going.