词条 | Programming ethics |
释义 |
This article gives an overview of professional ethics as applied to computer programming and software development, in particular the ethical guidelines that developers are expected to follow and apply when writing programming code (also called source code), and when they are part of a programmer-customer or employee-employer relationship. These rules shape and differentiate good practices and attitudes from the wrong ones when creating software or when making decisions on a crucial or delicate issue regarding a programming project. They are also the basis for ethical decision-making skills in the conduct of professional work. HistoryThe American scholar Norbert Wiener, professor of Mathematics and Engineering at Massachusetts Institute of Technology, was the first person to set the basis for a new type of Ethics in the mid 1940s. He noticed that the innovations and advances in science and technology, along with the fast-growing computer industry, were leading to the appearance of this type of Ethics that he named “cybernetics” (from the Greek word for the pilot of a ship). The emerging use of computers and other technologies were bringing up new ethical issues that needed to be analyzed carefully using new ethical guidelines. Wiener wrote three books that lay down a foundation to a new division of Ethics after World War II ended. The books were Cybernetics (1948), The Human Use of Human Beings (1950) and God and Golem, Inc. (1963). Even though he never saw himself creating a new area of Ethics, Wiener gave detailed examples where some ethical and social issues and implications, which were generated by the use of computers, could be identified. However, his ideas were not taken seriously by other scholars because they considered him an eccentric scientist that fantasized about Ethics (Bynum).[1] In 1976, a new term regarding Ethics, named “computer ethics,” was proposed by Walter Maner based on the ideas and principles of Norbert Wiener. Maner felt it was necessary to have a field of Ethics for the computer industry just as the medical and business industries had at that moment. Maner also defined that field as one that “studies ethical problems aggravated, transformed or created by computer technology” (Bynum),[1] and he even designed a computer ethics course that could be imparted to university students. In the early 1990s, Donald Gotterbarn claimed that computer ethics should be considered as professional ethics that could have the power to lead towards the development and advancement of standards of good practice and codes of conduct for computing professionals (Bynum).[1] He worked with several professional-ethics advocates to write ethical guidelines for creating codes of Ethics. He formed part of the creation of Code of Ethics and Professional Conduct, adopted by the Association for Computing Machinery (ACM) in 1992, and Software Engineering Code of Ethics and Professional Practice, adopted by the Institute of Electrical and Electronics Engineers (IEEE) and the ACM as well. These codes also include Programming Ethics principles. Programming Ethical GuidelinesThe Association for Computing Machinery (ACM) is the world’s largest educational and scientific computing society. It has its own Code of Ethics and another set of ethical principles that were also approved by the IEEE as the standard for teaching and practicing software engineering. These codes are Code of Ethics and Professional Conduct and the Software Engineering Code of Ethics and Professional Practice, respectively, and some of their guidelines are presented below: From the Code of Ethics and Professional Conduct (ACM):[2]
From Software Engineering Code of Ethics and Professional Practice[4] (IEEE, ACM):
University's RoleUniversity indirectly helps to form software developers that will follow programming ethics{{Citation needed|date=December 2014}}. According to Dr. Stephen Blythe, computer science professor at Lindenwood University, the Computer Science department of this university has made a goal to encourage students in classes to put in practice good conducts when programming. He adds that the application of ethical guidelines might not be clearly visible during the first years of the computer science career. However, “as students get to be a senior in this field, there is more information about programming ethics principles that is conveyed to them because it will be useful when they go out to the business world” (Blythe).[5] Ohio University also trains their computer science majors on the field of programming ethics. They expect every student to adhere to ACM’s principles and responsibilities before getting to programming. It is also needed that the students fully comprehend and follow those guidelines (World of Programming).[6]Legal consequencesBreaking any of the guidelines established on IEEE and ACM’s Codes of Ethics or other codes will result in an immediate termination of the membership to the correspondent professional associations. Moreover, Dr. Stephen Blythe expresses that a programmer who commits any violation of the Code of Ethics can also be prosecuted to US laws because of the implicit relationship programming ethics have with business laws, agreements, contracts, etc.[5] Harm generated to third parties is punishable in the US legal system. Intentionally making mistakes like creating insecure passwords, or leaving security holes in the implementation of a program that could put on risk the system’s security and reliability exposes the programmer to trial (Savage).[3] The specific sanctions that might result from a programming-related legal dispute will vary from one state to another. Sanctions may vary from corrective actions, to a certain number of hours of social work, or to months or years in jail. See also
References1. ^1 2 Bynum, Terrel. “Computer and Information Ethics.” The Stanford Encyclopedia of Philosophy (Spring 2011 Edition). Ed. Edward N. Zalta, Oct. 2008. Web. 29 Sep. 2013 2. ^1 “ACM Code of Ethics and Professional Conduct .” Association for Computing Machinery Advancing Computing as a Science & Profession. Association for Computing Machinery (ACM). Web. 28 Sep 2013. 3. ^1 Savage, Brandon. “Ethics for Programmers?.” BrandonSavage.net Perfect the art of software development. 12 Aug. 2009. Web. 29 Sep. 2013. 4. ^1 “Software Engineering Code of Ethics and Professional Practice.” Association for Computing Machinery Advancing Computing as a Science & Profession. Association for Computing Machinery (ACM), Institute of Electrical and Electronic Engineers (IEEE). Web. 28 Sep 2013. 5. ^1 Blythe, Stephen. Personal Interview. 30 Sep. 2013. 6. ^“World of Programming.” Ohio University. Web. 29 Sep 2013. External links
1 : Ethics |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。