If you want to fix ICE, then by all means, attack the problem at its source! Take that well paid Github salary of yours and fund the ACLU and other lobbyists fighting the good fight. Write your congressman. Call your congressman. VOTE! Campaign for the correct congressman. Code for your congressman. Push for policy that makes ICE employees (and all government employees) more accountable for human rights abuses. All of these actions will be more effective than campaigning for ICE, who will just migrate to a different cloud code review tool if the contract is cancelled (gitlab, bitbucket, or whomever else).
This is a non action move in my opinion. I see it as slacktivism, if Github pulls the contract, people will pat themselves on the back, and count it as a win. You could argue the exposure might have some effect, but given that ICE human rights abuses have been very well documented by the leading publications, I'm unsure if additional exposure will bring change. I do strongly believe that funding lobbyists is the a great short term thing we can do. From an exposure viewpoint, I think the best thing we can do is raise exposure and support in the blue areas of the country. However, these protests are not doing that.
For one, many disparate cultures have separately developed values that are very similar. In a lot of these cultures values intersect more than diverge.
Second, I do not believe discriminating on an entity based on the perceived harm it is causing others is the equivalent to discriminating on an individual or group based on intrinsic characteristics the individuals were born with.
Further, I believe it's potentially desirable to attempt to derive a set of values and morals based on reasoning; attempting to maximize for the constructive and empowering and minimize the destructive and oppressive.
That's the entire problem isn't it? Perceived by who? Do people actually know the truth or is it just what they assume? How is this kind of policy not immediately susceptible to all sorts of abuse?