The good news came out a week ago that AT&T would finally allow its customers with an off contract iPhone to officially unlock their device for free. In essence, the steps required to get the ball rolling are pretty simple. You just need to place a call to AT&T or hop on a chat with them online.
After collecting some basic information from you, AT&T will take its sweet time (72 hours to 2 weeks) to verify you are indeed illegible for unlocking your iPhone. Upon approval, you will then receive an email with instructions to complete the unlock.
But the caveat is that, if like many people out there you care about your jailbreak, you might not be able to update without losing your untethered jailbreak. This was one of my main concerns at first. I requested the unlock authorization from AT&T for my iPhone 4 running iOS 5.0.1, and even though it is not my primary device, I didn't want to lose my untether jailbreak.
But unlike the email AT&T sends you upon approval of your iPhone unlock suggests, you do not have to completely restore your iPhone to complete the unlock...