In 1993, the IEEE Computer Society (IEEE-CS) and the Association of Computing Machinery (ACM) formed a joint committee to help organize software developers and engineers into a profession. As part of this project, a sub-committee of professionals, academics, and members of ACM and IEEE-CS began work drafting a code of ethics for software engineers through electronic mail. After four years of online discussion and revision, version 5.2 of the Software Engineer’s Code of Ethics and Standards of Practice was adopted by IEEE-CS and ACM in 1998, and since then, the code has been adopted by software engineering and computer societies worldwide.
The IEEE-CS/ACM Software Engineering Code of Ethics Archive documents the drafting, debate, and final adoption of the joint IEEE Computer Society /ACMSoftware Engineering Code of Ethics and Standards of Practice. Indirectly, the archive illustrates how software engineering developed from an occupation to a profession. The drafting and approval of the Software Engineering Code, carried out in substantial part by email, has produced a detailed record of the development of a professional code of ethics. This correspondence, as well as related documents, interviews, and publications, make up the contents of the IEEE-CS/ACM Software Engineer’s Code of Ethics Archive.
In 1993, the world's two largest associations of software developers, the IEEE Computer Society, and the Association of Computing Machinery, formed a joint committee of individuals interested in organizing "software engineering" as a profession. Software engineering had been quickly evolving over the past several years, and leaders in the field saw a need to formalize and advance the field into a professional discipline.
The Joint Steering Committee for the Establishment of Software Engineering as a Profession established three tasks essential to accomplishing their mission: 1) to identify the body of knowledge and recommended practices; 2) to address education issues; 3) to identify ethics and professional practices. One sub-committee, the Software Engineering Ethics and Professional Practices task force (SEEPP), was charged with documenting and codifying standards of ethical and professional practices for software engineers.
In October of 1994, SEEP’s co-chairs, Robert J. Melford of IEEE-CS, and Donald Gotterbarn of ACM, issued a worldwide “Call for participation” via email for individuals interested in helping draft the Software Engineering Code of Ethics. Members of SEEPP saw worldwide participation in drafting the code of ethics as essential. SEEPP members felt that code of ethics should be as reflective as possible of the global community’s computing wisdom, and that standards laid out in the Software Engineering Code of Ethics should come as close as possible to “documenting the international consensus for minimally acceptable ethical/professional responsibilities and obligations of software engineers.”(1) The original twenty-nine volunteers, who had experience working in India, Egypt, the United Kingdom, Ireland, the Philippines, Canada, and the United States, brought an international perspective to SEEPP, as well as strong interests in developing standards and best practices for the software engineering profession. It was through this world-wide call that CSEP first became aware of the project.
After an extensive review of pre-existing computing and engineering codes from other professional organizations, SEEPP committee members suggested ideas of what standards should be included in the code. Periodic electronic meetings and conference calls were held to discuss various ideas, and a few SEEP members attending national meetings sometimes met in person. In May of 1996, Edmund Mechler compiled some of these ideas into version 0 of the code. Discussion among small number of SEEPP members lead to version 1 of the code (with Michael Davis acting as wordsmith through September of 1996).(2) In October of 1996, version 1 was disseminated to the workgroup. A whirlwind of comments and extensive revision of version 1 ensued, and in February of 1997, version 2 of the code was completed.
In October 1997, Don Gotterbarn, Keith, Miller, and Simon Rogerson jointly published an article in the journal, Computer titled, "Software Engineering Code of Ethics, Version 3.0", in which they called on readers to submit comments on the current version. Based on these and other recommendations, and other sources, a final version of the code was finally completed after almost four years of intensive discussion on the ethical issues critical to the profession of software engineering. IEEE-CS and ACM adopted version 5.2 of the "Software Engineering Code of Ethics and Professional Practice" in late 1998.
From the beginning of the online discussion, members of the Center for the Study of Ethics in the Professions were participant observers, supported by a pilot grant from the National Science Foundation. After receiving the “Call for participation” email, CSEP director Vivian Weil contacted co-chair Donald Gotterbarn of the Software Engineering Ethic Institute at East Tennessee State University and expressed interest in observing the process. Gotterbarn assigned the IIT research team of Weil, Michael Davis (CSEP Senior Fellow), and Ilene Burnstein (Computer Science, IIT) to the ‘professional competence’-working working group, the group that was to write the first draft of the code of ethics. From the very beginning of the drafting process in 1993 to the final approval of Software Engineering Code of Ethics, the IIT team compiled a paper archive of emails from this workgroup for discussion and analysis.
The online drafting of the code created an important opportunity to study the development of a profession in a unique way. The IIT research team, seeing the potential for a much larger study, submitted and received funding from the National Science Foundation in 2001 that allowed members of CSEP to complete and make available to researchers the following resources:
Interviews of main participants in the project : Individuals who participated in the online drafting of the code, officially involved with the project, or participated in informal capacities were interviewed about their past professional experiences as software developers, their own participation in the IEE-CS/ACM Joint Task Force on Software Engineering and Professional Practice, and changes in their views of the importance of a professional code of ethics. Full transcripts of these interviews are available to researchers who physically come to the CSEP Library, or apply for remote access See the accessing the archive page for more information.
Electronic archive : This online archive of correspondence documents the drafting and final adoption of the “Software Engineering Code of Ethics and Professional Practice." The archive is composed of the original emails, faxes, regular mail, and other related documents compiled by the IIT research team, and documents generously donated by members of SEEPP. The SEEPP correspondence documents the emergence of a new profession, and the development of a professional code of ethics from the bottom up. One of the most interesting aspects of the archive is that much of the drafting was done via email. The electronic correspondence in the archive reflects both the advantages and drawbacks of online communication for complex projects. Efforts have been made to make the archive as complete as possible, though some gaps exist. As many of these documents include confidential information relating to individuals involved in the project, access many areas of the archive is restricted. See the accessing the archive page for more information.
Technical report : Code Making: How Software Engineering Became a Profession by Michael Davis explores the development of the code. This full-length report details the formation of the IEEE-CS/ACM Joint Committee, the long process of drafting and final adoption of the code, and offers insight into how and why these two organizations adopted a code of ethics.
1. Melford, Robert J. and Don Gotterbarn. “Call for Participation.” Email to SEEPP Task Force, Oct. 15, 1994. IEE-CS/ACM Software Engineering Code of Ethics Archive. http://hum.iit.edu:8080/aire/sea/2/1994_October_15_DG.html
2.Davis, Michael. Code Making: How Software Engineering Became a Profession. Chapter Four, pp. 3-5. (viewed July 18, 2006)