软件开发人员需要一个独立的道德机构
如果您的管理层决定在贵公司网站的.com版本上向客户收取比在.co.au版本上多20%的费用以满足季度数量,该怎么办?
如果您的上级要求您存档同事的所有电子邮件和网络活动日志,并且您怀疑正式的法律公司渠道被忽略了,尽管您的同事可能永远不会知道,该怎么办?
如果您的公司要求您创建软件以汇总内容而不向创作者和创作者提供信用可能永远不会发现,该怎么办?
您是否会创建软件来执行这些以及其他许多可疑操作?在开始之前你可以和应该问多少个问题?
作为一名软件开发人员,你可以合法地做什么,一个楼层,你应该做什么,一个上限,你之间的区别往往是巨大的,令人困惑的,而且并不总是直观的。宽松地说,这种差异是道德规范,作为专业人员系统地导航它需要观点,经验,最重要的是,优先价值观的框架。许多其他专业人士 - 例如医生和律师 - 采用了道德框架,并建立了帮助成员驾驭是非观念的机构。但是,当谈到软件开发 - 一种塑造现代社会的职业时,这种道德支持结构大多缺失。
我们今天拥有什么
软件开发人员有一些承诺,誓言和行为准则。例如,IEEE-CS / ACM软件工程伦理与专业实践联合任务组的国际专业软件开发和道德责任标准促进了解决软件工程的道德和专业实践的发展。它在序言中承认“计算机在商业,工业,政府,医学,教育,娱乐和社会中扮演着重要的中心角色。”此外,“由于他们在开发软件系统中的作用,软件工程师有很多机会做好事或造成伤害,使其他人做好事或造成伤害,或影响他人行善或造成伤害。“然后,它着重于与公众,客户和雇主,产品,判断,管理,专业,同事和自。
还有许多其他不太全面的努力。例如,程序员的誓言是“Bob大叔”马丁“下不为例”服务承诺,在计算专业的服务承诺,在计算机伦理十诫由计算机伦理协会,道德的ACM代码,以及值得信赖的编码器的承诺作者:Bill Sourour。由工程伦理与社会中心(CEES)维护的在线道德中心(OEC)资源。一些大学,如石溪大学工程与应用科学学院的计算机科学系,教授计算机科学专业伦理。像ComputingCases.org这样的网站有历史案例,练习,作业,论文,信息,建议和指导。
然而,这些努力是不发达,矛盾,模棱两可和无法执行的。至关重要的是,他们缺乏监督和问责制。
缺点
没有全面和广泛采用的框架来指导影响用户后代的重要日常决策。许多公司和软件工程师不会在他们的软件开发过程中提出难题。他们没有考虑道德后果,做什么是正确的,或者它影响了谁。当出现道德困境时,强大的技术公司的软件开发人员没有强大的机构可以依靠支持。
我进行了一项简短的,不科学的调查,以粗略地了解软件开发人员接受过多少培训来处理道德问题。我与之交谈过的大多数专业人士,他们编写代码,做出必要的工程决策,并领导技术团队,他们的生活中没有一个有意义的,深入的道德规范课程,绝对不是大学以来。事实上,在快节奏的创新环境中,或者甚至如何识别违反道德规范的情况下,没有继续教育义务来理解不断发展的道德规范。缺少严格和系统的测试,以确保软件开发人员在各种环境中具备道德应用的工作知识。
这并不是说大多数软件开发人员都是不道德的或者不了解道德规范。相反,根据我的经验,许多软件开发人员会提出有关软件道德的关键问题,并经常提供未经过滤的反馈。而且,许多伦理学都是人类和天生的。所以,有希望。然而,在虚假新闻,黑客攻击,选举干扰以及技术的许多其他意外后果的时代,软件开发人员利用他们的直觉作为即兴创作适合我们未来的晴雨表是不负责任的。这种“希望最好”的方法已经成熟,需要改进。
对开发人员的影响
当然,目前尚不清楚软件开发人员遇到违反道德规范的行为时应该做些什么。如果没有正式的道德框架,他们就无权质疑雇主的判断而不必担心失去工作。他们迫使雇主做正确事情的能力充其量是最小的。除非他们在非常狭隘的举报人例外情况下获得资格,否则他们没有法律支持支持他们,特别是在道德问题受到威胁时。通常匿名泄露给记者,并祈求有利的公愤,往往是唯一的办法。
此外,开发人员自己可能要对其组织中其他地方做出的决策负责。除了计算机欺诈和滥用法案(CFAA)之外,完善的欺诈和刑法体系已经应用于软件开发人员和创始人。在法律的眼中,任何工具都可以成为武器,如果它被用来伤害他人或违反法律,软件可能就是那个工具。
根据最近美国商品期货交易委员会(CFTC)于2018年10月16日由CFTC专员发表的演讲,似乎个别软件开发商可能要对协助和教唆CFTC违规行为负责。该专员解释说,“适当的问题是,这些软件开发人员在创建代码时是否可以合理地预见到美国人可能会以违反CFTC规定的方式使用它。......因此,CFTC可以起诉这些人的不法行为。“
(相关地,我预测软件开发人员职业责任保险将很快成为热门话题。)
全面的道德框架不仅可以帮助开发人员和公众,还可以帮助软件公司及其利益相关者屏蔽道德相关的损害。考虑一下Uber和Facebook最近的火车残骸在公众眼中展开。
寻求解决方案
软件开发领域需要一个更有意,成熟和一致的道德框架。设计这样一个框架的方法有很多种,但正式和强制性的自我调节模型可能是一个很好的起点,因为其他行业都有成熟的例子。正式和强制性自我监管的专业,如律师和医生,通过成熟的证书流程,道德标准,继续教育要求,违规判决程序和机构以及定期指导,为软件开发如何专业化提供模型。
独立于框架细节,现在是时候让软件行业停止希望,开始指导软件开发人员了解道德规范,并最终让软件专业人员负起责任。毕竟,我们都依靠软件开发人员来建立一个没有令人不快的惊喜的可居住世界。