Gates and others have warned that American companies need foreign engineering talent to stay competitive. I believe that is the case for most businesses, but if there was an exception it should be Microsoft. There should be no advantage to being close to the customer in developing shrink-wrap software, as the customer is everywhere. Why should a shrink-wrap developer care about where engineering talent is located? Why not, e.g., move all Microsoft Office development to Hyderabad? Inertia I suppose. It may be hard to relocate Office development anywhere outside the Seattle area. Surely any wholly new shrink-wrap development teams ought to be located outside the U.S, barring H-1B liberalization.