Like many PIs, I am perpetually in search of sources of funding, especially right now, given everything that’s happening in the U.S. (I am fortunate to be in Canada, but I have collaborators in the States, so while I am certainly less impacted by the goings-on, I am still impacted.) I happened to come across a large company whose program offered a fairly substantial sum of research funding for about a year. It did seem to align with my research interests, so I took a slightly deeper look, including at the agreement for if nominated to receive this funding. Some of this was pretty standard stuff—coming to an intellectual property agreement, providing quarterly reports, etc. And then we came to the section on Open Source Software. Now, I do need to disclaim that I don’t know if this is standard or not (I wouldn’t really be surprised if it is).
The section on Open Source Software was pretty brief, noting only that one should only use or create software with a license listed by the Open Source Initiative and should not use or create software subject to a list of specific licenses, including… “Any of the JSON ‘do no evil’ licenses.”
What.
I had to read that again. I’m usually a pretty straightforward open source person, so I primarily stick to the MIT license, just because that’s what I know. A bit of googling around informed me that the JSON ‘do no evil’ license is, let’s say…contentious in the field of Open Source Software, as explained, for example, in this article, because it includes the phrase, “This software shall be used for Good, not Evil.”
Now listen, I get that “Good” and “Evil” aren’t defined in the license, and I even understand why that might give a legal team a headache. But on the other hand—really? It’s being referred to as “troublesome,” a “fly in the ointment,” and the simple explanation is, “Actually, defined or not, this clause is enough to disqualify the JSON License as an open source license per se. Point 6 of the Open Source Initiative (OSI) definition of an open source license is “No Discrimination Against Fields of Endeavour,” which would include evil ones.”
But…typically we do try to discriminate against evil fields of endeavor, and for good reason. (The old “paradox of tolerance” in which you can tolerate anything but intolerance.) The way this is phrased is tongue-in-cheek, of course, because the whole thing is tongue-in-cheek (notably, IBM has an exemption from the Do-No-Evil Clause).
Should it be, though?
Yes, “good” and “evil” are ambiguous concepts at best, and, yes, a focus on a binaristic good/evil divide is rather Western-centric. But at the same time, the STEM fields in general, and software engineering in specific, are absolutely not exempt from moral implications. What’s worse, they have a long and storied history of trying to pretend that they are. Computers are “unbiased” (no, they’re not [1]), algorithms never make mistakes (yes they do), algorithms certainly don’t cheat (yes they do), large language models aren’t bullshit artists (yes, they are [2]).
There is a tendency to believe that if something isn’t easily and clearly measurable, it isn’t the purview of software development. This leads to an old boys’ club mentality, to a desire to go-fast-break-shit, and to laugh and joke about pesky useless indefinable notions of moral integrity and good and evil.
But we, as a civilization, do define attempt to define moral integrity and we do attempt to define good and evil—at least to the extent of having laws that generally attempt to enforce some level of good. Those laws aren’t always beneficial; sometimes they’re pretty harmful. It’s still better than not trying at all.
But how can we possibly correctly assess the moral value of our work? Surely it isn’t possible to do, since, after all, “good” and “evil” are such grey, loaded, complex concepts. Wouldn’t it be better just to stick to things we can measure? Why not just build a language model that’s only trained on slurs? We can’t measure emotional pain.
I think we all know by now that my answer is going to be a resounding NO. Not all questions have a single, correct answer; some questions don’t have answers at all. That doesn’t mean there isn’t value in the act of asking them. Of course you should consider the ramifications of a language model that spews hate speech—and I don’t just mean the optics of it.1
So maybe: don’t laugh at the question. Don’t act like you’re above asking what the impact of your work will be, and whether it will cause harm. There is no shortcut for this. Morality, integrity, and harm are all questions of context. Questions of history, philosophy, and ethics, and similar apply differently under different circumstances.
There is no one right answer to every question. The question is still important. I’m not expecting software engineers to personally solve the ills of the world. Hell, I even agree that sometimes you do need to use that software for evil—there is such a thing as a ‘necessary evil,’ after all. I just think that maybe it’s worth taking an hour or two to decide whether your software usage is good, evil, or morally neutral, and writing up a paragraph justification.
And then possibly I won’t click in to see that a big corporation is explicitly telling me that to work with them I have to be all right with not using a ‘do no evil’ software license without a trace of self-awareness or irony.
(Anyone remember when Google’s motto was “don’t be evil”? Yeah, me neither…)
References and Acknowledgements
[1] O’Neil, Cathy. Weapons of math destruction: How big data increases inequality and threatens democracy. Crown, 2017
[2] Hicks, Michael Townsen, James Humphries, and Joe Slater. “ChatGPT is bullshit.” Ethics and Information Technology 26.2 (2024): 1-10.
With thanks to Mari Magen for invaluable feedback
-
Because I am an inveterate maker-of-complications, it would be remiss of me not to note that there might be a reason you would want to create said slur-language-model, but “I can do it and I’m not going to worry about good or evil” is very much not that reason. ↩