I've been working on Android software for the last 14 months.  I'm currently using a jailbroken T-Mobile G1 (HTC Dream / Android Dev Phone 1).  I've tried out most of the available Android phones.<p>If I were buying a phone today, I would get one of the Android Dev Phones (which come with root access and the development bootloader) or the Nexus One (which allows you to unlock the bootloader with a user command "fastboot oem unlock").  Then you have full access to the phone, including the ability to install new system images.  The Nexus One has much better hardware than the dev phones and doesn't cost much more, so I'd go with that unless you really want a hardware keyboard.<p>You don't <i>need</i> root access or bootloader access just to develop Android applications, but it's good to have.  It means that you can install different versions of Android, including the latest open-source release.   (Official updates often lag many months behind the open source releases or the various modded images.)<p>These are all GSM phones that work with T-Mobile's 3G network; I think all of them will get EDGE-only service on AT&#38;T.<p>It's also possible to jailbreak most non-developer phones to get root access, but it's not supported and most of the carriers/manufacturers at least try to close jailbreaking vulnerabilities after they are discovered.