2020-05-09 Ethics and licensing

In 2018, I wrote about ethics in programming and today stumbled on a related thing when @decentral1se mentioned the Hippocratic License:

Politics and software are so tangled that they cannot be reasonably separated. … if those novel situations involve harming other people, we can and should feel responsible. … the Hippocratic License … specifically prohibits the use of software to violate universal standards of human rights

I understand the problem of interoperability, the difficulty of enforcement, the headaches of assembly… and yet! And yet. Remember Code is Law? Software is politics and programming is about making ethical choices. Why should the license be a technocratic decision? We fought proprietary software and while we haven’t won that’s not a reason to avoid a second battle. We are humans. We can juggle many things. Our opponents do, too. We can do this.

As humans, I feel that most of us do not want to be complicit in crimes. We don’t want to be working on weapons. We don’t want to be working for organizations that do evil. If we agree that people can have these goals while working, why should programming be different?

Sometimes a tool is like a shovel and we cannot prescribe what people do with their shovels. But when we can, and when we think this is fact necessary, we do add safety measures to physical tools in order to prevent their use as weapons. And where we cannot, we regulate their use: building regulations, traffic regulations, we have added safety standards everywhere so people don’t manufacture dangerous tools and so people don’t use tools in dangerous ways. Why should complex software be different?

As a human, you have the choice not to participate in crimes (I hope!), and you have the choice to design your products such that it is harder to commit a crime, and you can make contracts that forbid recipients to use products in certain ways – its all there, for good and for evil. Why should programmers relinquish this option which is at their disposal?

Free software activists have used free software licenses to fight back against proprietary software that is hard to audit, hard to study, hard to copy, hard to modify, hard to distribute. We have used copyright and license to guarantee freedom where the powers that be would have had us relinquish that freedom and let capital have its way. And we did it!

Sure, the fight for free software is not yet over but that is not an excuse. We can fight for ethical software at the same time. We can fight for it in politics, we can speak for it on our blogs, and we can push it using our licenses.

It might not be free software as we know it, but it will still be free software. There is no golden standard of freedom. Freedom is a balancing act that needs to be renegotiated again and again. And sometimes a freedom is curtailed for another freedom to flourish. In most democracies, for example, the constitution limits the laws that can be passed such that a simple majority in parliament cannot abuse a minority. This limitation is for the greater good: the consideration of legal interests is an ongoing process.

Here is what I’m talking about:

The freedom to run the program as you wish, for any purpose (freedom 0). – Richard Stallman, The Free Software Definition

I consider the freedom to run the program as you wish to be an important freedom, but it is not an absolute freedom. It can and it must be weighed against other legal interests, other freedoms and other rights – rights like the ones listed in the Universal Declaration of Human Rights.

As I said at the top, more licenses is always a problem, specially if these are more licenses trying to achieve the same thing in incompatible ways, like free software. But there will always be new goals, and therefore there will always be a need for new licenses. We are not going to spend the next millennium without new licenses, for sure. Might as well make it a license that puts Human Rights first.



See also, A Six-Month Retrospective on Ethical Open Source by Coraline Ada Ehmke. Also, her other publications listed on Model View Culture.

– Alex Schroeder 2020-05-09 13:04 UTC

And interesting note by @sir, Thoughts on the subject of ethical licenses. He argues three points:

“Anyone who is prepared to violate human rights is going to have no problem ignoring your software license, too.” This is true. But I believe that it does send a message. Not all laws are necessary or enforced. We recently added sexual orientation to a list of things one may not discriminate against in Switzerland even though some people argued that it was already implicitly illegal due to some other law. Not sure whether the law was therefore unnecessary. I voted in favor of that change.

Sometimes interpretations vary by country. Many people in the US don’t consider water boarding to be torture, for example. And yet, this is having an effect outside of the US. We don’t like to send people wanted in the US to the US for fear of cruel and unusual punishment. Abroad, the US is now viewed as a country that may torture prisoners. So, even if human rights are ignored somewhere, highlighting this fact is going to have an effect. If ICE is violating human rights in the US a developer using a software is now both complicit in what is considered a crime abroad, and in violation of a license. I don’t think people will ignore this.

“It’s difficult to comply with” is a good argument. But that hasn’t stopped other laws from going into effect: enforcing GDPR is hard. Enforcing copyright and DRM is hard. Enforcing ethics is also hard. Perhaps it’s a good thing that we’re outgrowing the simple problems. Time to tackle the hard ones.

“It’s not open source.” I think already discussed this in the blog post. It’s true. Ethical software puts limits on freedom zero, the freedom to use the software for anything. There are limits.

– Alex Schroeder 2020-05-09 13:30 UTC

Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.