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.

History

The 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 Guidelines

The 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]

  • Contribute to society and human well-being. Programmers should work to develop computer systems that can reduce negative consequences to society, such as threats to safety and health, and that can make everyday activities and work easier. It is “an obligation to develop to high standards” (Savage).[3]
  • Avoid harm to others. Computer systems have an indirect impact on third parties. They can cause loss of information and resources that might result severely harmful for users, the general public, or employers. Therefore, software developers should minimize the risk of harming others due to coding errors, or security issues, by following standards to design and test systems (Code of Ethics and Professional Conduct).[2]
  • Be honest and trustworthy. This principle encourages programmers to be honest and aware of their limitations in knowledge and education when writing computer systems. Also, if a programmer knows there is something wrong with a computer system, they should report it immediately to avoid undesirable consequences.
  • Give proper credit for intellectual property. It is mandatory for every software developer to never use and take credit for someone else's work, even when it has not been protected by a copyright law, patent, etc. They must recognize and fully credit other people's works, and they should use their own ideas to develop software.
  • Respect the privacy of others. Computer systems are wrongly used by some people to violate the privacy of others. Software developers should write programs that can protect users’ private information and that can avoid other undesired people to have unauthorized access to it (Code of Ethics and Professional Conduct).
  • Honor confidentiality. Unless required by law or any other ethical guideline, a programmer must keep secret any additional information related to their employer that arises from working in a project.

From Software Engineering Code of Ethics and Professional Practice[4] (IEEE, ACM):

  • Approve software only if they have a well-founded belief it is safe and meets specifications. Programmers cannot assume that a system is ready to use only because it performs the tasks needed. They should make sure these systems are also safe and meet every specification required by the user. If programs are not safe, users are unprotected from hackers that could steal important information or money. Therefore, several tests should be performed in order to ensure a system's security before approving it.
  • Accept full responsibility for their own work. If a program presents errors, the software developer should accept full responsibility for their work, and should work on revising, correcting, modifying, and testing it.
  • Not knowingly use software that is obtained or retained either illegally or unethically. If a computer system will be used as a base for the creation of another, then permission to do so should be asked by the programmer. This principle prohibits using any other software for any purpose if the way it was gotten is not clear or is known to be illegal or unethical.
  • Identify, define, and address ethical, economic, cultural, legal and environmental issues related to work projects. If a programmer notices and identifies that working on a project will lead to any kind of problems, then the programmer should report it to their employer before continuing.
  • Ensure that specifications for software on which they work satisfy the users’ requirements and they have the appropriate approvals. Software developers should come to their employers to ask for the correspondent approval to the system they are creating before continuing working on the next part. If it doesn't meet the requirements, then a modification to the source code of the system should be made.
  • Ensure adequate testing, debugging and review of software. Programmers should perform the appropriate tests to the pieces of software they work with, and should check for errors and system security holes to make sure that the programs are well implemented.
  • Not engage in deceptive financial practices such as bribery, double billing, or other improper financial practices. Programmers are exposed to be participants in illegal activities to get money. They get involved in them due to threats, economic issues, or simply because they want to obtain easy money by taking advantage of their knowledge about how computer systems work. This guideline prohibits programmer involvement in such unlawful actions.
  • Improve their ability to create safe, reliable, and useful quality software. Since technology advances faster year by year, and so does virtual criminality, the need of well-structured and designed programs is increasing. Computer systems get old and limited by new ones and new devices. Programmers should “further their knowledge of developments in the analysis, specification, design, development, maintenance, and testing software and related documents” (Software Engineering Code of Ethics and Professional Practice)[4] in order to create better pieces of software.

University's Role

Ohio University also trains their computer science majors on the field of programming ethics. They expect every student to understand and follow ACM's principles and responsibilities.[5]

Intentionally making mistakes like creating insecure passwords or leaving security holes in the implementation of a program that could compromise a system's security and reliability exposes the programmer to trial.[3] The specific sanctions that might result from a programming-related legal dispute will vary from one state to another. Sanctions may include corrective actions, a certain number of hours of social work, or months or years in jail.

See also

References

  1. ^ a b c Bynum, Terrel (2015-10-26) [2001-08-14]. "Computer and Information Ethics". In Edward N. Zalta (ed.). The Stanford Encyclopedia of Philosophy (Spring 2011 Edition). Retrieved 2021-06-21.
  2. ^ a b ACM Code 2018 Task Force. "ACM Code of Ethics and Professional Conduct". Association for Computing Machinery. Retrieved 2013-09-28.{{cite web}}: CS1 maint: numeric names: authors list (link)
  3. ^ a b Savage, Brandon (2009-08-12). "Ethics for Programmers?". BrandonSavage.net. Retrieved 2013-09-29.
  4. ^ a b Donald Gotterbarn, Keith Miller, and Simon Rogerson (2013-09-28). "Software Engineering Code of Ethics and Professional Practice". Association for Computing Machinery, IEEE. doi:10.1145/265684.265699. S2CID 9789551. {{cite journal}}: Cite journal requires |journal= (help)CS1 maint: multiple names: authors list (link)
  5. ^ "World of Programming". Ohio University. 2021-05-08.

Read other articles:

Untuk pejuang Jermanik abad ke-4, lihat Latinus (Alemanni). Gambar Latinus oleh Guillaume Rouillé dalam Promptuarii Iconum Insigniorum. Gambar Latinus, dicetak oleh Wenceslas Hollar, tahun 1607-1677. Latinus (bahasa Latin: Latinus) atau Latinos (bahasa Yunani Kuno: Λατῖνος, translit. Latínos) adalah seorang tokoh dalam mitologi Romawi dan Yunani. Dia sering dikaitkan dengan pahlawan Perang Troya, yaitu Odisseus dan Aineias. Meskipun kemunculannya dalam Aeneis tidak dapa...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أكتوبر 2019) الجنية معلومات الكتاب المؤلف غازي القصيبي الناشر المؤسسة العربية للدراسات والنشر تاريخ النشر 2006 مكان النشر بيروت،  لبنان التقديم عدد الصفحات 239 الفريق ال

 

Episode in the Book of Revelation Part of a series of articles onJohn in the BibleSaint John the Evangelist, Domenichino Johannine literature Gospel Epistles First Second Third Revelation Events Authorship Apostle Beloved disciple Evangelist Patmos Presbyter Related literature Apocryphon Acts Signs Gospel See also Johannine community Logos Holy Spirit in Johannine literature John's vision of the Son of Man New Testament people named John vteIllustration from the Bamberg Apocalypse of the Son ...

Stir fried water spinachTumis kangkung disajikan di Makassar, IndonesiaNama lainTumis kangkung, cah kangkungSajianUtamaTempat asalAsia Tenggara, Asia Timur, dan Asia SelatanDaerahIndonesia, Malaysia, Filipina, Singapura, Vietnam, China Selatan, Sri Lanka, Bangladesh, India Timur dan KambojaSuhu penyajianpanasBahan utamaKangkung  Media: Stir fried water spinach RESEP TUMIS KANGKUNG Kangkung tumis atau kadang disebut tumis kangkung atau cah kangkung adalah hidangan sayur tumis yang laz...

 

Цирцея подає келих ОдіссеюCirce Offering the Cup to Ulysses Творець: Джон Вільям ВотергаусЧас створення: 1891Висота: 148 смШирина: 92Матеріал: полотноТехніка: оліяЖанр: міфологічний живописЗберігається: Олдем, Велика БританіяМузей: Галерея Олдема «Цирцея подає келих Одіссею» [1] (ан�...

 

Samantha Sterlyng Información personalNombre de nacimiento Heather PikeOtros nombres Penny, Samantha Sterling, SamanthaNacimiento 1 de abril de 1978 (45 años)[1]​Hagerstown, Maryland,Estados UnidosNacionalidad EstadounidenseEtnia CaucásicaLengua materna Inglés Características físicasAltura 1,63 m (5′ 4″)Peso 50 kg (110 lb)Medidas 34C-24-32Ojos VerdesCabello RubioPecho natural NoInformación profesionalOcupación Actriz pornográficaAños activa 1999-2004Pel...

У Вікіпедії є статті про інших людей із прізвищем Антонеллі. Домінік Ентоні АнтонелліDominic Anthony Antonelli Домінік ентоні АнтонелліДата народження 23 серпня 1967(1967-08-23) (56 років)Місце народження Детройт, Мічиган, СШАAlma mater: Массачусетський технологічний інститут, Школа льотчиків-

 

Former railway station in England This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Wembley Exhibition railway station – news · newspapers · books · scholar · JSTOR (September 2016) (Learn how and when to remove this template message) Exhibition Station, Wembleymarked as Wembley Stadium station (centre-right),...

 

Suecia en los Juegos Olímpicos Bandera de SueciaCódigo COI SWECON Comité Olímpico Sueco(pág. web)Juegos Olímpicos de Atenas 2004Deportistas 115 en 20 deportesAbanderado Lars FrölanderMedallasPuesto: 19 4 2 1 7 Historia olímpicaJuegos de verano 1896 • 1900 • 1904 • 1908 • 1912 • 1920 • 1924 • 1928 • 1932 • 1936 • 1948 • 1952 • 1956 • 1960&#...

Puerto Riko padaOlimpiadeKode IOCPURSitus webwww.copur.pr (dalam bahasa Spanyol)Medali 1 2 6 Total 9 Penampilan Musim Panas1948195219561960196419681972197619801984198819921996200020042008201220162020Penampilan Musim Dingin1984198819921994199820022006–201420182022 Puerto Riko mula-mula berpartisipasi dalam Permainan Olimpiade pada 1948. Sejak itu, negara tersebut telah mengirim para atlet untuk berkompetisi dalam setiap Olimpiade Musim Panas. Puerto Riko juga berpartisipasi da...

 

騎士鐵十字勳章类型領綬勳章(英语:Neck decoration)授予原因作戰表現英勇或卓越的領導国家或地区 納粹德國颁发单位元首與總統授予资格軍事與准軍事人員状态已廢除建立1939年9月1日颁发总数騎士鐵十字勳章:581枚橡葉騎士鐵十字勳章:95枚橡葉佩劍騎士鐵十字勳章:15枚超過7,000人略章 优先顺序上等大十字勳章下等一級鐵十字勳章 騎士鐵十字勳章(德語:Ritterkreuz des...

 

Miss Germany 2014DateAugust 31, 2014VenueThe Tagore Centre, Berlin, GermanyBroadcasterARDEntrants15WinnerJosefin Donat Saxony The Miss Universe Germany 2014 pageant was held on August 31, 2014. This year only 15 candidates were competing for the national crown. Each delegate represents a states and regions of the country. The chosen was Josefin Donat now she will represent Germany at the Miss Universe 2014. The winner of best national costume, the costume will be use in Miss Universe 2014. Fi...

Евангелическая лютеранская церковь в Америке Общие сведения Основание 1 января 1988 Конфессия лютеранство Соглашения Всемирный совет церквей, ВЛФ, Christian Churches Together[d], Churches Uniting in Christ[d] и Национальный совет церквей Руководство Предстоятель Элизабет Итон Центр Luthera...

 

Election in Missouri Main article: 1832 United States presidential election 1832 United States presidential election in Missouri ← 1828 November 2 – December 5, 1832 1836 →   Nominee Andrew Jackson Party Democratic Home state Tennessee Running mate Martin Van Buren Electoral vote 4 Popular vote 5,192 Percentage 100.00% Elections in Missouri Federal government Presidential elections 1820 1824 1828 1832 1836 1840 1844 1848 1852 1856 1860 1864 186...

 

Сочі 2014 Заявки (заявка Сочі) Оргкомітет (посли) Об'єкти (Олімпбуд) Талісмани Естафета вогню Розклад Церемонія відкриття (парад націй та прапороносці) Щоденник Медальний залік (призери) Рекорди Церемонія закриття (прапороносці) Проблеми та критика Паралімпійські ігри Еста...

American college basketball season 1986–87 Georgetown Hoyas men's basketballBig East regular season co-championsBig East tournament championsNCAA tournament, Elite EightConferenceBig East ConferenceRankingCoachesNo. 4APNo. 4Record29-5 (12-4 Big East)Head coachJohn Thompson (15th season)Assistant coaches Craig Esherick (5th season) Mike Riley (5th season) CaptainReggie Williams (1st year)Home arenaCapital CentreSeasons← 1985–861987–88 → 1986–87...

 

For other uses, see Andra (disambiguation). This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) The topic of this article may not meet Wikipedia's notability guideline for books. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot...

 

Maddy Siegrist, the most recent player to lead NCAA Division I women's basketball in scoring. In basketball, points are the sum of the score accumulated through free throw or field goal.[1] While the NCAA's current three-division format has been in place since the 1973–74 season, the organization did not sponsor women's sports until the 1981–82 school year; before that time, women's college sports were governed by the Association of Intercollegiate Athletics for Women (AIAW). The ...

2023 Indian filmMadanolsavamTheatrical release posterDirected bySudheesh GopinathWritten byRatheesh Balakrishnan PoduvalStory byE Santhosh KumarProduced byVinayaka AjithStarringSuraj VenjaramooduBabu AntonyRajesh MadhavanBhama ArunMusic byChristo XavierProductioncompaniesSaina MoviesAjith Vinayaka FilmsRelease date 14 April 2023 (2023-04-14) CountryIndiaLanguageMalayalamMadanolsavam is a 2023 Indian Malayalam-language satirical comedy film directed by Sudheesh Gopinath and feat...

 

イフラ ニーマン 基本情報生誕 (1923-02-13) 1923年2月13日出身地 レバノンサイダ死没 (2003-01-04) 2003年1月4日(79歳没)ジャンル クラシック音楽職業 ヴァイオリニスト担当楽器 ヴァイオリン ポータル クラシック音楽 イフラ・ニーマン(アラビア語: يفراح نيعمان‎; 英語: Yfrah Neaman, 1923年2月13日 – 2003年1月4日)[1]はレバノン出身のユダヤ人ヴァイオ�...