Right now there's no way unless you got your phone with 3.0/3.0.1. If you got it with 3.1/3.1.2 out of the box, then you cannot unlock from the carrier at all.
As for ETA, nothing has been said by any of the prominent groups. They're looking for a way similar to boot neuter last I heard, but basically, there is nothing even close to being released that will unlock your phone. I'm sure they will find a way to do it, but as far as when, nobody has any idea except those on the scene (geo, chronic, dev team, etc).