With thousands of immigrant children separated from their parents under President Donald Trump's anti-immigration policies, the US Immigrations and Customs Enforcement (ICE) has made many enemies. At the same time, software companies like Chef Software, the DevOps company, work with ICE. So, when open-source developer Seth Vargo discovered his open-source project, Chef Sugar, was being used by Chef, he pulled his code. And then he and Chef Software both discovered just how much Chef, the program, relied on his library.
Chef Sugar is a Ruby library that makes it easier to work with the DevOps program Chef. Varga developed and open-sourced the library while he worked at Chef, and the library was later integrated into Chef's source code. But, while open source, Chef Sugar's most up-to-date code still lived on Vargo's personal GitHub repository.
So, when Vargo, now a Google Cloud engineer, declared he has "a moral and ethical obligation to prevent my source from being used for evil," he removed his code from both GitHub and RubyGems, the main Ruby package repository.
Quickly, Chef Software found that, as CEO Barry Crist said, this had damaged "production systems for a number of our customers." The company's quick fix was to find and upload old Chef Sugar source code to its corporate GitHub account. But simply getting the software back up and running didn't stop the protest.
Programmers both inside and outside Chef defended Varga's actions.
Crist's initial reaction was to stay the course.
"While I understand that many of you and many of our community members would prefer we had no business relationship with DHS-ICE, I have made a principled decision, with the support of the Chef executive team, to work with the institutions of our government, regardless of whether or not we personally agree with their various policies. I want to be clear that this decision is not about contract value -- it is about maintaining a consistent and fair business approach in these volatile times."
"I also find policies such as separating families and detaining children wrong and contrary to the best interests of our country."
That wasn't good enough. Developers and customers alike declared they wanted Chef to cut its ties with ICE. So, several days later, Crist reversed his course. Crist, saying he had privately agreed with his anti-ICE staffers, wrote that he was sorry Chef Software hadn't followed up these personal positions with corporate action.
"I apologize for this. I had hoped that traditional political checks and balances would provide remedy and that our relationship with our various government customers could avoid getting intermingled with these policies. However, it is clear that checks and balances have not provided relief to the fundamental issues of the policies in question. Chef, as well as other companies, can take stronger positions against these policies that violate basic human rights."
"After deep introspection and dialog within Chef, we will not renew our current contracts with ICE and CBP [Customs and Border Protection] when they expire over the next year. Chef will fulfill our full obligations under the current contracts. In addition, Chef "will donate an amount equivalent to our 2019 revenues from these two contracts directed to charities that help vulnerable people impacted by the policy of family separation and detention."
While Vargo addressed this change directly, he did tweet: "I'm not allowed to talk anymore, but there's a new blog post y'all should read. It's not perfect, but it's a start. Thank you to everyone who stood and continues to stand for what's right."