Many people have responded that “or other inappropriate factor” is vague. That is intentional. In fact, I’d like to shorten the list to, “Prejudicial discrimination on the basis of superficial attributes, stereotypes, or similarly inappropriate factors is a violation of ACM policy.”
The list of discrimination will never be complete, nor is one list suitable for every environment:
Prison software helps one group of people restrict another group’s rights. Software is used in mental rehabilitation, or for patients with dementia. Such software must discriminate between murderers and jailers, or between doctors and patients. The point is, when working on such software is to ask about every feature, “Is this feature rehabilitative, or punitive?”
Forum software for people who are recovering from hysterectomies is for women only. Excluding women from a forum for men recovering from prostrate surgery is also fair.
Being “inclusive” means something very different with a single-developer startup than it does at a company with thousands of developers.
I think our job here is NOT to make laws and punishments, or to define appropriate actions for every situation, but to set a direction. We want to foster reasonably open and fair meetings and collaboration. We want to select people because they are right for the ACM, not because they look or think like me.
Eric Raymond once said, “Given enough eyeballs, all problems are trivial” but that’s only true if the eyes are looking from different perspectives. A variety of perspectives is the best thing that can happen to an organization like the ACM. Our policies need to promote that. Our primary objective is still “Advancing computing as a Science and Profession” and diverse membership is one of the ways we achieve that.
The ACM can say, “Try to be fair. Strive to look beyond your own prejudice.” I think the more specific we get, the more trouble we’ll run into. Point a direction. Don’t fill in the details because there is no single right answer for every situation. Sometimes the best we can do is the least-wrong answer.
If there is an issue, the ACM might say, “You know, X generally works in this situation better than what you did” and start a dialog about improvement. What’s got to be off the table is where a chapter or ACM member knows that someone is really doing something really evil, and you shelter them. We need to point enough of a direction that sheltering bad behavior is clearly off limits.