In our increasingly politicized world, it has become popular to chant “all software is political.” Software builds the systems that free or constrain us, the thinking goes, and so we should withhold it from bad people. This is the thinking that has led Microsoft employees and others to decry contracts tech companies have with ICE (US Department of Homeland Security Immigration and Customs Enforcement), insisting that their software only be sold to people they like.
This has some precedence, with enterprise software contracts regularly prohibiting the sale of software within certain countries, to abide by US (or other countries’) laws. It has no precedence within open source, nor should it, as the recent conflagration over the Lerna project has exposed.
Open means just that: Open
Motherboard’s Daniel Oberhaus does a great job of explaining the Lerna controversy, but in a nutshell: Lerna developer Jamie Kyle doesn’t like ICE and changed the Lerna license to prohibit its use by ICE.
Early open source luminary Eric Raymond explained the problem with such an action: “Lerna has defected from the open-source community and should be shunned by anyone who values the health of that community. The Lerna project’s choice is, moreover, destructive of one of the deep norms that keeps the open source community functional–keeping politics separated from our work.”
SEE: Software licensing policy template (Tech Pro Research)
Get that? It’s not about ICE, and whether its actions are reprehensible. It’s about keeping code neutral.
No, not those that use the code, but the code itself. Over the years we as an open source community have experimented with all sorts of stupid ideas, like efforts to block anyone from using code for commercial purposes unless they pay. Each time, we’ve realized that as good a goal as it is for developers to get paid, for example, the destruction caused by closing off the code to uses we don’t like ends up ruining the foundations upon which open source rests.
This is dramatically more important, however, when it comes to attempts to politicize open source software.
As developer Chris Cordle stated, “Nobody wins” and the “whole idea [undergirding open source] dies” … “if an author arbitrarily picks and chooses who can and can’t use it based on whoever Twittersphere is mad at this week.” It doesn’t matter if there is tremendous cause for that anger. Open source dies when it becomes politicized.
Free as in speech
Free speech guarantees are not guarantees if we can shut someone up just because we disagree. Open source is not open if we can close it off just because we disagree with the one using it. This is more than a slippery slope: It’s a greased pole into open source oblivion.
We really don’t want to live in a world where all the open source software comes with asterisks that determine who can and can’t access a GitHub repo. Open source depends upon the guarantee that, provided I agree to treat modifications as the license requires, I can use that software however I want, be it to celebrate LGBTQ+ rights in one application or run artificial intelligence (AI) algorithms that deny Chinese citizens access to information.
Speaking of ICE, I absolutely think we should get involved in defending immigrants’ rights. But, no, we shouldn’t ruin all the value open source creates in order to achieve that worthy end. There’s a place for politics, and it’s not in the open source license.