To add to what HeyCori mentioned in regards to carriers refusing to unlock devices, I have an idea on how to standarize the process, and add a way to force Qualcomm, manufacturers, and CDMA 2000 based carriers to unlock devices:
2. CDMA carriers, manufacturers and Qualcomm must come with a system to allow devices out of contract to be carrier unlocked, and have them listed in a database accessible to all CDMA carriers (listing IMEI, ESN, and MEID related to each device), in similar way as they currently do for lost/stolen devices. Also, GSM carriers must find a way to have devices listed on the lost/stolen database CDMA carriers use.
4. All devices must be global (GSM/CDMA) and must have programmed all frequencies for both radios, as well as the operation and network configurations for every carrier programmed, but defaulted to the carrier where the device is sold (the database should be ready and online by the time the changes are implemented). Featured phones must be global as well.