The iphone-dev team have been hard at work on the highly anticipated iPhone 3G soft unlock for ALL 3G iPhones! It's called ultrasn0w. To make this work, you need to jailbreak your iPhone 3G by using redsn0w, and you can find all of the information on http://blog.iphone-dev.org or more detailed instructions on http://theiphoneproject.org
After jailbroken, here are a few simple steps:
1) Launch Cydia
2) Manages > Sources
3) Edit > Add > repo666.ultrasn0w.com
4) Search > ultrasn0w
5) Install & confirm ultrasn0w
You now have an unlocked iPhone 3G by software!