Many of us have used open source software and some of us might have even contributed at some point as well. The main principle behind open source is that code is created and shared for the mutual benefit of all. However, many of us don’t want to be unwittingly complicit in causes that are against our values. As a result, there is an inherent tension between the aspirations of open source and the people creating that software. The following stories illustrate some of the ways folks have tried to leverage open source as a way to change policy or prevent their code from being used to commit atrocities.
Let’s go over 5 recent examples of open source activism.
1. The left-pad fiasco
In 2016, Azer Koçulu had a module named
kik. Some time later a company also named “Kik” demanded Azer rename his module and he refused. Kik’s lawyers then demanded that NPM take his module name away. In retaliation, Azer unpublished hundreds of his modules, including
left-pad, which was a dependency for many extremely popular open source projects and broke build pipelines everywhere. NPM took the unprecedented step of re-publishing his unpublished module. Here the rights of a corporation arguably trampled the rights of the individual. Azer’s actions certainly gained widespread attention but was the focus on how one man broke the internet or what NPM did?
2. Chef and ICE
Seth Vargo was a former Chef employee who also contributed to several open-source tools, one of which was named Sugar, that made it easier to use Chef. Chef finalized a contract with ICE. At the time ICE was tearing apart families and putting kids in cages. Vargo believed he owned Sugar, but according to the very draconian contract he signed, anything he created was owned by Chef. Vargo believed “I have a moral and ethical obligation to prevent my source [code] from being used for evil.” and unpublished his tool in protest. Here’s the original story.
Chef re-published it.
The most striking part of this story for me is the idea of ownership and the kinds of things companies sneak into their contracts with software engineers. I encourage folks to read the contracts they sign and really make sure they know what they are signing up for.
3. No military clause license
This is the first story involving alternative open sources licenses. GPU is a Gnutella client that allows computers to network together and share CPU resources. The engineers behind this software added a no military clause in their license. Original article.
4. 996 license
Many of you may have heard of the “996” activism in China. It refers to the phenomenon of tech workers In China being forced to work from 9 am to 9 pm 6 days a week. The Anti-996 license requires that any company using the software must comply to international labor norms. Like the other activist license, this is difficult to enforce and serves mostly as a way to bring attention to labor practices. Original article.
5. Don Goodman-Wilson’s blog post
Don Goodman-Wilson argues that open source is fundamentally broken because it values consumers over creators, code over people, and leads to free labor for large companies who benefit massively from open source but do not reciprocate. The Ethical Source Movement has since sprung up as one possible solution. Perhaps we need a new software sharing model that bestows greater control for coders to outline which causes they do not want to participate in and a mechanism to enforce those wishes.
The tactics used in these stories center around either un-publishing modules as a mode of protest or including licenses that communicate your point of view. Licenses are difficult to enforce, and as a result, are more symbolic. However, they might bring attention to important issues, like inhumane work conditions. Un-publishing modules attract attention too, but I imagine a lot of companies are caching modules these days or have module registries of their own, rendering this less effective.
These stories bring up important issues about the nature of open source. There is so much evil happening in the world today. It is inevitable for folks to ask themselves who is using their software and understandable that they don’t want to unwittingly contribute to atrocities or to large companies that aren’t giving anything back in return.
The question remains how we keep the good parts of open source, such as the sharing of code in the programming community and not re-inventing the wheel over and over, while avoiding the bad parts, like bad people using your code.
What do you think is the future of open source? Do you have some stories of activism in open source as well? Share them below!