An introduction to 'ethical licensing'

Technology, and programming, has always been political. I’ve very little time for discussions which try to separate “tech” and “politics”.

The same is true with licensing models.

Over the last couple of years, I’ve seen more people talking about “ethical licensing”. And, while I’ve yet to see an “ethical licence” come up in the course of my work, I thought it might be an interesting topic for a blog post.

FOSS licensing (as a common comparator)

I’ve worked with Free and open source - FOSS - licences for a long time now.

This post won’t be a primer on FOSS licensing but, in essence, the core of Free software is four freedoms:

The freedom to run the program as you wish, for any purpose (freedom 0). The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this. The freedom to redistribute copies so you can help others (freedom 2). The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

The Open Source Definition has ten criteria.

Notably, for the purposes of this article, it includes:

  1. No Discrimination Against Persons or Groups_ The license must not discriminate against any person or group of persons.

and

  1. No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

In simple terms, FOSS licensing focusses on ensuring the right to run, copy, and use software, for anyone and everyone.

“Ethical licensing”

What is an “ethical licence”

“Ethical licences” do not seek to ensure the right to run, copy, and use software, for anyone and everyone.

My sense is that proponents of “ethical licensing” regard the notion that anyone can use the licensed code - core to FOSS - as a bug, a problem, an undesirable feature.

They don’t want large organisations, or arms dealers, and so on, using their software.

To achieve that goal, they seek to restrict who can use the licensed software, to people who are formed / behave / work / believe in a particular way or particular things.

Examples of “ethical licences”

The “Organization for Ethical Source” has a good list of examples of “ethical licences”.

This includes:

Interpreting ethical licences

It’s not always easy to parse ethical licences. At least, I don’t find it easy to do so; perhaps YMMV.

FOSS licences are far from perfect in this regard too, of course, and are prone to “well, that’s how the community interprets it” readings, so this isn’t an issue unique to ethical licences.

Without meaning to pick on particular licences, but rather for the purposes of explaining my point, take, for example, the Do No Harm License.

One of its conditions is that:

This software must not be used by any organisation … that … promotes … warfare … [or] dissuades … peace

Does this mean that an organisation which uses software under this licence to, say, support Ukraine in repelling the Russian invasion infringe copyright? Is fighting back “warfare”? Does it “dissuade … peace”?

What interpretation would the rightsholders take?

What would a court decide?

A second example is the Cooperative Non-Violent Public License, which says:

You may exercise the rights granted in the license grant for any purposes only if … [y]ou do not use the Work to … Discriminate … on the basis of sex, sexual orientation, gender identity, race, age, disability, color, national origin, religion, caste, or lower economic status

“Discriminate” is defined as:

use of a work to differentiate between humans in a such a way which prioritizes some above others on the basis of percieved membership within certain groups.

My reading of this is that using code covered by this licence to manage a grant process to help target grants to those most in need (e.g. on an economic basis) would be prohibited: it discriminates (positively) on the basis of economic status.

I don’t know if this is a political choice (that any discrimination, even positive discrimination, is problematic) or if it is a drafting bug, or simply my misreading or misunderstanding (I can’t rule that out).

It also says:

A Network Service is the use of a piece of Software to interpret or modify information that is subsequently and directly served to users over the Internet.

So if I run that software, but with an nginx proxy in front of it, it ceases to be a network service, because - by virtue of being proxied - the information is not “directly” served to users?

Perhaps, like many FOSS licences, there is some accompanying narrative - FAQs, community enforcement guidance, wise words shared on a mailing list - which acts as an aid to interpretation, or at least an understanding of what the drafters had in mind?

Adopting ethical licences

For someone who does not want organisations, or people operating in particular fields, to use their software, a FOSS licence is unlikely to be attractive. I can definitely see the appeal of an ethical licence.

Similarly, some individuals or groups might be keen to use software licensed under one or more ethical licences, and so need to understand whether they can or cannot do so. (And, in the case of commercial organisations (perhaps even decoded.legal Limited, even though Sandra and I are both directors, shareholders, and the only employees?), that might not be permitted, under, say, the Cooperative Non-Violent Public License.)

I’ve yet to work through some of the issues which the FOSS community has tackled / continues to attempt to tackle.

For example:

Interesting times ahead.