Free software development always has an ethical dimension. We develop free software instead of proprietary software to allow people, the users of our software, to not be as controlled by vendors of proprietary software as they might otherwise be.

Software freedom is, however, only one ethical dimension. Free software can also be unethical, for example by doing things that hurt people. As an extreme example, a free software implementation of ransomware would be quite problematic, under any licence. It doesn't matter if the program is, say, under the GPL licence, if it attacks people's computers, and encrypts their data and refuses to decrypt it until the author of the program has paid a ransom. Not even if the program installs its own source code on the computer when it encrypts all other data would it be considered ethical.

When you write software you should consider the ethics, the morality, and the impact on everyone. For example:

  • Does it promote racism, sexism, or violence, directly or indirectly? For example, if it's an "AI" that tries to guess if someone will commit a crime in the future, is it effectively only based their race?

  • Does it use bandwidth unneccessarily? Bandwidth is an expensive luxury in some parts of the worlds, so wasting it discrimnates against people in those parts of the world.

  • Does it "call home", such as report usage to the developers? This violates user privacy. Gathering usage statistics can be very useful to the developers in more ways than one, but to do so without requesting permission remains a violation of privacy.

Have you encountered ethically problematic software? Or perhaps have you found some exemplar of ethical software development? Why not give an example in the comments below...

"Does it promote $BADTHINGS, directly or indirectly?"

Slippery surface, as one can easily put GPG/TOR/GNUNet (and loosely following your example, R) in that $BADTHINGS basket.
A medical professional cures people regardless, a lawyer defends their client regardless: is a Free Software contributor more equipped to indulge in this deontological Pandora's box?

Comment by fa-ml Wed Oct 25 13:15:15 2017

Computer/Programming/Information Ethics is a whole discipline in itself, though it is certainly a topic that every programmer really ought have some grounding in.

The Wikipedia page on the topic - https://en.wikipedia.org/wiki/Programming_ethics - is a good place to start for more general information and some ideas about what to consider.

For a more philosophical exploration of the topic, the Stanford Encyclopedia of Philosophy has some good articles, such as: https://plato.stanford.edu/entries/ethics-computer/ and https://plato.stanford.edu/entries/computing-responsibility/

There are also a whole range of books on the topic both from computing perspectives and more philosophical ones.

The Open University also offers a free course on the subject, Introducing Ethics in Information and Computer Sciences

Comment by lesley.g.mitchell Thu Oct 26 12:43:51 2017