I use a Nexus One phone. I have been using it for more than one year. I’ve written apps for it.
Yet until yesterday I didn’t know it has an FM receiver. Yes, the Nexus One has a perfectly good functional FM receiver.
The hardware (FM radio) is there in the phone. It’s just that the software is not enabling the radio. It’s such a pity: you pay for the “hard” part, the electronics, but the “soft” part is not making any use of it.
But yesterday, when I installed CyanogenMod for the first time, suddenly the FM receiver was there, and I was shocked: FM radio? working? my phone has an FM receiver?!
CyanogenMod is a fork of the Android project. It is so much better than the “stock Android” that comes with your phone.
And CyanogenMod is open. Really OPEN. You can take the source code, compile/hack it and install it on the phone, and you get a working phone. This is unlike the AOSP (android open source project), where you can get the source code, compile it, but it won’t work on any device.
And CyanogenMod is accepting contributions from external developers. And is open to source-code change, and to improvement. CyanogenMod is putting into life the open that Google is only talking about.
So, if you have an Android phone, put CyanogenMod on it and be enthrilled! If you are a developer, and you want to propose a change/improvement to Android source code, send it to CyanogenMod for inclusion.
On the other hand.. thinking about sending a change to Google AOSP? think twice.. Most likely your change is not good enough, and anyway nobody cares — the Google android developers are too busy to bother.
Kudos to CyanogenMod for showing us all what an open Android really can be.