纽约时报及其它媒体都报道了软件工程师James Liang 因参与开发刻意欺骗排放测试设备的软件以低报排放等级,被判处四十个月的监禁及二十万美元罚款。该软件结合了硬件,仿造了排放测试设备的独有输入特征,进而修改了引擎模式,达到了降低尾气排放等级的目的。在正常驾驶中,软件会关闭控制,以提高扭矩或是降低油耗。
此丑闻所引发的代价,仅在美国就超过了240 亿美元,并再次激发了人们对软件工程伦理的讨论。
一篇 IEEE 文章探究了此类情况下的伦理问题。其中,以色列 Negev 市 Ben-Gurion 大学的商业伦理高级讲师 Yotam Lurie 指出:
令人震惊的是,大众的软件工程师漠视并遗忘了作为专业人士的监护责任。专业人士在企业内对安全负有一半的责任,在这类情况下是环境的安全,即便这会降低企业的效率,或对企业并非是经济的。
在同一文章中,加州 Santa Clara 大学的哲学系主任 Shannon Vallor 指出:
人们已经知道企业也会错误的做事,这不可能是几位流氓工程师的所作所为。问题潜在地指向了企业的高层。我们看到问题在企业设备生产线上的传播是如此的广泛。这本来必定会得以测试和更新的。这是个很严重的问题,大规模企业犯罪影响到了人们的健康。毫无疑问,所有涉及其中的人都明白这是不道德的。
《商业伦理案例分析》(Business Ethics Case Analysis)将此次事件添加为一个案例,作为丑闻揭示了一系列被企业所违反的伦理原则。
如果大众稍微花费一些时间和经费去开发一种更为清洁的柴油发动机,那么整个丑闻本是可以避免的。但是企业更优先考虑的是自身的销售情况,而非推出质量有保证的车辆。
软件工程伦理从何而来?软件工程专业人士是否应首先具备社会责任?所涉及的工程师是否曾拒绝合作去生产那些刻意设计用于欺骗监管机构的软件和硬件?
已有一些专业机构给出了软件工程的道德准则或是行为准则。例如, ACM 给出了软件工程伦理及业务准则(Code of Ethics and Professional Practice),其中指定软件工程师的责任为:
软件工程师应致力于推进软件的分析、规范、设计、开发、测试和维护工作成为一种对人有益并受人尊重的职业。为实现对公众健康,安全和福利的承诺,软件工程师应遵循以下八项原则:
- 公众性:软件工程师的行为应该符合公众的利益。
- 客户和雇主:软件工程师的工作是使他们的客户和雇主的利益最大化,这种利益应符合公众的利益。
- 产品:软件工程应确保他们的产品及相关修改适合可能具备的最高专业标准。
- 判断力:软件工程师应该维持自身专业判断力的整体性和独立性。
- 管理:软件工程管理人员和领导者应在软件开发和维护的维护中采取并鼓励合乎伦理的方法。
- 职业:软件工程师应推进符合公众利益的职业的整体性和声誉。
- 同事:软件工程师应公平地对待同事,并给予同事支持。
- 自我:软件工程师应根据自身职业实践,毕生参与到学习中,并形成职业实践的伦理方法。
《软件工程知识体系》(SWEBOK,Software Engineering Body of Knowledge)中有一整章内容是关于软件工程职业实践(Software Engineering Professional Practice)的,其中包括了伦理和敬业精神准则。
评论