I'm excited about Android from a developer point of view, while I think it is true that you'll be able to modify the OS directly because it is Open Source, chances are you won't ever really need to.
This is because this is the first phone OS that is designed top to bottom from scratch with the main goal of allowing software developers to create modules that replace any part of the standard functionality.
Modularity and plugability are great concepts from a developer perspective. It means that if I write a program, I don't have to write a way to allow the user to say select a contact, I just use the phone's built in API to display the choose contact application.
These concepts are extended to the user as well. The user will be able to install programs to replace functionality, say a choose contact application replacing the built in contact chooser. Then when the user uses my program and needs to choose a contact, it'll use the custom contact chooser that the user installed, but my program doesn't care.
This opens the door for developers to write smaller, more focused applications and not concentrate on doing the same tasks over and over.
Android is also a pure Java implementation, which means that writing applications will be more straight forward and have less potential for memory leaks and other issues with writing code in C++, or worse some proprietary programming language.
Android also has an extensive memory management system and other awesome features.
http://code.google.com/android/what-is-android.html