> Is there a way that technologies from companies can help ICE and organizations like it treat the people they deal with better?
One thing GitHub could have done, if it was serious about its "but ICE also stops human trafficking and terrorists" narrative, is insisted on selling them professional services / consulting work (perhaps at a discount - they'd already decided to donate more than the revenue of the contract, so working for ICE out of the goodness of their hearts is definitely not out of the question) which let them understand what teams and projects at ICE are using their work and how. But in their letter to employees, they listed it as a positive that they weren't doing this, they just gave ICE the product and told them to have fun. https://github.blog/2019-10-09-github-and-us-government-deve...
"GitHub does not have a professional services agreement with ICE, and GitHub is not consulting with ICE on any of their projects or initiatives. GitHub has no visibility into how this software is being used, other than presumably for software development and version control."
I think if you believed you could make some change for the better working within the system, the way to start is by, first, deciding what your principles are and what your approach is when your customer wants to be at odds with that (refuse to support projects you disagree with? try to change hearts and minds? etc.) in a codified way and getting agreement within the company on it, and second, insisting on a close enough consulting relationship where you can enforce that. (I also suspect that unless you have an uncommonly good product, most customers won't be a fan and will just buy from someone else.)
Also GitHub, being a platform and not a direct tool for work, isn't really in a great position to influence ICE's work. "You can check in the code you use to track terrorists, but not the code you use to track DACA recipients" isn't particularly technically meaningful.
One thing GitHub could have done, if it was serious about its "but ICE also stops human trafficking and terrorists" narrative, is insisted on selling them professional services / consulting work (perhaps at a discount - they'd already decided to donate more than the revenue of the contract, so working for ICE out of the goodness of their hearts is definitely not out of the question) which let them understand what teams and projects at ICE are using their work and how. But in their letter to employees, they listed it as a positive that they weren't doing this, they just gave ICE the product and told them to have fun. https://github.blog/2019-10-09-github-and-us-government-deve...
"GitHub does not have a professional services agreement with ICE, and GitHub is not consulting with ICE on any of their projects or initiatives. GitHub has no visibility into how this software is being used, other than presumably for software development and version control."
I think if you believed you could make some change for the better working within the system, the way to start is by, first, deciding what your principles are and what your approach is when your customer wants to be at odds with that (refuse to support projects you disagree with? try to change hearts and minds? etc.) in a codified way and getting agreement within the company on it, and second, insisting on a close enough consulting relationship where you can enforce that. (I also suspect that unless you have an uncommonly good product, most customers won't be a fan and will just buy from someone else.)
Also GitHub, being a platform and not a direct tool for work, isn't really in a great position to influence ICE's work. "You can check in the code you use to track terrorists, but not the code you use to track DACA recipients" isn't particularly technically meaningful.