Some large companies, such as Facebook, insist on locating all of their developers in one location. In Facebook's case, that's in Silicon Valley. Studies show that co-located teams are more productive, which encourages companies to adopt this approach.
However, in a post on ReadWrite, Matt Asay argues that just as distributed computing offers benefits, distributed development might also offer benefits. Having developers working from various cities gives enterprises access to a larger pool of workers, and in many cases, it can lower their costs because developers who don't live in Silicon Valley will often work for lower salaries. In addition, putting developers in remote offices helps transform those offices from "sales outposts" to real offices, improving morale and productivity.
Asay argues that the tools developed by and for the open source community, such as GitHub, enable distributed development. And while it may not be a good fit for every company, it's worth consideration.