I find the antagonism toward projects that decide to not just use whatever else is out there (no matter what state it's in, no matter how difficult or not the team is to work with, no matter how well it solves your problems or not) and build their own implementation perplexing.
Why does the thing that people have been working on for five years and has not actually deployed (or certainly not in volume) get to trump another approach?
I'm glad my management at Google didn't insist that we use X11 and GTK and the linux kernel exactly as it appeared upstream when we were building Android.
I don't agree with everything Canonical does, and I think they make some seriously dumb decisions at times, but watching "the community" rant at them for having the gall to try instead of just using what's already there is both amusing and sad.
It's really easy let yourself be sabotaged by people insisting that you must "work with the community" and then refusing to accept that your issues are valid if you don't realize that there are alternatives.
Luckily in the world of open source, you can just fork things and go your own way when faced with that sort of thing. One billion units in the field later, I'm glad we did our own thing with Android. And, surprise, if you build something that works and gets traction, suddenly the community that's been crapping on everything you do starts to reconsider their position.