To explain, a code of ethics is a set of rules that tells us (as software professionals) how we
should behave, what our duties are and how they shoul dbe carried out. Here i give just one reason why
people should not be forced to adopt one.
I believe that at the end of your last lecture you asked us to spend some time thinking about a
code of ethics for computing, well i did and i came up with some interesting ideas.
Bellow i give an argued reason against a code of ethics for the computing industry.
On the face of it a code of ethic's seems like a very good idea and sentences like this (from the draft Accreditation Board Of Engineering and Technology code) hold paramount the safety, health and welfare of the public a very sensible idea. However there is one special case where it completely falls over, military work. Any software engineer working for any military organisation or any organisation supplying to the military would not be allowed to adopt such a code as it is in direct contradiction with there direct or indirect work. All military work not matter if its called 'defence' is about killing people and doing it as quickly and efficiently as possible, given the conventions of any sensible ethic's code would have to advise against this.
The problem runs deeper however, the worlds very first computing professionals were working directly for the military, for example the British 'Enigma' machine devised by Alan Turing and built by Thomas Flowers et al, was built to decode encoded German communications so U-Boats, troop ships, and aircraft could be attacked and destroyed by surprise. The first stored program computer the UNIVAC was built specifically to compute ballistic trajectories for artillery shell firing tables, making there killing more accurate and deadly. No lesser figures than Von Neuman were involved in the project. The third computer built was the ILLIAC itself built specifically to do the required calculations for nuclear weapons manufacture, and contributed directly to the development of the two bombs created for the bombing of Nagasiki and Horroshima in Japan, in which at each site an estimated 100,000 died in less than a thousandth of a second and up to a million over the next 25 years, not a particularly ethical use of computers.
Throughout the 1950s and 60s computer research was driven by the military as a means of producing better weapons, vast numbers of computing professionals worked for the industrial-military complex. As we all know the construction of a packet-switched redundant network (the beginnings of the internet) was funded by the US Military, not as many believe to create an attack resistant network, but instead to allow military research at distributed locations to communicate better and so aid there development work. The first IC's (Integrated Circuits) were developed as a more reliable and compact method for constructing the guidance computers in US Minuteman Intercontinental Ballistic Missiles (ICBMs), therefor helping to bring about the possibility of total nuclear war and the possible extermination of mankind itself, not very ethical.
This rases a number of issues, if a computing code of ethics were to be backed and enforced by law (like the medical and legal codes are) we would be obliged to stop all military research on its introduction loosing countless jobs in the process. There is however one more step that would have to be taken if a code of ethics became law, that is the prosecution of those who had broken it.
It is at this stage that the code of ethics would force us to take to court (and in all lilkleyhood convict, given the obvious breach of the code), all the pioneers of our profession. I for one do not want to be part of a society or 'profession' that could convict people like Alan Turing, a true pioneer of computing and a person who made a massive contribution to preventing the Britain from being invaded and taken under Nazi rule in WWII. The same is true of Von Neuman, who's ideas about computer architecture are used as the basics for almost all computers ever created.
Having said that if a code of conduct can improve standards it should be made available however it should not be mandatory. As a student of history as well as computing i know that in war (and war is as inevitable as death and taxes) the side who is willing to do was the other would not will always win, this means abandoning ethics if we cannot do this our future cannot be assured. I will provide an example to back this rather large jump of faith. After the terrorist attacks on the US on September 11th, the US and allies were able to swiftly move to remove the power base for further terrorist attacks by rather brutally killing all those who stood in there way. This was not done by throwing rocks, but by using very advanced computing machinery in the form of aircraft and missiles. Something that would not have been possible if a code of ethics had been applied 'across the board' beforehand, i for one would not look forward to a life were terrorism has free rein over our lives immune from any response.