lllllllllllllllllllll
i Professional Thoughtsand Issues
Two Approaches to Computer Ethics
Don Gotterbarn
Computer and Information Systems
East Tennessee State University
Johnson City, Tennessee 37614-0711
gotterba @csee.usf.edu
ome of the
disagreeme
nts
that
arise in computer ethics are based on
approaching ethics from two apparently
contradictory directions; one a virtue
based ethics and the other a rights-duty
based ethics. My recent experience with
the development of the Software
E n g i n e e r i n g Code of Ethics and
Professional Practice (hereinafter called
the Code) illustrates this point. It also
leads me to believe that if we make clear
the differences between these ethical
positions, then we can reduce some of
the problems in reasoning about
computer ethics.
The ACM and the IEEE-Computer
Society have recently adopted the Code
[ 1] as the standard for the teaching and
practice of software engineering. The
ACM/IEEE-CS task force on Software
E n g i n e e r i n g Ethics and Professional
Practices developed this code for a subspecialization within the constituencies
of both of the professional societies.
The composition of the task force is
multinational in both citizenship and in
membership in professional computing
organizations. There were two ethical
approaches by members of the task force
to this project, but there was an
achievement of consensus between
them. Several of the ethical discussions
about the Code are related to the relative
position of rights/obligations based
ethics versus virtue based ethics. The
different values placed on privacy are an
example that illustrates this.
This
difference between rights and virtue
based ethics as a primary assumption
was reflected in differing views on the
actual
and
acceptable
roles
of
governments
in
the
software
development process.
It reflects the
different values or obligations related to
the roles of government and individuals
in protecting data integrity. The lessons
learned from developing of the Code and
relating these approaches to ethics
provide indications on how to improve
the ethics education of computer
Vol 31. No. 2 June 1999
people have towards human well being,
professionals.
as opposed to harm.
A n ethics of
The observations in this column
Obligation (Rights) denies that these
were made during my tenure as chair of
natural
dispositions, but
instead
the task force developing the Code. The
emphasizes the importance of duty and
generalizations, like all generalizations,
obligation as these are normally
are subject to exceptions. With this
expressed in rules of conduct discerned
cautionary word, I will now venture to
by the use of practical reason. The
categorize
blatantly
the
ethical
obligations-right view demands precise
approaches.
rules for particular behaviors. One could
The development of the Code was
clearly measure adherence to these
an iterative process. The task force
behaviors. This is the Kantian moral
examined several existing codes of
law; moral principles were categorical
ethics from computing societies,
and were true and independent of
engineering societies,
and
other
personal or local circumstance. For
professions such as accounting [2]. We
Aristotle, on the other hand, the purpose
also considered the goals and functions
of moral rules was to promote individual
of these codes and then, via email,
moral virtues and the development of a
selected out various imperatives to place
good will or moral character. Put in
in the software engineering
code. We also contributed i~-.~;:
..... more
general
terms,
the
new imperatives related to ,:~>~ [
::-~ .......; rights/obligations ethicist starts
our knowledge of software
i ~ ~ . ~ / ~ ~ , with rules stating obligations
engineering. There was i!ilt i
:i??,.~
',, about how one should behave and
immediately a discernable
"-. ~ ,.
rights about how I am to be
treated; the virtue ethicist starts
difference between North " ~,~,~~ -~ '
~- ' -_
American and Northern ,~
:
: c 7~i"~,. with the human character and its
European contributions ' % '.',,"~)i i; 2. i.~-,~: % ! ethical dispositions.
Virtue
and concerns
As we
}L::::~i ,:-~\ ethics does not lie in following
:;:::>:2L.i,/,L'~, a set of well-defined rules
circulated early drafts to
colleagues for c o m m e n t the ~:i,/::,; : i : ; f i _ ) ? ? ')-;:~ but it lies in one's character
colleagues' responses seemed to ::',',,)i()~i".... ......... you have to see what is the right
reflect a difference in their 'L ;~i::; ..... action and then choose to do it.
Both of these approaches to ethics
approach to ethics; one was a virtuewhere present in the task force's
based ethics and the other was a
responses to drafts of the Code. The
rights/obligations based ethics.
The
approach to the Code shows one way to
draft of the Code that resulted reflected
recognize the difference between these
these two different approaches to ethics.
two approaches and to accommodate
The members of the task force did not
them in computer ethics agenda.
mention these two schools of ethics, but
How were these two approaches to
we could easily categorize their
ethics
reflected
in
the
initial
responses as belonging to one or the
development and responses to the Code?
other school of ethics.
There are several purposes of a code of
What is the difference between
ethics.
Several principles that were
virtue ethics and right/obligation ethics?
suggested for the code used imperative
There have been two approaches to
language. For example,
morality in the past based in the views of
3.07.
Assure that they
Aristotle and Kant, the
former
understand fully the specifications for
representing an ethics of virtue and the
software on which they work.
latter representing an ethics of
3.04.
Assure that they are
obligation/rights. Virtue ethics is based
qualified, by education and experience,
on the idea of virtue interpreted in terms
for any project on which they work.
of certain natural dispositions that
"':~,
11
~£~G~:;
SIGCSE Bulletin
Approaches continued from page 11)
3.02. Assure proper goals and
objectives for any project on which they
work.
There were two problems with
these imperatives for the obligation
people. These imperatives were not
acceptable to the obligations people
because one can interpret them as
potential obligations, which would
legally bind the software engineer. We
rejected these formulations because
there was no way to measure whether
the software engineer had satisfied them.
Some of the obligations people worried
about laws being enacted that embodied
these imperatives.
The imperative
people also had trouble with words like
"proper" and "appropriate" because they
had no precise meaning that one could
state in a measurable right or obligation.
The virtue people had interpreted these
clauses to mean that you complied with
the imperative if you tried your best to
meet these standards (acted from a moral
disposition). For virtue people, terms
like "proper" and "appropriate" did have
a standard, namely the standard of doing
it from an ethical disposition. To
accommodate the obligation people,
words like "assure" were replaced with
"strive" or "aspire." Thus, we have:
3.07.
Strive to fully
understand the specifications for
software on which they work.
This replacement was not entirely
satisfactory to the virtue people who
characterized these imperatives as
"wimpy" and "weak." The problem was
how to satisfy both groups of software
engineers. One of the major goals in
developing a code of ethics is to
establish a consensus of the profession.
Both groups needed to be satisfied to
have the Code represent the profession.
The approach taken in the Code to
resolve this tension was to examine the
distinction between these types of
ethical theory within professions. This
distinction was included in an early draft
of the preamble to the Code. The
distinction between these theories was
then included in terms of rules and
aspirations within the Code.
In a
preamble to an early draft of the code,
the task force defined three levels of
professional ethics.
"Each Principle of this Code
addresses three levels of ethical
obligation owed by professional
software engineers in each of these
relationships.
The first level
identified is a set of ethical values
which they share with all other
human beings by virtue of their
humanity. The second level obliges
professionals to a higher order of
care for those who may be affected
by their work. The third and deeper
level comprises several obligations
which derive directly from elements
unique to the professional practice
of software engineering. The
Clauses of each Principle are
illustrations of the various levels of
obligation included
in
that
relationship.
The Clauses under each
Principle consist of three different
types of statement corresponding to
each level. Level One: Aspire (to be
human); Statements of aspiration
provide vision and objectives, are
intended to direct professional
behavior. These directives require
significant ethical judgement.
Level Two: Expect (to be
professional);
Statements
of
expectation express the obligations
of all professionals and professional
attitudes.
Again they do not
describe the specific behavior
details but they clearly indicate
professional responsibilities in
computing. Level Three: Demand
(to use good practices); Statements
of demand assert more specific
behavioral responsibilities within
software engineering which are
more closely related to the current
state of the art. The range of
statements is from the more general
aspirational statement to specific
measurable
requirements."
[Gotterbarn, et al, 1997]
The Code now includes imperatives that
are at Level 3 expressing measurable
obligations of the software engineer and
rights of their clients. The Code also
contains Level 1 statements of aspiration
and virtuous goals for the individual
software engineer.
These two approaches to ethics are
not incompatible.
However, it is
important to recognize and accommodate
their differences. If we do not do this,
then discussions in computer ethics are
never resolved. The Code evolved after
extensive study of several computing and
engineering codes. All of the codes
considered try to educate and inspire the
members of the professional group that
adopts the code. These codes also inform
the public about the responsibilities that
are important to that profession. Codes
instruct practitioners about the standards
that society expects them to meet and
what their peers strive for and expect of
each other. Codes are not meant to
encourage litigation and they are not
legislation. They do, however, offer
practical advice about issues that matter to
professionals and their clients and they do
inform policy makers.
We need to include both of these
approaches when addressing computer
ethics issues for the professional and in the
classroom. The software engineer as a
practicing professional acts from a higher
level of care for the customer (virtue ethics)
and conforms to the development standards
of the profession (right/obligations ethics).
Both types of ethics are needed for the
professional engineer.
References
[1] <www-cs.etsu.edu/seeri>
[2] Gotterbarn,D., and Miller, K. and Rogerson, S.: "Software EngineeringCode of Ethics," SIGCAS Newsletter, July 1997.
This column is in part based on an earlier paper "The Professionalizationof Software Engineeringand its Significancefor Ethics Education,"Frontiers in
Education, 1997.
S I G C S E Bulletin
12
June 1999 Vol 31. No. 2