Near the end of the 20th century, the United States began to tap India's new resource: vast numbers of educated people. With their sheer numbers, they finished programming projects faster than U.S. labor could have. (To learn about how outsourcing to India has changed the world, read Thomas L. Friedman's The World is Flat, pp. 126-136.) First India lent coding gruntwork to bail America out of the Y2K problem. Then India stepped up her sophistication and offered consulting. Recently, India is doing some delegation of her own, outsourcing to other countries or even back to the United States.
The CNET news article "Outsourcing works so well, India is exporting jobs" describes this new turn in the tale of outsourcing. India's technical minds gain autonomy with each new tactic they learn; their learning to outsource is a natural next step. We started to outsource to them because they had the quality and economy of brainpower that our projects need. This is the same principle by which India, in turn, is spreading the work all around the world.
India's decision to outsource to places such as Mexico and the United States all fits with finding the best technical labor for its price. For example, since Mexico has large numbers of people looking for work who understand Spanish language and culture, India can organize a team in Mexico to meet the growing demand for IT services to the Hispanic people. Outsourcing from the States to the States through India makes sense under these considerations: the U.S. has many technically educated people in low-cost areas such as the Midwest, the States know their own language and culture best, and India knows outsourcing best.
Far from being a zero-sum battle, working with programmers globally allows us to specialize and complete larger software development projects more quickly than before. India has taken her economic boost and paid it forward around the globe and right back to us. I imagine that the complaints of many U.S. programmers fall silent now that India opens tech jobs in our own United States.