GNU shall not pass!

*Thanks to Simon Phipps for coining “fake GNUs“, which I’m totally stealing.

The Free and Open Source Software (FOSS) community has been shaken by a minor yet interesting incident that has opened a discussion on politics and governance.

Lerna is a popular open source tool for managing JavaScript projects, and it is released using the MIT Licence. This licence is renowned as one of the most permissive FOSS documents in the licence ecology, and it is an excellent example of the four essential software freedoms. On August 28, a developer participating in the project made a pull request on GitHub that added a few lines to the project’s version of the MIT licence with the intent of prohibiting anyone involved with the US Immigration and Customs Enforcement (ICE) from using the software. The addition reads:

The following license shall not be granted to the following entities or any subsidiary thereof due to their collaboration with US Immigration and Customs Enforcement (“ICE”):

  • “Microsoft Corporation”
  • “Palantir Technologies”
  • “Amazon.com, Inc.”
  • “Northeastern University”
  • “Ernst & Young”
  • “Thomson Reuters”
  • “Motorola Solutions”
  • “Deloitte Consulting LLP”
  • “Johns Hopkins University”
  • “Dell Inc”
  • “Xerox Corporation”
  • “Canon Inc”
  • “Vermont State Colleges”
  • “Charter Communications”
  • “LinkedIn Corporation”

The reaction was immediate. While quite a few people applauded the change as a way to get back at ICE’s actions against immigrants in the United States, others saw it as a direct violation of the principles of open source software. The changes were reverted after the community went up in arms.

This event opened up a few legality questions about the validity of the changes and about licence versions. Most expert opinions I have read tend to agree that the change in the licence would not affect any licensors retroactively, and would only affect users of that particular version forwards. It is also possible that the project would have been forked without the new licence if there had not been a restoration of the original. While interesting in their own right, the legal aspect is not the most pressing issue raised by the changes, but rather the political and governance questions.

The first question is one of the core principles of FOSS development. The first freedom in Free Software is “The freedom to run the program as you wish, for any purpose (freedom 0)”. This is also encapsulated in the Open Source Definition, which states in points 5 and 6 that the distribution terms of an open source project must not discriminate against persons or groups, and neither against fields of endeavour. This has always been one of the guiding principles of FOSS, and while it may seem odious to some, it is an important part of the movement. If you start adding exceptions to your licence to stop people you don’t like from using your code, then you should not be participating in open source at all.

I do have to say that in some way I empathise with the feeling that went into the creation of the new restriction, as a Central American I abhor the mistreatment of my compatriots by US immigration officers. But I also recognise that this could be a slippery slope that could cripple FOSS. One day you discriminate against companies working with ICE, the next you allow licence restrictions against gay developers, or against a religion.

FOSS is clearly political in nature to some extent as it is a clear statement against closed source and proprietary software development. But the politics must be kept out of the licence itself, even if done with the best intentions this can have nefarious effects down the line.

Moreover, this would have no effect as there is always the possibility of forking a project to work around the perceived non-free anomaly, so even the intended goal would be easily bypassed by the very nature of FOSS. The result would be empty gesturing and, dare I say it, virtue signalling with no impact whatsoever.

On the meantime, watch this ICE video from Michelle Wolf.

Categories: Open source

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: