Update (2019-11-25): Audrey Eschright has made a link roundup of “pieces I’ve been reading on the topic of modern free and open source software practices, licensing, and ethical concerns.” Thanks, Audrey! (Thanks also to Sumana Harihareswara, whose tweet alerted me to this fine development.)
Update (2019-10-23): Christie Koehler has written a great piece on this same topic: Open Source Licenses and the Ethical Use of Software. It’s much more in-depth than my treatment below; I highly recommend Christie’s post if you’re looking for a thorough examination of this trend.
I just wrote this in an email, and then realized it was basically already a blog post, so here it is. (Disclaimer: in this post, as on this blog generally, I’m speaking only for myself and not for my company or our clients.)
There’s been a lot of talk recently about creating software licenses that include an ethical-use-only clause. Here’s one example among many. There has even been talk about modifying some existing free software / open source software licenses to include such clauses. If I stopped to dig up source links for everything I’d never get this post done, but if you’re active in this field you’ve probably been seeing these conversations too. Feel free to supply links in the comments.
According to the current definition of free and open source software, such licenses would no longer be FOSS. Some people react to that by saying that maybe we need to update the definition of FOSS then, but that’s backwards — you can’t change a thing by changing what labels you call it by. The current definition of FOSS would still exist, and would still mean exactly what it means, whether one calls it “FOSS” or “broccoli” or “gezornenplatz”.
But even ignoring the nominalist arguments, I think these ethics-scoped licenses are, sadly, an unworkable idea on substantive grounds.
Aditya Mukerjee explained why very eloquently in this tweet thread, and you might want to read that first. I would add:
In practice, these kinds of clauses are time bombs that people either don’t hear ticking, in which case they get an unpleasant surprise later, or do hear ticking, in which case they avoid using any software under that license.
The conversations I’ve seen around these licenses seem to start from the position that all (ahem) reasonable people agree about what is ethical. But in fact there are serious and deep disagreements about what is ethical — even among people who would never have expected that they might disagree with each other, there are usually latent disagreements lurking. Here are a couple of examples, just to show how easy it is for this to happen:
1) Some people believe that copyright infringement is immoral. They think that copying without authorization, or at least doing so at scale, harms artists and other creators, and is thus unethical. Other people believe that putting restrictions on copying is inherently immoral — that no one should have a monopoly on the distribution of culture and information. (Note that this is wholly independent of attribution, of course — that’s a separate concern, and both sides here generally agree that misattribution is unethical because it is simply a type of fraud.)
So what happens when someone puts out a license with a clause saying that one may not use this software as part of a system that performs unauthorized copying? Sure, the license will mean it means and will be variably enforceable depending on the jurisdiction. But what I’m getting at is that there is no consensus at all, especially among the kinds of people likely to be pondering these questions in the first place, about whether the restriction would be ethical.
This example, far from being contrived, actually touches the proposed license referred to earlier. That license bases its “do no harm” clause on the Universal Declaration of Human Rights, in which see clause 27(2) — a clause that I do not agree is ethical and that, depending on how it is interpreted, may be in fundamental contradiction with free software licensing.
Next example…
2) Many vegetarians and vegans feel that killing animals for meat — and doing medical testing on animals, etc — is immoral. Most of those people live surrounded by meat-eaters, so they often don’t bring this up in conversation unless asked about it. But it’s only a matter of time before someone releases a license that prohibits the software from being used for any purpose that harms animals.
Oh wait, that already happened.
(To be fair, it looks like maybe that was really a click-through download EULA rather than the underlying software license, at least based on this archived page. It’s a little hard to tell — this was all around 2008, and the license is no longer easy to find on the Net. Which I think is likely to be the fate of most ethics-scoped licenses in the long run.)
Formally speaking, these kinds of ethical-use-only clauses violate both the Free Software Definition and the Open Source Definition. In the FSD, they prevent the software from being used “for any purpose”. In the OSD, they constitute a “field of use” restriction.
Now, you can make any license you want, and if you hire a good lawyer to do the drafting it may even be enforceable in some circumstances. But there is much less consensus around the world about what is “ethical” than many people wish. If this practice were normalized, we would quickly have software licenses that prohibit the software from being used in a system that encourages people to change or abandon their religion, or from being used to educate women, etc.
“Fine”, I hear you say. “I don’t have to use their software, then. But people who agree with my ethics will be free to use the software I release under licenses that enforce those ethics.” Except that no one will: the software won’t be adopted, except maybe by your friends. Anyone seriously thinking of using that software in production will run away as fast as they can from a license clause that opens them up to liability based on some judge’s interpretation of what constitutes a violation of someone else’s ethical guidelines. These licenses may look great on the runway, but they’ll never fly.
I think the FSD and the OSD (which are essentially the same idea expressed in different words) got it right the first time. Free software licenses accomplish some wonderful things, both for individual freedom and for non-monopolistic collaboration built around free-to-fork code. However, FOSS licenses can never provide a generally enforceable framework for ethical behavior. Attempts to make them do the latter not only fail (because the software won’t be widely adopted with non-FOSS license terms anyway) but also reduce the licenses’ effectiveness at doing what they were originally designed to do.