Developer Ethics

Developer Ethics describes the field of ethics when applied to the behavior of software developers.

According to The Internet Encyclopedia of Philosophy, the field of ethics (or moral philosophy) involves “systematizing, defending, and recommending concepts of right and wrong.”

Over the years, a number of organizations and individuals have attempted to codify developer ethics into a variety of oaths, pledges, and codes of conduct.

Examples include:

Common themes appearing throughout these examples include a commitment to honesty, integrity, and fairness.

To date, since most software developers do not belong to – and are not governed by – any official order, guild, association, or society, no single, codified ethical standard has been widely adopted.

Developer Ethics Case Studies

The Software Engineering Ethics Research Institute of the Department of Computer and Information Sciences at East Tennessee State University published a series of Case Studies to help sensitize practicing software developers and students to the various types of ethical dilemmas they may face.

The International Standard for Professional Software Development and Ethical Responsibility forms the basis for much of the analysis in each case.

Cases:

  • Big Brother Spyware – Raises the issues of the tension between privacy, security, and whistle blowing in a post 11 September environment.
  • Computerized Patient Records – The case uses patient records to examine the developer’s responsibility for information security. It evaluates a series of alternatives.
  • Death By Wire – The case address issues that arise from the shift of control from mechanically based systems to purely electronic/computer systems. It explores a situation where this process has been extended to heavy vehicles. It also looks at what happens when control of safety critical equipments is turned over to a computer.
  • Digital Wallets and Whistle Blowing – This is based on a real case involving security and includes an analysis of the decision related to when and how to whistle blow.
  • For Girls Only – This case looks at a real case of gender bias in the development of software.
  • Nano-Technology: Swallow That Chip – This case uses the vehicle of nano-technology to explore ways to address privacy and security issues that face software developers…
  • Patriot Missile Case – This piece examines the importance of configuration management and effective design as they relate to the Patriot Missile Disaster.
  • Therac-25 – This case highlights the danger of software-based controls on life-threatening systems.

Ethical Breaches

There have been a number of well publicized cases in which software was used to deceive users or even break the law. At the heart of these cases is a breach of ethics on the part of one or more developers. Such cases include:

  • Uber Greyball – a tool created by ride-sharing company Uber that collected data from Uber’s app to identify and evade officials in multiple cities.
  • Volkswagon Emission Scandal – Volkswagen intentionally programmed turbocharged direct injection (TDI) diesel engines to activate some emissions controls only during laboratory emissions testing. The programming caused the vehicles’ nitrogen oxide output to meet US standards during regulatory testing but emit up to 40 times more nitrogen oxide in real-world driving.
  • Zenefits Insurance Violations – Former Zenefits CEO, Parker Conrad, crafted a browser extension that allowed its brokers to fake that they had completed a required 52-hour online training course that insurance agents must take to become licensed in California.

More Information

Additional information is available through the Software Engineering Ethics Research Institute

More Information on Developer Ethics: