That makes sense to me. I’m starting to come around to this general idea, but I’m still not a fan of the wording. I did some research and I found that the American Psychological Association has similar content regarding the behavior of their members around the law. I like how they include content about the need to “clarify the nature of the conflict”, “make known their commitment to the Ethics Code”, and “take reasonable steps to resolve the conflict consistent with” the code. As I understand it, that means that they have requirements to bring the ethical code to the attention of the people making the rules and explain the conflict and try to resolve it within the bounds of the law.
I do see the point about needing to violate the law in some cases. There could be a sense of immediacy. Or perhaps the leaders are just generally unethical or immoral people. I think I’d be more comfortable with wording that made it clear that things should be done when a “law or rule has inadequate moral basis or when it conflicts with another law judges to be more important”.
Computing professionals must obey existing regional, national, and international laws in addition to the policies and procedures of the organizations in which one participates, unless there is a compelling ethical justification not to do so. Compliance must be balanced with the recognition that sometimes existing laws and rules are immoral or inappropriate and, therefore, must be challenged. Violation of a law or regulation may be ethical when that law or rule has inadequate moral basis or when it conflicts with another law judged to be more important. If a computing professional decides to violate a law or rule, one is expected to identify their commitment to the Code, take all reasonable steps to resolve the conflict, and accept full responsibility for their actions and for the consequences.
There’s some wordsmithing that may be necessary here, too. I wanted to achieve a few things. First, get rid of the references to violating the law for reasons other than ethical grounds. The original version did say “for any other reason” with respect to violating the law and that didn’t make much sense to me in this context. Second, I wanted to specify specific actions to take on violating the law: affirm the Code, make every reasonable (in the eye of the computing professional - reasonable is different in different parts of the world or in different situations) effort to eliminate the conflict, and then accept responsibility for their final decision to either violate or not violate the law.
I also think that there is room to strength Principle 2.7, so I left a comment to that effect there.