Because money. Yes Android is open source, but Google is spending billions of dollars a year paying engineers to develop it. If you want Android to be "free" find alternate funding, with no strings attached.

See: linux

How many consumer devices is Linux successfully running on?