I believe it is hopeless to usefully include the notion of Public Good in a code of ethics, and I’ll argue why below.
In our attempts to define the Public Good, we usually form one or several of the following theories:
- The public good is a commonly-held value
- The public good is a value considered wiser than others
- The public good is a balance of goods
All these are problematic.
For a start, even if there was a reliable way to poll a population for commonly-held values, how statistically significant must one good be before it gets promoted as public good? And would a good that’s of vital importance to a minority fare worse than one that’s of minor importance to a majority? As for “wiser” values, we run into issues regarding the process for democratically deriving them, if there is one. The public good as a “balance” of goods may look like a safer option, but that is really a circular argument: we can’t define the Public Good until the balance of goods has been struck, which is precisely what we’re trying to achieve.
Therefore, there is no reliable way for a software engineer to discern which of all possible goods is the one that truly benefits the public.
The Public Good is even more elusive when we attempt to apply it to the practice of software engineering. Unlike practitioners of Public Relations, Accounting, or Law, Software Engineers make a product that cannot be aware of borders or applied to one public but not another. Software can too easily be transferred between countries, and it is by and large portable enough to be ran on standard computer architectures, regardless of the population segment the computer owner belongs to.
More detailed and powerful criticisms of the notion of Public Good have been made elsewhere (1, 2), not least as a result of its inclusion in Codes of Ethics from other fields. Arguing whether the notion is of any use at all is beyond the scope of the present comment, but the point is that given the complexities associated with it, and given the inherently supranational nature of software, the notion of Public Good is of no practical use in a Code of Ethics.
If the Public Good is to be our moral compass, then an informal and vague definition of the Public Good is as disorientating as a demagnetised compass (at best) and can serve to justify immoral acts (at worst).
Therefore, I strongly suggest that we remove any mention of the Public Good.