Debating the morality behind software development

In the long history of software development -- let's loosely mark the starting point around the time of the ENIAC -- code writers have dealt with a myriad of technical and business challenges. It's fair to say they've also not had to confront questions of morality or ethics about how governments later deploy their finished work.

Until now.

Grady Booch, the inventor of the Unified Modeling Language, says those days of splendid isolation are -- and should be -- coming to an end.

Booch was the first chief scientist at Rational Software when it began in 1981. He kept the job after IBM bought the company in 2003 when he was also elevated to the rank of IBM fellow.

Maybe it's the freedom that comes with possessing a small fortune or perhaps it's just in his DNA to make waves, but Booch relishes the "voice in the wilderness" mantle -- both inside and outside of the technology world's largest corporation. CNET News.com spoke with Booch about his ideas concerning software and ethics during a recent swing he made out to the West Coast.

Q: You've gone on record talking about this question of morality in software. I didn't think one could classify software as moral or immoral. What's behind your thinking?

Booch: Even though what we're doing is deeply technical stuff, there are ethical, moral implications about what we do. And it's not just in our sciences -- look at the struggles the physicists of the '40s and '50s had dealing with their ability to unlock the secrets of the universe.

You're talking about nuclear power?

Booch: I'm talking about nuclear power and not just nuclear power, but also nuclear weapons and the like. It's our ability to unlock these secrets of the universe for either good or bad.

And so?

And so there were great discussions then -- and even today -- to the effect that I may have the ability to do these things, but should I do these things? The same thing is true in software systems.

But those are technical issues, then.

Booch: They're not.

But they don't have anything to do with morality.

Booch: I'm leading up to where the morality issue goes up this (development) ladder. It's the place where it's not just a matter of whether we can build or want to build but also the question of whether we should build.

Here's an example. London's installing more video cameras per square mile on the street than anybody else. All right, not a lot of software there. But what happens when they couple that with facial recognition software so I can actually track individuals as they go through the city?

But that's not a question that the software developer gets presented with. That's something for the city of London to consider based upon its needs.

Booch: Yes, but at the ultimate level, the software developer can say, "Do I want to actually build a system that potentially could violate human rights?"

What software developer do you know actually thinks about that when he or she sits down at the keyboard?

Booch: I know many. There is a group called Computer Professionals for Social Responsibility where many of its members think about that kind of thing. That group was formed to deal with the social issues of the developers. Do I as a developer, coming fresh out of college, decide to go work for someplace in Silicon Valley working on a benign business application? Or do I work for some defense contractor? So that's a moral decision that a person has to make to use his or her skills.

For the sake of argument, I also could say that while Google is a for-profit corporation, it's been involved in China and some people have raised questions in connection with the company's policies. So when some freshly minted engineering candidate out of Berkeley decides where to apply for a job, does Google then get put on par with the military as far as these moral questions are concerned?

Booch: That's a decision that person has to make. The issues you raise are philosophical ones. Let's say I'm working on some bit of software that enables sort of a social networking kind of thing that enables connectivity among people and there's potential for the exposure of lots of information. Well, do I then add a particular feature realising it may have a coolness factor. But at the same time I may just have found a way that pedophiles can get into this network more easily.

Using your logic, wouldn't it also be fair to say that somebody who was instrumental in designing the cell phone would have faced those same issues because a pedophile can use a cell phone for nefarious purposes?

Booch: The question is whether I, as a technologist, add features that potentially eat away at personal privacy but also enable the use of a law enforcement agency to track this person? Which way do I push this because, as a technologist, I have the ability to deliver things to people who don't know how to do that technology. Nonetheless, they are the ones who will make policy that would be impacted by what I create.

Advertisement

Talkback 0 comments

Sponsored content

Power Centre - Content from our premier sponsors

Blogs

Tags

Back to top

Featured