I generally agree with much of what Kurt is saying in his comments.
My biggest problem is that the Code presented here is trying to do two things. First, it's (as you call it), an "aspirational list of principles". Second, it's a set of rules that all ACM members are being held to. These two things are at odds with each other.
By being aspirational, it is unenforceable on members - there are no hard requirements ("should" is not a requirement). I've mentioned other organizations codes of ethics - the IEEE, the British Computer Society, and the Australian Computer Society. The BCS uses the word "shall". The ACS uses "will". The IEEE frames it as an agreement ("we, the members of the IEEE...do hereby commit ourselves to the highest ethical and professional conduct and agree"). The closest thing to this is Principle 4.2 that says that not following the code may lead to termination of membership in the ACM.
I think there is a small subset of things that, as professionals, we can agree to:
- accepting responsibility for our decisions
- placing public good above all else (there may even be a total order if you consider the public good, the good of the client or employer, the good of the profession, and the good of the self)
- treating all people with fairness and respect (including not discriminating based on race, religion, disability, age, national origin, family status, military status, gender, sexual orientation, gender identity, gender expression...anything else?)
- avoiding harm (including physical/bodily harm, property harm, privacy harm, reputation harm) to other people
- avoiding conflicts of interest
- avoiding disclosure of confidential information or misrepresentation of any information to third-parties
- understanding relevant laws and regulations
- being honest with others
- continuously learning of our field and understanding the scope of our knowledge and experiences within our field
- seeking and accepting review and criticism
- educating people on the various aspects of the profession that one has knowledge and experience in
- supporting colleagues
This can be represented as 12 requirements, not 24 principles that are vague, controversial, and unenforceable.
I do see a need for an aspirational code. Right now, for me, that need is met by the Software Engineering Code of Ethics and Professional Practice. I want a clear separation between "this is the minimal set of rules that one must follow to be an ACM member" and "this is a set of aspirations for the profession that we, as ACM members, generally believe".
I do think it's important to recognize the purpose of these two types of codes, too.
The rules for ACM members should, first and foremost, protect the reputation of the ACM. They should be a set of standards that we expect all members, regardless of their role in the organization, their professional role, or their geographic location, to follow. By protecting the reputation of the ACM, you increase the value of membership. It's a commitment to some set of enforceable rules. Any active member in good standing meets certain criteria and that should improve their reputation as an individual.
The aspirational code should be things that we as a profession are striving for. We may not be able to do them now, because of our environment. But as computing professionals, we agree that that this is the direction that we want to take our field and will work toward. However, because they are aspirational, it's OK to not achieve them right now. I think it's also OK for this type of code to be more controversial - not all members may choose to work toward all aspects of this aspirational code because they don't agree with all of them.
There may be a subset of things that are written in both an rules code and an aspirational code, but written in two different styles. That's OK. However, if you are a member of an organization, you need to be able to adhere to the rules. If you can't, maybe you shouldn't seek membership.
I'm going to be very clear: if this code is finalized and made the set of rules that members of the ACM will be held to, I will be terminating my membership in the ACM and will encourage others to do the same.