In terms of "antithetical values", the machine learning project ml5js.org actually did something about this. They bound their open-source license to a Code of Conduct¹, which forbids the use of their ML software for (1) discriminating against marginalized communities, (2) building tools that disingenuously manipulate public opinion, (3) building tools of mass surveillance and prediction to repress the rights of peopl…
If all software was licensed that way, 5-15 years would pass then suddenly there'd be a whole bunch of "Wow, Stallman was right again! We should have been using free software licenses!" style articles. Restricting software use to only people approved by the creators is a terrible idea. Society has to operate with some level of trust that even people we disagree with, using methods we don't approve of, have the potent…
Everyone is free to use the software. If a project is found to be in violation of the Code of Conduct (e.g. discriminating against marginalized communities, manipulating public opinion, automating weapons) than the community developing the software takes steps to remedy the problem with the reported violator, or the project falls out of compliance with the license.
I agree with your hesitance and apprehension of how it could could go wrong. There is significant responsibility in interpretation and governance, presumably (though in some cases, it could be pretty clear — like with weapons.). And in cases with consequences related to violence and weapons and oppression, it also seems like a step in the right direction.
In the context of some software, this may not fit or be useful. In other libraries, it could also be incredibly important and impactful.
It also requires stepping out of our innocence. It requires accepting responsibility for interpretation, decision-making, and governance — and that sometimes, some of our decisions may not be right. Sometimes, we have to make decisions even when the answers aren't clear. This is part of our personal lives, being in families, being in communities, being in companies. It's just decision-making at the end of the day — call it what you want (e.g. governance, licensing, restricting). Why shouldn't that kind of decisionmaking and responsibility be part of software and the communities building software — especially given its growing impact on the world around us?
> Society has to operate with some level of trust that even people we disagree with
This is well said. I would just note that ml5.js's approach leaves room for disagreement, and a pathway to hear and understand and reconcile disagreement, before any action is taken. The devil is in implementation — though it does seem wise, and the community has likely thought through and accounted for more of the problems than we have. They probably had discussions just like this, actually, with perspectives just like ours.