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:
- [The International Standard for Professional Software Development and Ethical Responsibility] (http://seeri.etsu.edu/TheSECode.htm) by the IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices
- [The Ten Commandments of Computer Ethics] (http://computerethicsinstitute.org/publications/tencommandments.html) by the Computer Ethics Institute
- [The Pledge of the Computing Professional] (http://pledge-of-the-computing-professional.org/home-page/the-oath)
- [The Trustworthy Coder’s Pledge] (https://medium.com/@BillSourour/the-trustworthy-coders-pledge-aa5ba046c5aa) by Bill Sourour
- [The Programmer’s Oath] (https://www.youtube.com/watch?v=36NgPu9OyRM&list=PLWKjhJtqVAbno-B4RmJHCDO0ZUKC2tpUQ) by “Uncle Bob” Martin
- [The “Never Again” Pledge] (http://neveragain.tech)
- [ACM Code of Ethics] (http://www.acm.org/about-acm/acm-code-of-ethics-and-professional-conduct)
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:
- [Computer and Information Ethics] (https://plato.stanford.edu/archives/win2014/entries/ethics-computer/) entry in the Stanford Encyclopedia of Philosophy.
- [Computer Ethics] (https://en.wikipedia.org/wiki/Computer_ethics) entry in WikiPedia
- [CSE 302 - Professional Ethics for Computer Science] (http://www3.cs.stonybrook.edu/~mueller/teaching/cse302/) – outline and study materials for a course given in the Computer Science department at Stony Brook University’s College of Engineering and Applied Sciences.
- [A Very Short History of Computer Ethics] (https://web.archive.org/web/20080418122849/http://www.southernct.edu/organizations/rccs/resources/research/introduction/bynumshrthist.html) – article from the Summer 2000 issue of the American Philosophical Association’s Newsletter on Philosophy and Computing