Google is moving more and more utilities to Play Services, which is not open source.
Play Services is not only about Google-related services, it is also about OAuth for instance.
Unknowing developers rely on Play Services, making their apps incompatible with pure-Android devices.
To solve this problem, an Open Source implementation of Google Play Services is being developed:
http://softwarerecs.stackexcha...
Google really needs to split Play Services.
I get that they want to make the framework updateable without a full OS update. I think that is a great idea. They should make an "Android Frameworks" app and release it as open source. Mandate that it be pre-installed on any device that passes their QA, and recommend that everybody else use it as well. Why wouldn't they - it is FOSS and just makes the device better.
Then limit Play Services to, well, Play Services. It might handle authentication to your Google Account, verify that paid apps are legit, and so on. If you remove it then you might not be able to use your Google account with the device, or use the Play Store, but otherwise Android works just fine. This can be proprietary.
Honestly, though, I'd actually like the Google Account stuff to be FOSS. I should be able to sign into my own server and have contacts/etc sync and backups and all that. It is great that you don't HAVE to use Google's services, but it would be better if you also had the option of rolling your own.