Iphone-dev team has an exciting new year gift. Its going to release software unlock method for 3G iphone on new year eve. They had been working hard on this project under the codename 'yellowsn0w'. It is in the final phases of packing in a user friendly user interface. They are going to release a video demo of the same on around Christmas time. See their blog about this update. There are a two pre-conditions on which you can unlock your phone. It should have a baseband of version 2.11.07 or prior. It should be jailbroken. Jailbroken phone is a requirement because the 3G unlock software is distributed using the cydia installer which is available only on jailbroken phones.
Happy Christmas and New Year