Call for the Software Developer Bar Association
And regional software applications standards committee
(I have edited this from the original to include more motivations and ideas surrounding the concept.)
The subject of quality, responsibility and risk to human lives, means we need to hold ourselves responsible for what we create and put into the public. Software has proved to have a huge impact on modern society. Software also has the potential to impact negatively.
As software developers we must be held to an ethical standard. It should not be left to the community to follow an adhoc disparate unspoken ethos, instead it is time to create a world-wide framework for ethics in software. We need to maintain a high standard of accountability and properly define our industry, what it does, how it does it and by what standards we should be upheld by.
With the advent of the new age of software development (which includes advances in AI), we should now look to provide an ethical framework and a set of rules to govern our industry.
The Software Developer Bar
I propose an ethics committee (bar association), which software developers must join in order to submit code to the regional office. Only a valid Software Developer who has passed the Software Developer Bar Examination can submit the code. You can be disbarred, if found to break the ethics and rules of the bar.
Motivation
By creating an organisation that holds it's professional members accountable, we would be enhancing the ethical behaviour of the software industry as a whole. As in the legal profession, the software bar, holds its software developers accountable to the rules set out in the mandate. If you fail to abide by the rules, you may not practice code, that is pushed to the public. Developers who create malware and viruses, would be disbarred and cannot send code to the Standards Committee for public deployment. Deploying or writing code for organisations without having a Software Developer Association Practice number would be a serious offence. The offence would be listed on your record.
We have to bridge the gap between what is legal, illegal, morally bankrupt and bad for the software industry. As a developer you have a commitment to create code to the best of your professional ability and you should not do harm or malice with your skills.
Without a body incorporated to govern such principles, we could be in for serious trouble, as autonomous vehicles with malicious code can kill, software bugs can create situations that place people in harm.
Responsibility
The ethics, processes and rules of the bar must be defined to include the following:
- Ethics (behaviour, responsibility, hacking, etc)
- Quality (duty of care, code quality, standards)
The Application Standards Committee
I propose an architecture of regional offices which provides code review and a pass or fail system. This should involve a cost to submit and review. Only a valid ASC approval for your software version or application will allow public exposure. We need domains, websites, app stores to only allow applications passed by the ASC.
Motivation
It's not just the ethical behaviour of professionals, but also the potential for bugs, reduced quality by cheap prices and developers who are not yet full skilled. The company, outsourced software house and others who release software to the public have an obligation. That obligation should be validated and the quality levels increased and policed.
Without suitable quality, the industry is cheapening the craft, making software unproductive as well as buggy or worse a danger to it's users. Software is fast pushing the boundaries of a living in a device. It is fast becoming a multi-sensory collaborative organism with artificial intelligence which controls devices that it runs on. This external control leads to the physical world, where human lives are at stake.
Consider the case of military drones, autonomous sentries, autonomous vehicles with life threatening decisions. The future however will bring more of these ethical situations to every day lives in the form of a mobile device with software. Are we to leave this entirely ungoverned?
Responsibility
My current thought, is that we can omit this for internal use applications but the committee would be responsible for:
- Ensuring a minimum level of quality, security, privacy, etc)
Call to Action
I have simply written, what many in the industry understand. It is not a unique idea, but it’s time for us to create the operating system on which this will be built. Let's not wait until we have more deaths from bad quality code.
Please send me an email if you would like to be part of the operating system. I wish to do this with my fellow software engineers and concerned parties. Send me an email if you wish to participate. I look forward to hearing from you. Alternatively, go and do it yourselves, and if you make it happen, I will thank you. If you represent a large business, start talking about this. We need to make this happen.
jonathan@lucidocean.com