Introduction
Introduction
The ACM Software Engineering Code of Ethics consists of 8 Guiding Principles:
- Public
- Client & Employer
- Product
- Judgement
- Management
- Profession
- Colleagues
- Self
Public
PRINCIPLE 1 – PUBLIC
Software engineers shall act consistently with the public interest
This principle includes:
- Taking responsibility for your work
- Ensuring software is safe and words
- Disclosing potential dangers in software to the public or the environment
- Being honest when addressing the public
- Considering physical disabilities & economic disadvantages
- Volunteering professional skills
Examples
Client
PRINCIPLE 2 – CLIENT AND EMPLOYER
Software engineers shall act in a manner that is in the best interests of their client and employer (consistent with the public interest.)
This principle includes:
- Being honest about the nature and limitations of our skills.
- Not knowingly using pirated / illegal software.
- Only using equipment in the manner intended
- Keeping information confidential, where such confidentiality is consistent with public interest / the law
- Keeping the client up to date with potential issues
- Manage conflicts of interests when considering outside work
Examples
Bill Gates Software Piracy BASIC
Product
PRINCIPLE 3 – PRODUCT
Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
This principle includes:
- Producing the best possible product within the constraints given
- Ensuring that goals set are achievable and realistic.
- Ensuring any legal, ethical or cultural issues related to the product are identified
- Ensuring that you are qualified, experienced and following professional standards of software development
- Ensuring products are fully tested and debugged
- Ensuring products are fully documented
- Ensuring the security and privacy of data used in the software development.
Examples
Judgement
PRINCIPLE 4 – JUDGEMENT
Software engineers shall maintain integrity and independence in their professional judgment.
This principle includes:
- Maintaining objectivity and avoid conflicts of interest, especially when being asked to advise on public or professional issues.
- Only endorsing work that you have personal oversight of.
- Avoiding bribery or other improper financial activities
Examples
https://www.reuters.com/article/us-ptc-settlement-corruption-idUSKCN0VP23P
Management
PRINCIPLE 5 – MANAGEMENT
Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
This principle includes:
- Ensuring good management of a project.
- Ensuring engineers know standards, policies and procedures that apply.
- Ensuring realistic estimation of costs and timescales for work.
- Only assigning work to engineers that they are capable of doing.
- Offering fair conditions and enumeration
- Ensuring that their is fair agreement of ownership of software or other intellectual property.
- Not punishing people for expressing ethical concerns about a project.
- Not punish anyone for expressing ethical concerns about a project.
Examples
https://www.reuters.com/article/us-alphabet-google-research-idUSKBN2AJ2JA
Profession
PRINCIPLE 6 – PROFESSION
Software engineers shall advance the integrity and reputation of the profession (consistent with the public interest).
This principle includes:
- Promoting ethical development
- Promoting public knowledge of software engineering
- Supporting other engineers
- Obeying all laws except where incompatible with the public interest.
- Taking responsibility for detecting and dealing with errors in software.
- Being honest when stating claims in regards to software
- Reporting violations of the code to the necessary bodies where appropriate
Colleagues
PRINCIPLE 7 – COLLEAGUES
Software engineers shall be fair to and supportive of their colleagues.
This principle includes:
- Ensuring colleagues adhere to the code
- Assisting colleagues in their professional development
- Crediting others for their work
- Reviewing the work of others in an objective and hones manner.
- Listening to complaints and concerns of others
- Asking for assistance where necessary
Self
PRINCIPLE 8 – SELF
Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
This principle includes:
- Continuing your own professional development
- Continually improve your ability in all aspects of software development.
- Avoiding unfair treatment of anyone due to your own prejudices.