Code 2018 Draft 3: Preamble discussion


Please use this thread for discussion of the changes to the Preamble (text of Draft 3 of the preamble is included below). If you have a significant issue to discuss you can start a new thread about it and ping me (Bo Brinkman) and I will add a link to it below.

Draft 3 text


The actions of computing professionals directly impact significant aspects of society. In order to meet their responsibilities, computing professionals must always support the public good. The ACM Code of Ethics and Professional Conduct ("the Code") reflects this obligation by expressing the conscience of the profession and provides guidance to support ethical conduct of all computing professionals.

The Code is designed to support all computing professionals, including current and aspiring computing practitioners, instructors, influencers, and anyone who uses technology in an impactful way. Additionally, the Code serves as a basis for remediation when violations occur. The Code includes principles formulated as statements of responsibility, based on the understanding that the public good is always the primary consideration. Each principle is supplemented by guidelines, which provide explanations to assist computing professionals in understanding and applying the principle.

Section 1 outlines fundamental ethical principles that form the basis for the remainder of the Code. Section 2 addresses additional, more specific considerations of professional responsibility. Section 3 pertains to individuals who have a leadership role, whether in the workplace or in a volunteer professional capacity. Commitment to ethical conduct is required of every ACM member, and principles involving compliance with the Code are given in Section 4.

The Code as a whole is concerned with how fundamental ethical principles apply to a computing professional's conduct. The Code is not an algorithm for solving ethical problems; rather it serves as a basis for ethical decision making. When thinking through a particular issue, a computing professional may find that multiple principles should be taken into account, and that different principles will have different relevance to the issue. Questions related to these kinds of issues can best be answered by thoughtful consideration of the fundamental ethical principles, understanding that the public good is the paramount consideration. The entire computing profession benefits when the ethical decision making process is accountable to and transparent to all stakeholders. Open discussions about ethical issues promotes this accountability and transparency.

Related threads

None yet

Code 2018 discussion - Start here!

I think that Draft 3 has made improvements over Draft 2, but I still have plenty of concerns and some of them are really stoppers for me. I raised most, if not all of these, on the survey that was emailed to ACM members not that long ago, but I also wanted to post them in public for discussion as well.

I still believe that this Code misses the mark. I think the Preamble makes it more clear that the intention is to be an aspirational code of ethics, but this is not helpful to me. I expect that a professional organization will have policies in place to ensure that members meet a minimum bar. If you look at just about any professional organization (for example, IEEE, Australian Computer Society, British Computer Society, Computer Society of India), they have a code of ethics or code of professional conduct that is broadly unobjectionable and uncontroversial to set this minimum bar. They also have a policy about enforcing this code. This code contains principles that, as they are written or how I’m interpreting them, I find objectionable or controversial and that I cannot support or endorse. I’ve identified these in comments on the appropriate sections.

As far as an aspirational code, this code brings up some good points. Up until now, I’ve relied on the Software Engineering Code of Ethics and Professional Practice (the SE Code) to guide my ethical discussions. I think that there are a few things that this code brings up that aren’t explicit in that code. However, there’s also some relevant content from the SE Code that doesn’t carry over to the ACM Code. Some of these differences may be attributed to a slightly different audience - the ACM Code has a much broader audience than the SE Code. There are a few gaps that I consider to be problematic if the goal is to be the aspirational code of choice for the computing profession.