"This goes against the entire reason Android was created."
Android never was supposed to be real "Free Software". It can't be given that manufacturers have to adapt it to their system. That's essentially the same Freedom Microsoft gives to their Windows CE developers who also get much of their source code.
For Android to be "Free" it would have to be much smaller and we'd need to have a common hardware architecture... or at least a common and separated hardware abstraction layer below the kernel. Since we don't have that, all Free projects involving Android are essentially doomed to gain huge amounts of momentum. That's why Cyanogenmod, which only mildly modifies Android, already needs more resources than OpenBSD, which maintains a whole operating system.