Chef developers recently pressured Chef Software into ending their contract with ICE. What started this was open-source developer Seth Vargo pulling his open-source project, Chef Sugar, from the Chef DevOps program. This has lead to people, such as Coraline Ada Ehmke, best known for her Contributor Covenant, which was adopted by Linux, to propose an open-source license that requires its users to act morally.
Specifically, her Hippocratic license adds to the MIT open-source license a clause stating:
The software may not be used by individuals, corporations, governments, or other groups for systems or activities that actively and knowingly endanger, harm, or otherwise threaten the physical, mental, economic, or general well-being of underprivileged individuals or groups in violation of the United Nations Universal Declaration of Human Rights (https://www.un.org/en/universal-declaration-human-rights/).
Sounds good. Who could be against that? But the devil is in the details.
First, as the Open Source Initiative (OSI) quickly pointed out on Twitter:
The intro to the Hippocratic Licence might lead some to believe the license is an Open Source Software licence, and software distributed under the Hippocratic Licence is Open Source Software.
As neither is true, we ask you to please modify the language to remove confusion.
Ehmke's response was:
OSI and FSF [Free Software Foundation] are not the real arbiters of what is Open Source and what is Free Software.
She later added:
The current structure of open source specifically prohibits us from protecting our labor from use by organizations like ICE.
That's not a license problem. That's an Open Source™ problem.
Leaving aside the Twitter arguments, which continue to rage on, can you put moral codes into an open-source license?
There's nothing new about such efforts. For example, 2009's Exception General Public License (eGPL) was a play on the GPLv2, which tried to forbid "exceptions," such as military users and suppliers from using its code. It failed.
Other licenses such as the JSON license with its sweetly naive "The Software shall be used for Good, not Evil" are still around, but no one enforces them.
More recently, the Anti-996 license is an active Chinese effort to prevent developers from being required to work abusive hours -- nine hours a day, six days a week. While Heather Meeker, a partner at the law firm O'Melveny & Myers who specializes in open-source software licensing, points out it "has accomplished a significant objective already, which is to call attention to the workers' complaints," as a license it has problems. In an` e-mail, Meeker said, "Morality clauses in licenses can't compel licensees to be moral. They can only withdraw the rights to the software if the use violates the license. So from a legal point of view, they are more expressions of a point of view than useful legal tools to control licensee behavior."
As for open-source licenses, open-source legal expert and Columbia law professor Eben Moglen, told me, in regards to the Free Software Foundation's (FSF) definition of free software, it would run afoul of:
Freedom zero, the right to run the program for any purpose, comes first in the four freedoms because if users do not have that right with respect to computer programs they run, they ultimately do not have any rights in those programs at all. Efforts to give permission only for good uses, or to prohibit bad ones in the eyes of the licensor, violate the requirement to protect freedom zero. Thus they cannot be free software licenses, and cannot be "open source" licenses unless that category now includes licenses that don't protect all the fundamental software freedoms.
Andrew 'Andy' Updegrove, a founding partner of Gesmer Updegrove, a top technology law firm and open-source legal expert, added: "Broadly speaking, a licensor can include whatever terms she wants in her license." As indeed, Ehmke has, but, "a restriction of this kind could not be included in a document which claimed to be compliant with the OSI Open Source Definition."
Specifically, it runs right into clause 6: "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."
The rationale for this, said Updegrove, was to "prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it." Which is, by the way, one of the core differences between free software and open-source software.
Continuing on, Upgrove said:
You could include a 'no evil clause, and also require the licensee to include a similar term in any downstream licenses. Scope of use clauses are common in commercial licenses, so there's no reason a "no evil" clause wouldn't be enforceable, assuming the licensor was successful in constructing a sufficiently succinct clause that a court could tell what would and would not be barred by it (no small task, that).
But making it enforceable in the real world? That's something else again. Updegrove continued, if you "released the code in the usual open-source fashion, there would soon be many copies of the code in the wild, and you would have little or no ability to know where all of those copies ended up. Someone could, for example, bundle the code in a commercial product that you considered to be evil and you might never learn of that fact at all. So even though you had included the term, you might have little ability to know if it was being honored."
Better, from where he sits, if morality is what you demand from your program's user is to license it in a "more traditional proprietary fashion, licensing it only to known parties, and forbidding any further sharing of the code … because it's much easier to keep an eye on a handful of licensees than thousands. Now, of course, you're not talking about something that resembles open-source code at all."
Karen M. Sandler, executive director of the Software Freedom Conservancy, added in a conversation:
I really understand the urge to try to stop behavior that the developer considers wrongful. It's problematic to selectively engage in withholding software freedom. Depending on their drafting, these licenses can raise questions of enforceability. More importantly, there are other ways the same end can be accomplished, by founding ethical societies for developers or by participating in political processes to ban the wrongful act, all of which we should pursue.
But as for putting morality into a software license, Sandler doesn't think it's all that practical. After all, "A hammer can be used as a construction tool or it could be used as a weapon for murder -- it's a legal use in one case and obviously unlawful in the other, even though it's available for purchase by all."