My problem with Android is that I miserably failed to hack it alone (I wanted to mess with app permission system and make it work my way). The Behemoth seem to have quite a steep learning curve, so I quickly lost my way in its innards.
However, I was able hack Maemo (except for proprietary parts) on N900 somehow. Stack was loosely coupled, everything's deb-packaged separately, many components are not in-home inventions but are well-known software (Debian base, X11, OpenSSL, DBus, etc.). Sad thing Maemo's practically dead.
Here's a short overview of how to get started: https://developer.mozilla.org/en-US/docs/introduction Not necessarily trivial, but just about everybody manages to get started in a few days at worst.
However, from what I've heard, it's Cyanogenmod 10 with Dalvik parts removed and some Ubuntu parts (no X11, Qt5 only GUIs) running in a sort of chroot environment. Doesn't sound much better than any other chrooted GNU install.
[1] https://en.wikipedia.org/wiki/Python_for_S60. The final 2.0 build sadly broke some networking code. There were very few people complaining, so it didn't get fixed. I suggest using version 1.4.5 instead if you choose to play with it.
Thought you were talking about Firefox OS there!
If Mozilla pulled a last minute rabbit out of the hat, then I'll gladly admit my error. 6 years after the Original iPhone and with much better hardware, you’d think it would be possible for Mozilla to do this. Though it seems more likely the constraints of HTML5/JS will keep this from happening on low-end hardware.