What the NPL is For and Why I Created It

For those unfamiliar, over the past 2 to 3 months I've been working on two software licenses, the The NPL and CNPL. The NPL and CNPL webpage describes what the licenses are for, but to summarize:

The Non-Violent Public License aims to ensure basic protections against forms of violence, coercion, and discrimination which creations are frequently leveraged for in the modern world. This license covers several formats of creative work, but has extra terms for software given the power it has as a tool outside of its creative capacities.


The Cooperative Non-Violent Public License goes further and only allows commercial use of the copyrighted work for individuals and worker-owned organizations. It is a superset of the NPL and contains all of the same terms otherwise.

Aside from these principles the licenses are identical in aims to traditional copyleft for creative works and the AGPL for software.

What it is For

The NPL License is intended for use by creatives to make any kind of project copyleft but also socially responsible for its impacts and usage. It can be used when licensing software, art, books, or music and subverts the power of intellectual property laws for social good rather than evils. I think that's pretty straightforward. I have not had any artists, writer, or musicians approach me about issues with the license, because those applications are fairly straightforward. Instead of exploring those, I will look at the use of this license when it comes to writing software. Especially since all of the comments and concerns about the NPL come from people imagining its use as a license for a software project.

Not all software should be licensed NPL. In fact, I'd encourage projects to carefully consider before moving to the NPL or adopting it. The NPL is best for licensing high-level software which interacts with users. The special terms of the NPL which both distinguish it from and make it incompatible with certain other licenses all deal with how software and humans interact, so licensing a library as NPL is useless and just causes license compatibility issues. One of the advantages of traditional copyleft is that other organizations using your system utilities and libraries are compelled to improve them for the entire community and that has to be balanced against the ethics of how the software is used. By using the NPL for libraries, you are discouraging adoption (by unethical entities, but nonetheless) which isn't good for system utilities which really need as many eyes on the code as possible and security patches from everyone using it. For application-level software that interfaces with users like web servers, desktop applications, etc the ethicality of their applications actually begins to matter, so that is what the NPL is targeting. There is one exception to this rule of “don't use the NPL for libraries” however. The NPL should be used for libraries which have extreme ethical ramifications in every possible application. Examples would be biometrics libraries and tracking utilities which are easily abused in contexts like mass surveillance or even just regular corporate surveillance. Only using the NPL for high-level software maximizes the ethical benefits while minimizing fragmentation of the software ecosystem.

So to summarize: The NPL is for licensing art, books, music, other cultural works, high-level software, and software libraries with significant ethical ramifications.

Why I created it

“Free Software, Free Society” is what FLOSS devs always look back to when describing the politics behind their software licensing, the copyleft framework for subverting copyright law for good rather than its evil origins. However, the phrase from Stallman's eponymous book has a glaring oversight when you look at the applications of FLOSS software in everyday life. Today, software licensed under the GPL, far from freeing society, provides the backend for tools of oppression from state biometric databases to the web infrastructure for ICE and associated contractors. Free Software is not actually equipped to Free Society, it is in many cases actively arming the oppressors. So the goal of the NPL is to take responsibility for free software's use in order to actually free society. IBM's computers did the number crunching during the holocaust, and god forbid nothing like that happens again, but should it happen it definitely should not be able to leverage software which was supposedly created to “free society”. So I created a license which provides the same freedoms for anyone not taking part in activities which are violent or adjacent to violence to hopefully ensure, at least under a society enslaved to IP lawyers, that a FLOSS application isn't providing the framework for oppressors to use.

This definitely goes against the grain in the free software / open source software community, where developers are seemingly content with saying “I just really really really want nazis to use my work, but like, in a totally politically neutral way 😇”, but fuck that shit this needs to be done.