By Scott Berkun, November 15, 2005
Are you a good person? How do you know? Most of us set a low bar. Unless we’re kicking puppies and stealing lunches from homeless children, we think we’re doing all right. But not being bad is not the same as being good. And when it comes to making things like software and websites the same rules apply.
A quick trip to the dictionary yields the following basic terms.
Good: Being positive, desirable or virtuous; a good person. Having desirable qualities : a good exterior paint; a good joke. Serving the purpose or end; suitable: Is this a good dress for the party?
Evil: Morally bad or wrong; wicked: an evil tyrant. Causing ruin, injury, or pain; harmful: the evil effects of a poor diet. Characterized by anger or spite; malicious: an evil temper.
But how does this apply to technology? Are there good websites and evil websites? Rarely. Most things we know and use fall in between: tools are amoral. They don’t prevent someone from using them for bad or work better when used for good. Great software performs just as well when you’re drafting praise for homeless shelter volunteers as when you’re writing recipes for orphan stew. If we want to claim that the things we make are good or bad, we have to go beyond their function. Goodness, in the moral sense, means something very different from good in the engineering sense.
Focusing on engineering alone, technology makers are not far from arms-dealers: we provide tools to the world with indifference for how they are used. This doesn’t make us evil, but it doesn’t make us good either.
But what is the alternative? The answer depends on how you view the value of technology. There are (at least) 5 alternatives:
I’m not offering any of these as the true answer: there isn’t one. You have to figure it out for yourself. But I am pointing out that without a sense of the purpose of technology it’s impossible to separate good from bad: there has to be some underlying value system to apply to the making of things. I admit I’m partial to the pragmatic view, that technology’s value is in helping people live better lives (or even further, that a goal of life is to be of use to people, through technological or other means), but I’m well aware that’s not the only answer.
But if you do identify a personal philosophy for technology, there are ways to apply it to the making of things. Assuming you see good technology as achieving a moral good, here’s one approach.
For any technology you can estimate its value to help individuals. Lets call that ability V. Assuming you know how many people use the technology (N), V * N = the value of the technology. Here’s two examples:
A heart defibrillator can save someone’s life (V=100). But may only have a few users (N=1000).
V * N = 100,000.
A pizza website allows me to order pizza online (V=1). It may have many users (N=50,000).
V * N = 50,000.
We can argue about how to define V (or the value of online pizza delivery), but as a back of the envelope approach, it’s easy to compare two different technologies for their value, based on any philosophy of technology. Should you happen to be Satan’s right hand man, change V to S (for suffering) and you’re on your way.
However, one trap in this is the difference between what technology makes possible and what people actually do. I could use a defibrillator to start my car, or use the pizza website to play pranks on my neighbors. Or more to my point, I might not actually use the technology at all, despite purchasing it and being educated in its value. So the perceived value of a thing, by the thing’s creator, is different from the actual value the thing has for people in the real world.
Here are some questions that help sort out value:
Every tool has an implied morality. There is a value system that every machine, program, or website has built into it that’s comprehendible if you look carefully. As two polarizing examples, look at these two things: a machine gun and a wheelchair.


Both of these have very clear purposes in mind and behind each purpose is a set of values. The wheelchair is designed to support someone. The machine gun is designed to kill someone (or several someones).
Many of the products we make don’t have have as clearly defined values. However as I mentioned earlier, the absence of value is a value: not being explicitly evil isn’t the same as being good. If I make a hammer, it can be used to build homes for the needy, or to build a mansion for a bank robber. I can be proud of the hammer’s design, but I can’t be certain that I’ve done a good thing for the world: the tool’s use is too basic to define it as good or bad.
It’s common to see toolmakers, from search engines to development tools, take credit for the good they see their tools do, while ignoring the bad. This isn’t quite right: they are equally involved in the later as they are in the former.
The conclusion to this is that to do good things for people requires a more direct path than the making of tools. Helping the neighbor’s kid learn math, volunteering at the homeless shelter or donating money to the orphanage are ways to do good things that have a direct impact, compared to the dubious and sketchy goodness of indifferent tool making.
Computer science has no well established code of ethics. You are unlikely to hear the words moral, ethical, good and evil in the curriculum of most degree programs (However some organizations are working on this: see references). It’s not that computer science departments condone a specific philosophical view: it’s that they don’t see it as their place to prescribe a philosophical view to engineering students. (The absence of a philosophy is in fact a philosophy, but that’s not my point). But the history of engineering does have some examples of engineering cultures that took clear stances on ethics.
Freemasons, the ancient (and often mocked) order of builders, has a central code that all members are expected to uphold. It defines a clear standard of moral and ethical behavior and connects the building of things to those ideals.
More recently, the early hacker culture at MIT defined a set of rules for how hacks should be done.
A hack must:
The meaning of the term hacker has changed several times, but the simplicity and power of a short set of rules remains. Do you bind the decisions you make in creating things to a set of ideals? What are they?
Even if we don’t define rules for ourselves, we we all believe one of three things about what we make:
Most of us fall into the middle view: we have some responsibility. But if that’s true, how do we take on that responsibility? How do our actions reflect that accountability?
Nothing prevents us from making sure the tools we make, and skills we have, are put to good use: donated to causes we value, demonstrated to those who need help, customized for specific purposes and people we think are doing good things. It’s only in those acts that we’re doing good: the software, website or machine is often not enough. Or more to my point, the best way to do good has less to do with the technology, and more to do with what we do with it.
Yes, thought-provoking. Nowhere near as deeply thought, a few observations:
“Be funny” in the hacker ethos is an artistic goal – different from the other criteria of “do no harm.” I find that pretty interesting. (Can art be evil? Technology is about tools, what about art?)
As a worker bee in software, I think about sins of omission and sins of commission. I think about them as a former manager and as an interface designer. I think it morally wrong to produce software with bad UIs that makes it hard for end-users to work with it — you are causing pain; and as a corollary (maybe?) I think it wrong to make things for people who don’t get to review what you are doing and tell you/your company if it satisfies their needs and is usable by them. What is often thought of as arrogance in software orgs that don’t take the time to do this is perhaps much worse, if it’s morally wrong to inflict painful or dangerous UIs on your customers.
In the data analysis world of my job, I think it morally wrong not to share an alternate interpretation of data that could change the course of a company’s behavior if it were available to decision makers. But this is often my personal problem :-/
I guess I’m saying: Job roles day to day in technology offer workers the options of different moral positions, during execution of the end product, regardless of what the end product is for, could be used for, etc.