Questions about Open Source in light of the Lerna license amendment

Last week, a pull request was opened on the Lerna repository. The request amended the license to prohibit use by sixteen entities who are known to collaborate with ICE (US Immigration and Customs Enforcement) and was merged.

In this post I’d like to explore and hopefully start a discussion about the questions this raises about Open Source software (OSS) and highlight issues within the tech community. Most of all I’m interested in a discussion around the idea that politics and software development are mutually exclusive.

Disclaimer: I’m not actively involved in the development of Open Source software - I’m a web developer that uses it a lot to help with my work. I’m not here to talk about the instigator of this situation or the specifics of Lerna.

What happened

As previously mentioned, the pull request amended the license for Lerna to prohibit use by sixteen ICE collaborators. To quote directly from the comment:

“For the companies that are known supporters of ICE: Lerna will no longer be licensed as MIT for you. You will receive no licensing rights and any use of Lerna will be considered theft. You will not be able to pay for a license, the only way that it is going to change is by you publicly tearing your contracts with ICE.”

I would strongly recommend that you take a scroll through the original pull request to get the full context and also to gauge the reactions of people to this change. What’s clear is that the open source community is divided on this issue. One interesting objection is that this change means that Lerna no longer qualifies as OSS, which I will follow up on in “Is Open Source a good thing?”.

News of the update spread, even reaching Motherboard. Of particular interest is the discussion on Reddit boards, such as /r/programming and /r/javascript, which further shows the negative reaction this amendment received.

By far the biggest opposition to this change seems to be the idea that politics should not be mixed with software development:

“Adding your political beliefs to your licensing is petty” – [link]

“Shoving politics into code will not help anyone.” – [link]

“shitload of virtue signaling” – [link]

“nothing but virtual signaling, which has no place in tech” – [link]

Shortly after the initial pull request, another contributor (who happens to be a Microsoft employee) opened a pull request requesting that Microsoft and its subsidiary, LinkedIn, be removed from the list.

However, it was not long before the entire amendment was reverted. This was accompanied by an apology and removal of the original instigator due to code of conduct breaches. The situation was characterised as “rancorous sniping and harmful drama” by Lerna maintainer, Daniel Stockman. This reversion was described as “an important victory for open source software” on the ProgrammableWeb. Many in the comments of the pull request saw this reversion as a return to sanity and a reduction of harm, as if they believe that the sanctity of their open source project was of greater importance than people having their entire lives uprooted by ICE.

Why I believe this is important

I believe this amendment was intended to put pressure on these named sixteen entities through their developers. The idea being that without the use of Lerna, the developers would face significant setbacks and therefore they would put pressure on their superiors.

Now, I can see that there are a few issues with this interpretation, one of which I’d like to follow up on in “Outstanding questions” below. I don’t believe (and I won’t presume other supporters believe) that this act alone is going to stop ICE. But I understand that the general tactic of the amendment is to cause disruption, perhaps in a similar way that a picket or protest might.

The amendment (and its response) shines a light on a prevailing issue within tech. There appears to be a belief that tech is some kind of holy domain where we get to work in perfect abstractions. Many tech workers seem to believe that this industry is in a bubble and that there are no tangible repercussions affecting the outside world. It’s this belief that leads many to demand that “politics be removed from tech”. But let’s briefly examine how tech and politics are already intertwined.

Jeff Bezos, CEO and founder of Amazon, has become absurdly rich off the back of being allowed to dominate ecommerce - so rich in fact he was at a loss of how to spend his money. All the while, working conditions for Amazon warehouse employees are extremely poor and the company appears to be setting up a fleet of Twitter bots to attempt to dispute it.

Google has worked with the US Department of Defence on helping to create AI for US drones. They also previously owned Boston Dynamics, a robotics company that had projects funded by, again, the DoD who produce robots that provide support in the battlefield.

There are plenty more examples like these: Elon Musk’s history of opposing his employees unionising, Facebook losing control of its user’s data, Twitter refusing to ban nazis from it’s platform. All of these things are inherently political, so why are we trying to pretend that tech and politics are mutually exclusive?

Big tech companies are just like any other company. Just because they produce products that we like and find useful, it does not mean that they are our friends. They are just as capable of being as terrible as a bank, financial institution or any other large company. These companies do not exist in a vacuum; if they can benefit from the US government’s neo-colonialist foreign policy or their racist domestic policy, then they will!

To go back to the issue at hand, let’s take the example of Microsoft’s involvement with ICE. As mentioned above, a Microsoft employee (and Lerna contributor) requested Microsoft and LinkedIn’s removal from the prohibited list shortly before the whole thing was reverted. It’s clear to see from the quoted comments in their pull request that Microsoft is dancing around the facts. They make the point of saying only that they aren’t involved in “any projects related to separating children from their families at the border”… but refuse to say that they do not and will not work with ICE. The pull request doesn’t even deny that Microsoft has historically worked with ICE, as if ICE has only just become bad. A search shows us that Microsoft have received over $5,000,000 from ICE contracts in 2018 alone (with the most recent contract ending the day after the original pull request was opened). It’s not important to me what the contracts were for - the facts are that they were enabling and working with ICE. Microsoft’s Twitter bio says they’re “[…] on a mission to empower every person and every organization on the planet to achieve more” - it seems they’ve taken “every organization” a little too literally.

Tech workers should remember that these big company CEO’s and these multinational corporations are not our friends. They will sell our information, use our code, violate us, do whatever it takes to keep. making. money. Our solidarity should be with those being exploited, displaced and attacked, not with a handful of unbelievably wealthy people.

I believe this disruption with Lerna has the potential to open up this conversation further. I hope that, despite it being reverted so soon, that the spirit of the amendment can continue and show that our code is already political.

Is Open Source a good thing?

I want to reiterate that I’m trying to start a discussion - I’m happy to talk about all of this on Twitter. I’m not about to pretend to be all that knowledgeable about Open Source and its ideals, but I do want to cover a few things.

One quirk I’ve always noticed with OSS is that companies are able to skyrocket their productivity and output by having their developers make use of OSS, without having to pay for the underlying software. Now, being able to use this software as a developer makes my life ten times easier, but why should a company profiting from OSS not have to pay license fees to use it?

This inevitably leads onto another question. Why are people willing to work for free? A likely answer is because they believe in the values of OSS, which is noble. However, take the example of a maintainer of the average project, whose main employment doesn’t cover its constant maintenance (I’m not talking about projects like React for example). I find it odd that the developer can happily commit their personal time to the project, just for large companies (who undoubtedly have the cash to pay) to be able to use it for free. Don’t they want to get paid for their time? How can they afford not to? Again, I don’t understand why a company should get the benefits of OSS for free. Many other industries/communities are extremely aware of the allure of working for free, usually under the guise of gaining exposure or experience. It should be possible to believe in the values of OSS, without being exploited by business.

I also find something disconcerting about the emphasis to which freedom is valued within the discussion of OSS. It seems as though the foundations may be libertarian in nature. For example, Eric Raymond’s response to the Lerna situation is centered around this notion of freedom. Eric states that the Lerna license amendment would be breaking a clause from the Open Source definition, by discriminating against persons or groups. This is extremely contradictory because the groups being “discriminated against” (the list of sixteen ICE collaborators) are in turn enabling discrimination themselves. It’s a very questionable use of the term discrimination to say the least. Now, do we really value the freedom of this software to the extent that ICE is allowed to use it? Are we prepared to be so absolutist? What do we gain from that? Eric would have us believe that prohibiting use by these sixteen collaborators is “actually dangerous to civilization”. Is that not the same “civilisation” that ICE operates within? This is another example of presuming tech to be in a bubble disconnected from the outside world.

Finally to the point that this amendment renders Lerna non-OSS. Again I would go back to this apparent requirement that the software must have 100% freedom. What is so wrong with changing the license to simply exclude those sixteen collaborators? Anyone will still be free to use Lerna, it just won’t be available for use by the named entities (until they cease their contracts with ICE). Is this really as impractical as it’s being made out to be? It certainly doesn’t sound it. I do not see the benefits of a project being religiously open-source-by-definition in the face of big, real world issues.

I don’t believe Open Source is all bad, there’s certainly many benefits from it. I’m sure there’s not a developer today, beginner or experienced, that hasn’t benefited from an open source project. However, alongside those benefits, there’s also room for exploitation. I’m not suggesting that we pull the plug on Open Source, but, as a community, we do need to revisit our principles.

Outstanding questions

This situation provides us with a valuable opportunity to shed light on some blind spots in tech. Here are the questions that strike me as outstanding:

  1. If the proposed license change had survived, what could stop a fork under a different license (that could then be used by a prohibited entity)? In fact, shortly after the original pull request, it actually happened.

  2. Is there potential for a progressive license that can prohibit use by entities such as these sixteen collaborators? It seems as though this is not a new idea, with examples such as the Do No Harm License and Anti-Fascist MIT License.

  3. How can we further the conversation on this disconnection/apathy many tech workers seem to have towards these big companies?

  4. How can we raise general awareness that the concept of open source software being free for everyone is inherently political?

  5. How can we better analyse movements and incidents within the tech community from a progressive viewpoint?

Conclusion

As I mentioned before I’m really open to talking further about this and I’m also happy to make amendments to this post if I have made any mistakes. I’m passionate about ensuring that tech is used for actual good, and by that I mean ensuring workers rights, ending discrimination, not enabling western governments to bomb and intervene in other countries, etc. I expect that if you do not share those same values then we have already disagreed before I began writing this post.

As an aside, there was one specific argument I noticed against the amendment that I feel I just can’t ignore. This is the argument that given that the Lerna repository is hosted on GitHub, and that GitHub is owned by Microsoft, that this is some sort of extreme irony that invalidates the original intention. I find this pretty weak, this issue is about prohibiting use of Lerna by Microsoft, it doesn’t necessitate that the project move from a Microsoft product. I think this webcomic is all else I need to say on this.

A frail person carrying sticks says 'We should improve society somewhat', as a grinning, slick man pops his head out a well saying 'Yet you participate in society. Curious! I am very intelligent'.

Credit: Matt Bors

I just wanted to end on this note. In tech there’s always talk about disrupting industries, innovating and making the world a better place. I would really encourage us to think about whether this progress is actually being made right now. I don’t believe we are making that progress, but tech workers are capable of playing a role in changing that.