Ethical, Legal and Social Issues in Software Engineering
Software engineers must consider ethical, legal, and social implications. Legal issues include intellectual property (copyright, patents, trademarks), data protection (privacy laws), and licensing (open source vs proprietary). Ethical issues include honesty, integrity, confidentiality, and avoiding harm. Social issues include the digital divide, accessibility, and the impact of automation on employment. Candidates must know key principles from professional codes of ethics (e.g., ACM/IEEE), such as prioritising public welfare. Traps include confusing copyright (protects expression) with patents (protect inventions), or thinking open-source software is always free of licensing obligations (e.g., GPL requires derivative works to be open source). Also, privacy involves informed consent and data minimisation. A worked example: a company collects user data for a fitness app. Legally, it must comply with privacy laws (e.g., GDPR) by obtaining consent and securing data. Ethically, it should be transparent about data use and allow users to delete their data. Rule of thumb: if a action could harm users or violate their trust, it is likely unethical. Also, whistleblowing may be justified to prevent harm.