As web developers, we are responsible for shaping the experiences of user's online lives. By making choices that are ethical and user-centered, we create a better web for everyone. The Ethical Web Development series aims to take a look at the ethical issues of web development.
With this in mind, I’ve attempted to divide the ethical issues of web development into four core principles.
- Web applications should work for everyone.
- Web applications should work everywhere.
- Web applications should respect a user's privacy and security.
- Web developers should be considerate of their peers.
The first three are all about making ethical decisions for the users of our sites and applications. When we build web applications we are making decisions for others, often unknowingly to those users.
The fourth principle concerns how we interact with others in our industry. Though the media often presents the image of a lone hacker toiling away in a damp and dusty basement, the work we do is quite social and relies on a vast web of connected dependencies on the work of others.
If we’re going to be discussing the ethics of web development, let’s first come to a common understanding of how we apply the term “ethics.” The study of ethics falls into four categories:
- Meta-ethics, an attempt to understand the underlying questions of ethics and morality.
- Descriptive ethics, the study and research of people’s beliefs.
- Normative ethics, the study of ethical action and creation of standards of right and wrong.
- Applied ethics, the analysis of ethical issues, such as business ethics, environmental ethics, and social morality.
For our purposes we will be doing our best to determine a normative set of standards of ethics as applied to web development and then take an applied ethics approach.
Within normative ethical theory there is the idea of Consequentialism, which argues that the ethical value of an action is based on the result of the action. In short, the consequences of doing something become the standard of right or wrong.
One form of Consequentialism, called Utilitarianism, states that an action is right if it leads to the most happiness, or well-being, for the greatest number of people. This utilitarian approach is the framework I’ve chosen to use as we explore the ethics of web development.
Whew! We fell down a deep dark hole of philosophical terminology, but I think it all boils down to this:
Make choices that have the most positive effect for the largest number of people.
Many professions have a standard expectation of behavior. These may be legally mandated or a social norm, but often take the form of a code of ethics that details conventions, standards, and expectations of those who practice the profession. The idea of a professional code ethics can be traced back to the Hippocratic Oath, an oath taken by medical professionals first written during the fifth century BC. Today, medical schools continue to administer the Hippocratic or similar professional oath.
In the book, “Thinking Like an Engineer,” Michael Davis describes the idea of a code of conduct for professionals:
“… prescribes how professionals are to pursue their common ideal so that each may do the best she can at a minimal cost to herself and those she cares about… The code is to protect each professional from certain pressures (for example, the pressure to cut corners to save money) by making it reasonably likely (and more likely then otherwise) that most other members of the profession will not take advantage of her good conduct. A code is a solution to a coordination problem.”
My hope is that this work helps to inspire a code of ethics for web development, guiding our work in a way that is professional and inclusive.
The approaches I’ve laid out are merely my take on how web development can provide the greatest happiness for the greatest number of people. These approaches are likely to evolve as technology changes and may be unique for many development situations. I invite you to read my practical application of these ideas and hope that you apply them in some fashion to your own work.
This series is a work in progress and I invite you to contribute. To learn more, visit ethicalweb.org.
This title, and others in the Ethical Web Development series, is intended for web developers and web development team decision makers who are interested in exploring the ethical boundaries of web development. I assume a basic understanding of fundamental web development topics such as HTML, CSS, JavaScript, and HTTP. Despite this assumption, I‘ve done my best to describe these topics in a way that is approachable and understandable.