Ethics in Software.

Development ethics

How do we, as committers of a project and actors of its community, make our product more ethical? There are a couple of easy steps:

Other more time-consuming aspects may include software quality attributes, like reliability, maintainability or usability, community-related commitment to diversity and support, and user data protection.

Adopt a code of conduct

There are thousands of examples on the Internet -- see the dedicated section on this web site. The simplest option is to use a ready-to-use template like the Contributor Covenant.

Enforce ethics in the project

Morality cannot be legislated, but behavior can be regulated.

-- Dr. Martin Luther King, Jr., UCLA, 1965

Having a code of conduct is simply not enough. It needs to be enforced, and procedures are to be created to report safely harassment and unethical behaviour.

See the word of the covenant licence team on this topic. It is also worth noting that it may be needed to include a mechanism for addressing grievances to prevent abuse of the code of conduct -- see http://citizencodeofconduct.org/ section 8.