So when news of GitHub’s contract with ICE emerged, its employees weren’t the only ones outraged. Because of the transitive nature of open source, volunteer developers—who host code on the site to share with others—may have unwittingly contributed to the code GitHub furnished for ICE, the agency responsible for enforcing immigration policy. Some were troubled by the idea that their code might in some way be used to help agents detain and deport undocumented migrants. But their outrage—and the backlash to it—reveals existential questions about the very nature of open source.

Read: How Trump radicalized ICE

Richard Schneeman is a software developer in Austin. Since 2012, he’s contributed to Ruby on Rails, an open-source coding software that GitHub has long used as part of its infrastructure. “Since I have contributed to Ruby on Rails, and I know that GitHub is using Ruby on Rails, I know that ICE is directly using my code,” he told me. “When I first found out, I was like, Oh, this has gotta be a mistake, right?”

In December, Schneeman signed an open letter alongside 2,000 other open-source contributors, who called the ICE contract a betrayal of open source’s commitment to “inverting power structures and creating access and opportunities for everyone.”

When reached for comment, a spokesperson for GitHub referred me to an October blog post from the company’s CEO and co-founder, Nat Friedman. The post acknowledges the work GitHub has done to connect and build users, but also points to a tension central to the open-source project. For a project to call itself “open source,” it can’t place restrictions on who can and cannot access it.

Friedman noted that although GitHub is an enormous part of the open-source community, its contract with ICE is for a different product, the GitHub Enterprise Server—a version of the typical GitHub platform retooled for the company using it. Data are hosted on the company’s own servers, access is restricted solely to its own employees, sharing is limited based on internal rules and regulations, and so on.

Friedman explained that GitHub doesn’t know the specifics of how ICE is using the Enterprise product. He maintained a distinction between the open-source repositories the platform is known for and ICE’s “private work” using the Enterprise software. As he argued, interrogating the agency or potentially terminating its contract would compromise Github’s core philosophy.

“A world where developers in one country or every country are required to tell us what type of software they are creating would, in our view, undermine the fundamental rights of software developers,” Friedman wrote in his blog post.

It’s important to note that GitHub has a code of conduct and has removed users from its site for violating those terms. Being unpopular is neither illegal nor a violation of the terms of service.