How programmable is an Android phone, really?
mbrubeck: If you buy the Android Dev Phone from Google, you get full support for building and installing Android from source.  The source code includes the kernel, libraries, and applications - except for a few closed-source apps from Google (Maps, GMail, Google sync providers) or added by carriers.Every phone sold by a carrier (at least, all the ones I know of) is TiVoized.  That is, the user does not have root access and there is no supported way to modify or reflash the system partition.  However, for most models the community have discovered ways for owners to bypass these restrictions and jailbreak their devices.  Once this is done, you can install modified OS builds.Even on a stock, non-rooted phone, Android applications are less restricted than, say, iPhone applications.  You can install an application over USB or HTTP.  (Unlike the iPhone you do not need any sort of certification or third-party signature.)  With user confirmation, applications can override standard functionality.  For example, you can write your own home screen or dialer or email app and then use it to replace the built-in one.