#NoTechForICE #DefundPalantir

Palantir Uses Open Source to Profit from Human Rights Abuses.

On any given day, 40,000 people are detained by ICE in unsafe and unsanitary conditions with sub-standard medical care and sporadic, if any, access to legal counsel.

These conditions have led directly to nearly two hundred detainee deaths at the hands of ICE.

And if the human costs are not enough to persuade you, consider the financial ones. In 2018, tax payers spent $3.076 billion dollars on DHS Custody Operations. A budget four times greater than the Department of Education's English Language Acquisition programs.

In addition to the cruelty of ICE and the financial costs to tax-payers, ICE is the public face of the United States’ ever-expanding domestic surveillance apparatus. How? Through lucrative contracts with privately held technology companies like Palantir, Microsoft, and even darling GitHub.

How is Open Source Involved?

Palantir Technologies, a software company co-founded by top Trump adviser Peter Thiel, collects tens of millions of dollars from ICE every year, despite continuous protests of the tech firm's role in the abuses of the U.S. immigration system.

At present, Palantir has 215 repositories hosted on GitHub, which rely on thousands of open source projects. Every dependency in use by ICE and Palantir contributes to human rights violations. Each dependency is a stone in the wall between reality and the dream of open source as a champion of freedom, liberty and equality.

What can we do if we don't want our work to be used in this way?

Students across the country are organizing to stop Palantir from recruiting on their campuses. Whistleblowers are risking everything to go public detailing how their companies are complicit. International human rights groups are investigating ICE. And immigrant rights activists are working tirelessly to protect vulnerable people from the evils of the current anti-immigrant policies put in place by the Trump administration (and other administrations before his.)

As software developers, we can stand in solidarity. Here's how:

If you can:

If you have money:

A little goes a long way. If it is safe to do so, share some of your financial resources with programs with a track record of direct action, harm reduction and remediation, and systemic changes. The following is a small sample of organizations working to promote social justice in technology.

Tear Down The Wall!

This is the wall that open source has built for ICE. Every open source dependency listed here (updated nightly) is used in Palantir's software and supports ICE in its systematic human rights violations. What can we do to tear down this wall?

All
Java
Javascript
Python
Ruby

@angular/common

Javascript

@angular/core

Javascript

angular-ui-router

Javascript

anymatch

Javascript

any-promise

Javascript

appdirs

Python

aproba

Javascript

are-we-there-yet

Javascript

array-from

Javascript

array-iterate

Javascript

arr-flatten

Javascript

assert-plus

Javascript

async-each

Javascript

asynckit

Javascript

babel-preset-env

Javascript

babel-preset-react

Javascript

backbone

Javascript

bail

Javascript

bar

Javascript

better-handlebars

Javascript

bfj

Javascript

bindings

Javascript

caching-transform

Javascript

camel-case

Javascript

caniuse-db

Javascript

ccount

Javascript

character-entities

Javascript

character-parser

Javascript

chardet

Python

check-types

Javascript

cheerio

Javascript

circle-github-bot

Javascript

clap

Javascript

colorator

Ruby

colormin

Javascript

comment-regex

Javascript

compare-func

Javascript

constantinople

Javascript

cp-file

Javascript

css.escape

Javascript

css-url-regex

Javascript

custom-event

Javascript

d3

Javascript

d3-dsv

Javascript

d3-force

Javascript

d3-format

Javascript

d3-geo

Javascript

d3-hierarchy

Javascript

d3-interpolate

Javascript

d3-path

Javascript

d3-polygon

Javascript

d3-quadtree

Javascript

d3-queue

Javascript

d3-random

Javascript

d3-request

Javascript

d3-scale

Javascript

d3-selection

Javascript

d3-time

Javascript

d3-time-format

Javascript

d3-timer

Javascript

d3-transition

Javascript

d3-voronoi

Javascript

d3-zoom

Javascript

dargs

Javascript

data-uri-to-buffer

Javascript

date-format

Javascript

date-now

Javascript

deep-extend

Javascript

deep-is

Javascript

deepmerge

Javascript

default-gateway

Javascript

defs

Javascript

degenerator

Javascript

deprecation

Javascript

des.js

Javascript

detect-newline

Javascript

detect-node

Javascript

di

Javascript

dnsruby

Ruby

dom-serialize

Javascript

encodeurl

Javascript

enhanced-resolve

Javascript

enum34

Python

error-ex

Javascript

es5-ext

Javascript

es6-error

Javascript

es6-iterator

Javascript

es6-map

Javascript

es6-set

Javascript

es6-symbol

Javascript

es6-weak-map

Javascript

es-abstract

Javascript

escape-html

Javascript

escope

Javascript

espree

Javascript

esrecurse

Javascript

es-to-primitive

Javascript

etag

Javascript

ethon

Ruby

event-emitter

Javascript

eventsource

Javascript

@evocateur/pacote

Javascript

execjs

Ruby

exit-hook

Javascript

faraday

Ruby

fastparse

Javascript

faye-websocket

Javascript

fbjs

Javascript

ffi

Ruby

figures

Javascript

file-uri-to-path

Javascript

finalhandler

Javascript

find-cache-dir

Javascript

flat

Javascript

foo

Javascript

foreground-child

Javascript

gather-stream

Javascript

gemoji

Ruby

gensync

Javascript

glob-to-regexp

Javascript

gonzales-pe

Javascript

hasha

Javascript

html-comment-regex

Javascript

htmlparser2

Javascript

http-proxy-agent

Javascript

https-proxy-agent

Javascript

humanize-ms

Javascript

husky

Javascript

i18n

Ruby

iferr

Javascript

@improved/node

Javascript

init-package-json

Javascript

ip

Javascript

is-alphabetical

Javascript

is-alphanumeric

Javascript

is-alphanumerical

Javascript

is-decimal

Javascript

is-directory

Javascript

is-hexadecimal

Javascript

is-svg

Javascript

is-word-character

Javascript

jekyll

Ruby

jemoji

Ruby

js-base64

Javascript

jsesc

Javascript

json5

Javascript

kramdown

Ruby

lcid

Javascript

leven

Javascript

liquid

Ruby

listen

Ruby

lodash.flattendeep

Javascript

lodash.set

Javascript

lodash.toarray

Javascript

log-symbols

Javascript

longest-streak

Javascript

loud-rejection

Javascript

macos-release

Javascript

make-dir

Javascript

make-error

Javascript

map-age-cleaner

Javascript

map-cache

Javascript

map-visit

Javascript

markdown-escapes

Javascript

markdown-table

Javascript

mdast-util-compact

Javascript

mem

Javascript

mercenary

Ruby

merge-source-map

Javascript

mimic-fn

Javascript

minima

Ruby

minipass

Javascript

minizlib

Javascript

mixin-deep

Javascript

nan

Javascript

nanomatch

Javascript

needle

Javascript

neo-async

Javascript

nested-error-stacks

Javascript

node-pre-gyp

Javascript

node-sass-chokidar

Javascript

nopt

Javascript

npm-bundled

Javascript

npmlog

Javascript

npm-packlist

Javascript

npm-run-all

Javascript

nyc

Javascript

object-copy

Javascript

object.pick

Javascript

object.values

Javascript

object-visit

Javascript

octokit

Ruby

osenv

Javascript

os-homedir

Javascript

os-locale

Javascript

os-name

Javascript

os-tmpdir

Javascript

package-hash

Javascript

parse-entities

Javascript

pascalcase

Javascript

pathutil

Ruby

pbr

Python

p-defer

Javascript

perfectionist

Javascript

p-finally

Javascript

p-is-promise

Javascript

pkg-dir

Javascript

pkg-up

Javascript

postcss-html

Javascript

postcss-jsx

Javascript

postcss-less

Javascript

postcss-markdown

Javascript

postcss-sass

Javascript

postcss-syntax

Javascript

pump

Javascript

q

Javascript

rb-fsevent

Ruby

rb-inotify

Ruby

regenerator-runtime

Javascript

regex-not

Javascript

release-zalgo

Javascript

remark-parse

Javascript

remark-stringify

Javascript

resolve-url

Javascript

ret

Javascript

rouge

Ruby

ruby_dep

Ruby

ruby-enum

Ruby

rubyzip

Ruby

safe-regex

Javascript

safe_yaml

Ruby

sass

Ruby

sawyer

Ruby

sax

Javascript

set-blocking

Javascript

set-value

Javascript

spawn-wrap

Javascript

spdx-exceptions

Javascript

stable

Javascript

state-toggle

Javascript

stringify-entities

Javascript

stylehacks

Javascript

sugarss

Javascript

test-exclude

Javascript

timsort

Javascript

to-fast-properties

Javascript

trim

Javascript

trim-right

Javascript

trim-trailing-lines

Javascript

trough

Javascript

tsconfig

Javascript

typed-ast

Python

type-detect

Javascript

@types/anymatch

Javascript

@types/d3-dsv

Javascript

@types/d3-ease

Javascript

@types/d3-force

Javascript

@types/d3-shape

Javascript

@types/d3-time

Javascript

@types/d3-timer

Javascript

@types/d3-voronoi

Javascript

@types/d3-zoom

Javascript

@types/diff

Javascript

@types/geojson

Javascript

@types/http-proxy

Javascript

@types/jest-diff

Javascript

@types/mdast

Javascript

@types/resolve

Javascript

@types/retry

Javascript

@types/rimraf

Javascript

@types/stylelint

Javascript

@types/tapable

Javascript

@types/uglify-js

Javascript

@types/unist

Javascript

@types/vfile

Javascript

@types/webpack

Javascript

typhoeus

Ruby

typing

Python

tzinfo

Ruby

uglify-js

Javascript

unbox-primitive

Javascript

underscore

Javascript

unherit

Javascript

unified

Javascript

uniq

Javascript

uniqs

Javascript

unist-util-is

Javascript

unist-util-visit

Javascript

universalify

Javascript

url-template

Javascript

user-home

Javascript

vendors

Javascript

vfile

Javascript

wrap-ansi

Javascript

y18n

Javascript

zipp

Python

@zkochan/cmd-shim

Javascript

ansi

Javascript

palantir/redoodle