1 Answer
1

The Short Answer

The Long Answer

While Android is open source and can be modified to suit many devices, firmware and hardware drivers are most often not made readily available -- especially not the source code. Android won't run on a device without drivers for that specific device, so this means that you can't simply compile the code for Android and run it on your phone.

Android is a very different operating system than other phone platforms; Android and Windows Phone 7, for example, are just as different as Ubuntu and Windows 7 for the PC. This means that even if you have WP7 drivers for your device, those drivers won't work on Android. You'll have to modify those drivers to be compatible with Android, and you may need to reverse-engineer a lot of code. This is very difficult and time-consuming, and sometimes even a team of people have little success with it. Even getting a new version of Android to run on an Android phone can be hard.

The upside is that many phone manufacturers are now putting out versions of the same device with different operating systems. One example is the WP7 HTC HD2, which is very similar to the Android HTC Desire Z. The Desire Z ROM only requires slight modification to run on the HD2.

Android ROMs/projects for non-Android Phones

Various developers have gone through the effort of creating an Android ROM that can be installed on other devices, or have started to do so. The following statuses will be used to describe each project/ROM:

Pre-alpha: Concept stage. You cannot use Android at all yet.

Alpha: Android is technically usable, but many major features are missing.