Do No Harm License
A license for developers who write code for a better world
As developers we can no longer ignore the fact that the code we write is being used by individuals and organizations to the detriment of our society.
The Do No Harm License is for developers that agree with the principles of open source software, but are uncomfortable with their software being used as part of efforts to harm people and planet.
This license is for developers who want their code to contribute to a better world.
It allows free use of the software except by organisations, projects or products that promote, lobby for or derive a majority of income from abuses of human rights, environmental destruction, conflict and war and addictive or destructive products and services. It also excludes use of the software by organisations, projects or products that discourage or frustrate peace, human rights, democracy and environmental sustainability.
This license is currently in draft and should not be considered stable.
We want to create a license that the community is invested in, doing so takes time to gather input.
We're working towards a version 1 of the license.
Simply copy the LICENSE.md file into your projects, add your copyright information, and use the abbreviation
NoHarm-draft where necessary to describe your choice of license.
Can I add/remove my own exceptions?
If you do, then please be sure to choose a new name for the license so as to make it easy for people to automatically analyse licensing of package dependencies.
How did this come about?
We started creating libraries to solve problems we faced, and wanted to give back to the community on which our software depends.
We strive every day to create tools for that more just and equal world, and wanted to discourage misuse of the code we share for purposes directly opposed to the values we stand for.
A license that aims to ensure every usage contributes positively to the world creates a cumbersome, subjective hurdle which is difficult to implement. Instead, the NoHarm license was created with a simple negative screen for anyone who would use the software. It is intended to clearly target the most egregious and unambiguous harmful behaviours by people and organisations to others and to the environment.
Ultimately the aim is that this license be adopted by software developers are concerned with how our code is used.
We strive to make the license specific and broadly adoptable so that individuals and organizations can use code under this license without fear of unnecessary or punitive enforcement.
This means that the license may not always cover every kind of unethical practice that we would want to exclude so as to prevent the license from being overly complicated or overly restrictive to the point where virtually no organisation could safely use the code.
We welcome suggestions and improvements. If you would like to suggest improvements, please open an issue.
We prefer additions that:
- Add clarity,
- Address an important issue that we have overlooked,
- Foster adoption (see above), and
- Are concise, where possible avoiding lengthy legal definitions.
Issues that are opened to discriminate, promote hate speech, incite violence, bully, harrass, etc. may be closed or deleted without comment.