I am from India and I have worked with American companies in the past, though not in an outsourcing kind of situation. While I understand
+ the anger (I would be too if jobs from here were shifted to Timbaktu for example)
+ and I understand the under-the-table tactics of Indian outsourcing companies operating in India,
I would like to add my 0.02$ to the debate. First, I have never seen expert jobs being outsourced. Most of the companies I know of, talk about outsourcing un-important parts, something that is not critical to business. Expert jobs are not outsourced, product management is not outsourced, sales jobs are not outsourced. Fact is, If you are working for one of these companies in India, you have a clear sense that you are no-where near decision centers. So important things are still in US, even for technology companies. The very fact that the management is ready to go to a lower bidder underlines the fact that the pieces are not important. The counterparts I knew and respected for skill are still employed and much in demand.
Second, all such debated necessarily assume that people who instead of US folks finally get to do these jobs are morons. That is a naive assumption. Maybe these jobs were actually low skill jobs to begin with or lot of people in US were living under a false assumption that they were "doing technology". I know enough morons working in US offices who should have been fired a long ago. The only advantage these people had that they were born in a good place and nothing else. It would be nice if someone could present an alternate version of this story as well. If nothing then just to balance the debate a little bit.