Just let me address that point that OpenMoko "chose" to develop the OS and the hadware from scratch:
The way the semiconductor and cellphone hardware industry works is so closed and proprietary that you are forced to develop your own hardware if you want to do anything that is even remotely open on the system level.
First of all, unless you put somewhere between USD5 to USD10 million as 'entry fee' on the table, the semiconductor vendors will not even start talking to you about their GSM/3G baseband chips.
There is no documentation on the majority of the components used in modern smartphones. If at all, it is under NDA's that don't permit you to write open source software such as drivers.
Based on this closed-ness in the hardware industry, you do not have much choice but to design your own hardware, based on a subset probably 1-5% of the components that the semiconductor makers offer :(
Regarding the software: When OpenMoko started out, there was no existing Linux based stack that fulfilled even only some of the requirements like "try to not deviate too much from the linux desktop world", "proprietary software is not acceptable" and "support for traditional phone applications like voice call, sms".
Sure, Openmoko made many mistakes... but developing the hardware was a burden and not a choice, as was development of a lot of the software.