Why Software Ethics Matter
Software is impacting every area of our lives, and will be even more omnipresent in the future. We have seen on many occasions during the last few years how a small glitch in software can have unprecedented consequences, from data leaks to people being harassed, harmed or killed.
As software practitioners and as members of a community, we have a responsibility towards our users, our fellow developers, humankind and the world.
In this article we will take the opportunity to consider the ethical implications of software development and production, why it is important, and how we can do it better for the world and for ourselves while still being pragmatic.
Why do ethics matter?
Ethics is a major branch of philosophy. In simple terms, it is the study of values and customs of a person or a group. In even simpler terms: the philosophy on how to act. It usually implies concepts of right and wrong, and is all about the consequences of what we do, and how we do it. Examples of ethical paradigms are consequentialism (judge on the consequences whatever the means), deontology (judge the means, whatever the consequences), or virtue (if you're a good person you will do good).
Likewise, politics is the study of the relative distribution of power, authority and privileges in human societies. Software has introduced a major shift in the economics, social, information and political fields, and the choices we make in the design, implementation and dissemination of software products has a direct impact on them. Developing software is a political act.
Software is eating the world
We use software every day. States and big companies have digitalised a great part of our data: our habits, through phones, computers, purchases, network connections and bank transactions, are known and stored somewhere.
Software enables us to fly, and can on occasions cause planes to crash. Software makes us live longer and better lives, and sometimes kills us whilst trying to do so. Software enables us to hear and see the whole world, but is sometimes used to deceive us. And if war comes upon us, then we'll probably be killed by some software-engineered weapons.
Ethics and code of conduct: state of practice
Most organisations now have a code of conduct and/or a code of ethics. Code of ethics is for business and decision-making, code of conduct is for actions and behaviour. Big companies even have a variety of them for their contractors, colleagues, users, and providers.
Still, most companies involved in scandals during last years had a code of ethics. Experience demonstrates that the presence of an ethics code is just not enough, it needs to be enforced. It is however a good thing to have because it sets a standard, and it lays down healthy foundations for further reflection and action.
All major forges and open-source communities (e.g. Apache Foundation, GitHub, Eclipse Foundation, Debian) have a code of conduct and enforce it. There is a common concern about understanding and application of an ethics code and in most cases of breach there are prompt reactions.
Ethics at the Eclipse Foundation
The Eclipse Foundation has a transparent structure, with a specific concern on its independence. The board, staff, EMO's, and project leaders listen and interact frequently, e.g. on the mailing lists. IP policy is not only for lawers, it's also about fairness. The Eclipse Foundation has a very strict policy regarding IP and licencing.
There is a code of conduct and numerous initiatives [1, 2, 3] on diversity in workshops, eclipse days and conferences, and a dedicated channel (#diversity) on the foundation's Mattermost server.
The flaws of meritocracy
Meritocracy is a beloved concept in open-source communities. But although it seems to be remarkably efficient (see the Debian project, and generally speaking all major free software organisations), it is not necessarily ethical. Many voices [ 1, 2 ], and studies have shown that organizational cultures that value meritocracy often result in greater inequality. People with "merit" are also often excused for their bad behavior in public spaces based on the value of their technical contributions.
What we do
All communities start from a group of individuals: that is us. As software practitioners we face ethical dilemma and questionnable situations. We already did, and we probably will again.
A good step towards an increased consciousness is to do our own mea culpa, in order to review our behaviour and actions and check that they are aligned with our own beliefs.
What can we do to prepare ourselves to make the right decisions when it happens? Get to know where our personal limits are, question and understand the consequences of decisions and actions, know the existing initiatives, and exercise our judgement.
Building ethical software
How do we, as committers of a project and actors of its community, make our product more ethical? There are a couple of easy steps:
- Adopting a code of conduct: there are ready-to-use codes available, like the Contributor Covenant. GitHub also proposes a default template when creating a new project.
- Enforcing the code of conduct, and providing easy means for people to raise ethical issues.
- Setting up a transparent and publicly available governance model for the project.
- Nurishing quality- and ethical- initiatives within the projects, whatever they may be.
Other more time-consuming aspects may include software quality attributes, like reliability, maintainability or usability, community-related commitment to diversity and support people, user data protection.
The Diesel gate
A big institutionalised lie set up to bypass state environmental regulation, and widespread across the whole automotive industry. The European authorities knew it, the states knew it, the companies knew it. But as Segolene Royal (the former french head of the ministry for the environment) said during an official commission, "we cannot impede our national companies".
Meanwhile, outdoor air pollution kills 3M people per year worldwide.
It’s difficult to get a man to understand something when his salary depends on him not understanding it. [Upton Sinclair]
Whistleblowers make a choice to make public interest disclosures about illegal activity or activity in violation of company policy against an employer. It requires courage and preparation, and most of the time leads to losing one's job. Regarding the recent events [1, 2, 3] whistleblowers, more than anyone else, have set the battle against corruption and environmental and health diseases.
There is a growing interest in whistleblowers and public disclosure -- as a sidenote, some job interviews now include questions related to whistleblowing, and they expect the candidate to do so (observed in the UK).
Most of what we call ethics is unwritten. Instead, like many cultural rules, they're mostly implicit. Not everything is black or white: between things we know we would never do and things that we consider ok, there is a large grey zone. And that's where issues happen. The devil lies in this grey zone, and reducing its size is our best chance to take the right action next time a dilemma happens.
Everything will start from discussions, common interest and debate. What do you think will be the next step? Should we write a manifesto for our corporation, like the Hypocrate's oath for medecine? Should projects be assessed regarding their ethics and a suitable label attached, like sustainable trade does? What should we do — what will you do? We need to act now.
When no single body is at fault it is clearly everybody's duty. Let's state it plainly: We do care.