In apartheid South Africa, it was illegal for blacks to work in the white parts of South Africa without getting a permit (sort of like the H-1B visa or the green card in the case of the US). Most people consider this to be wrong primarily based on the intuition that such severe discrimination on the basis of race is unethical.
1. Why is it not okay to discriminate on the basis of race but okay to discriminate on the basis of country of birth? Why is it not okay to require that only highly skilled, highly paid black South Africans be allowed to participate in the labor markets of white South Africa but okay to disallow less competent Indians willing to work for a lower wage access to the US/UK labor markets?
2. The South Africa analogy is particularly compelling because black South Africans were not considered citizens of white South Africa.
This analogy is not original to me. I stole it from Lant Pritchett. This is what he says in 'Let their people come':
"The analogy between apartheid and restrictions on labor mobility is almost exact. People are not allowed to live and work where they please. Rather, some are only allowed to live in places where earning opportunities are scarce. [...] The restrictions about who can work where are based on conditions of birth, not on any notion of individual effort or merit. The current international system of restrictions on labor mobility enforces gaps in living standards across people that are large or larger than any in apartheid South Africa. It is even true that labor restrictions in nearly every case explicitly work to disadvantage people of “color” against those of European descent."