Ars Technica has a great article about what, exactly, Google is doing to retain (or retake) control over Android. Many things were already known, and have, in fact, been discussed here before. For instance, the Open Handset Alliance prohibits its members from forking Android or using other companies' forks. This had been known for a long time, and has always been an important aspect of the OHA - its goal is to prevent the fragmentation of Android, after all. Another thing we've always known is that the Google Applications - like YouTube and such - have always been closed source, and that a license is required to use them (they are freely available though, and Android is completely usable about them.
There are two bigger problems, however. First, the more Google moves parts of Android to Google Play (such as the keyboard or calendar), the less open source Android becomes.
For some of these apps, there might still be an AOSP equivalent, but as soon as the proprietary version was launched, all work on the AOSP version was stopped. Less open source code means more work for Google's competitors. While you can't kill an open source app, you can turn it into abandonware by moving all continuing development to a closed source model. Just about any time Google rebrands an app or releases a new piece of Android onto the Play Store, it's a sign that the source has been closed and the AOSP version is dead.
There's definitely an opportunity here for groups like CyanogenMod - and in fact, that's exactly what's happening. For instance, CM has created the camera application Focal, which is available in the Play Store. In other words, most of the Google Applications can be recreated and improved upon easily, after which they can be placed in the Play Store. An exception, of course, is the Play Store application itself, but even that one has alternatives, such as the Amazon App Store.
A bigger problem, however, are the Google Play Services. This is an Android application - closed source - that provides developers with access to a whole bunch of Google's APIs. It's becoming more and more mandatory.
Taking the Android app ecosystem from Google seems easy: just get your own app store up and running, convince developers to upload their apps to it, and you're on your way. But the Google APIs that ship with Play Services are out to stop this by convincing developers to weave dependence on Google into their apps. Google's strategy with Google Play Services is to turn the "Android App Ecosystem" into the "Google Play Ecosystem" by making a developer's life as easy as possible on a Google-approved device - and as difficult as possible on a non-Google-approved device.
In other words, there's a lot going on at Google to prevent more forks, such as Kindle Fire, from happening. I had no issues with Google's own applications being closed source (you can easily replace them), but the Play Services are a much bigger issue. As more and more applications adopt Play Services, the harder it'll become to run Android 'Google free' - and that's not exactly an ideal situation.