But legally? That's a whole other can of worms. Giving this document the force of law would just make it easier to shift the blame in a crooked organization onto the people writing its software. At most, I could see affirmation of this document and an oath to abide by it as the basis for membership in a voluntary professional organization.
Laws are not perfectly correlated with morality (regardless of your ideology), but they at least provide a methodology of implementation and disciplinary action.
If I stand to gain from unethical software, and the worst thing that happens to me is some vague entity with no power holds me in disrepute, why do I care? It's not an effective code at all, it just feels good for its proponents.
Hasn't this already been solved? Take a leaf out of Engineering or Medical licensing.
> diminish quality of life, diminish privacy or harm the environment.
Could you work at a targeted advertising company or at resource extraction (eg mining)?
> Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software.
Seems like some economic SJW stuff, and would you break your oath if you didn't add blind accessibility to your GUI?
> 3.03. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.
This seems way outside the scope of a developer, especially if we are speaking of technical and deep fields like health care or finance.
The rest isn't too bad. I often fear things are this would just be used to best people over the head that disagree with "best practices" in the industry or work in unfavored industries.
You're on the right track. These moral codes are supposed to get people thinking whether their acts are really ethical, or just rationalized as such.
Since lawyers deal in argument, I think they are better at knowing where to draw lines like this. Reading HN or worse /. I don't think developers can do this well. I used to poke around legal forums a lot and their discussions were much better and well argued compared to dev forums
If you forgot about maybe ensuring blind accessibility, then you goofed. If you were informed of this issue, and refused to seriously consider the matter, then you broke the code of conduct. If you seriously consider the matter, and decide not to implement blind accessibility after estimating the cost/time for doing so, then you are in agreement with the code.
>> diminish quality of life, diminish privacy or harm the environment. > Could you work at a targeted advertising company or at resource extraction (eg mining)?
Environmental: I would guess the typical example of unethical software engineering is the big VW diesel scandal. As far as I understood, the Bosch engineers who wrote the offending code clearly documented that it is for debug purposes only, and use in production would be unethical and probably illegal. Were these engineers in breach of the code-of-conduct? In my view this depends on whether there is a good debug justification for the code; if not, then they acted unethically by even writing it and should have refused. The code-of-conduct requires them to think about whether such a feature is justified for debug purposes.
Did the VW people who put this into production break the code-of-conduct? Absolutely.
>> 3.03. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects. >This seems way outside the scope of a developer, especially if we are speaking of technical and deep fields like health care or finance.
I think that the code-of-conduct just requires that you carefully think about these matters, and accept that your personal ethical responsibility cannot be discharged by "my boss/customer told me to do this".