AT&T will begin unlocking iPhones for qualifying customers beginning Sunday, April 8.
This means that if you have purchased an AT&T-locked iPhone and you meet AT&T's requirements, you'll be able to take that phone to another carrier.
In order have your AT&T iPhone unlocked, you'll have to have your account must in good standing, your device should not be associated with a current and active term commitment on an AT&T customer account, and you also need to have fulfilled your contract term (usually two years from purchase), or you must have paid an early termination fee.
Apple has been selling unlocked iPhones that work on GSM carriers for some time now but their price is very high. For instance, the 16GB iPhone 4S costs $649, going up to $849 for the 64GB version. At the same time, subsidized iPhone 4S from AT&T costs $199.