I think it's still a far cry from the state of affairs on iOS or MacOS, and the fact that you can fork it if you are willing to replicate those apis is still reassuring.
Yes, they can. Google makes a conscious choice not to make them open source. There's no fundamental law or anything saying that they can't.
I think the better question is: Why do those services need to phone home? There are plenty of apps that should work just fine without doing that, but don't.
If Google had made the services modular, it would probably be easier to replace them with homegrown ones, but they made it a blob because that gives them more power. There are efforts to replace this blob with other manufacturers' blobs (like the one Yandex is working on, or microG) but it looks like this is not easy and it's not going quickly.
We also probably get a typical reverse-engineering situation where Google's services will always be several steps ahead of anything anyone else can offer as a drop-in replacement, so the alternative looks less and less enticing to the average consumer and they'll probably go with the blob :(
but they made it a blob because that gives them more power
They made it a blob because they need the data to generate revenue. Googles services are free, if you let them have your data. I'm 100% certain that a paid alternative would not survive because people does not want to pay a reasonable fee for the services, when they can have it for free if they let Google save some, to the User, harmless data - they even get personalized content in return. compile 'com.google.android.gms:play-services-gcm:10.0.1'
but, i get the impression that's not quite what you mean when you say "install the whole blob."i guess you're talking about the Google Play Services library, which is updated independently of my app. or something like that.
https://play.google.com/store/apps/details?id=com.google.and...
not quite sure. trying to clarify this for my own understanding.