I do decentralized development regularly, and for some kinds of work it works fine. For other kinds of work, it makes simple tasks take an order of magnitude longer.
On the other hand, the development of any one individual patch series to implement one feature typically occurs either by one developer, or by a set of co-located developers in one organization, not by geographically distributed developers. And some other kinds of work, such as backporting or rebasing a series of patches, doesn't work well when geographically distributed.
I worked at a 100% telecommute shop local to Chicago for 10 years. We also used offshore development firms on some projects, and I can tell you, if anyone ever seriously had the idea of replacing us with them, they were quickly dissuaded by the experience of working with these firms.