October 15, 2007 9:25 AM PDT
Newsmaker: Debating the morality behind software development
See all Newsmakers
- Related Stories
-
IBM's Booch: The developer's developer
September 26, 2007 -
The collective amnesia over Shi Tao
March 30, 2007 -
ENIAC: A computer is born
February 13, 2006
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 realizing 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.
See more CNET content tagged:
Grady Booch, nuclear power, software development, implication, software developer





But that was not how I read Charlie Cooper's questions. Whatever he meant to say, what I heard was aggressive and ethically challenged questioning. Sometimes you get only one chance to make a bad impression.
software is used. Just look at the average EULA; the customer is
screwed no matter how bad the software is... The average
developer doesn't even stand behind his or her product. That's
were I believe this discussion needs to start!
Also, Booch sounds pretty high on developers, as if they're turning lead to gold or something. Does he realize that whatever we code a machine to do, a person can already do? The only advantage the machine brings is speed and scale.
software morality is not very well thought out and he is putting too
much responsibility on the programmer and not the business
person driving the project. What world does this guy live in?
Second, Grady did NOT represent his input as a thought-through personal answer to the question of the moral responsibility of the individual technician or developer. He was pointing out that the fact that such questions are now being asked indicate that many of our innovators have gotten past the "Gee Whiz" stage and have begun to think about the potential impacts of their efforts on society. Anyone who finds that irrelevant, or the province of the managers only should check the archives of the Nuremberg War Crimes Trials, where the German officers made that argument much more forcibly, and where it was resounding (and correctly, in my view) rejected.
If developer A doesn't want to build it..
Developer B will and developer B will get paid while A goes hungry.
"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?""
Do we really want to live in a society where the government can and does track our individual movement through software? We of all people know how close that Orwellian nightmare is to beocoming technologically feasible. It is one thing to be aplotical and not care, it is quite another level of immorality to participate in the erosion of our civil liverties and that of others. Go Grady!
indeed discuss moral issues as to the building of the first atomic
bomb. All one has to do is imagine if those scientists had come
to the conclusion that the bomb should not be constructed and
had refused to do further work. Both Nazi Germany and Japan
had bomb projects and would have built one sooner or later.
And of not them then some other despot down the line. Where
might we be if that had happened?
The whole interview was an exercise in futility and wrong
headed thinking. If developer A doesn't add the feature being
morally debated then developer B WILL add it. Developer A can
do nothing to prevent it other than run off at the mouth.
Splitting the atom, cloning a human being or building a
computer, once the genie is out of the bottle moral arguments
mean nothing. The best one can hope for is to control the issue
through regulation or negotiation.
A business is principled in making money. The transactions that occur are between an impersonal group (a business) and a consumer (a person), so there?s no meaningful human interaction taking place. The profit motive is the guiding principle of the business world and morality and ethics are in direct conflict with the profit motive.
Not so much the interviewer as the interviewee. Lost some of my respect for Grady Booch, who makes vague allusions to morality, without expanding on what he means...
The debate isn't really particular to software development as it is to any profession. Do you believe in the end result of what you do? Can you connect the dots and understand the ultimate result - expected and side effect (as in pollution, social consequences, etc.) of what you do.
It does need to be raised for software developers too, who more often than not, are more focused on their methods and tools than the end goals. I know lots who are brilliant at programming, but couldn't care less about what the business goals of the software they write are.
- Feedback
- by gbooch October 23, 2007 12:51 PM PDT
- Not surprisingly, reaction to my interview was polarized; this is
- Like this Reply to this comment
-
(22 Comments)an emotional topic. That being said, i must commend <a href="#">t
his reader</a> who really grokked my point. While some of the
comments posted in reaction to the interview accused Charles of
being belligerent, I never saw it that way: this is an important
and little-discussed subject, and Charles asked me some good,
hard questions. Thank you, Charles.