9 ms·
While I certainly don't support the 'rogue engineer' excuse that VW originally gave everyone, the idea does bring up an interesting point. An engineer did writ
by mabbo 9y ago
While I certainly don't support the 'rogue engineer' excuse that VW originally gave everyone, the idea does bring up an interesting point.
An engineer did write this code. Almost certainly, many of them, working together. Now, their managers told them it was okay to do this, maybe that legal had given the go-ahead or that they had to do it to keep their jobs... But it's still pretty clear that this was not right. They still did it, and then didn't tell anyone. And that doesn't sit well with me.
In my opinion (and I welcome disagreement and debate) engineers have an obligation to say 'no' to wiring unethical code.
- obstinate 9y agoYou are correct. "Just following orders," is sometimes an understandable action (in the sense that I understand why someone might not want to refuse an order and risk their job), but that doesn't make it an excusable one.
- ebbv 9y agoIt depends how drastic. You are talking about people risking their careers. We all have our own moral standards to live by. Maybe they justified it by saying all the other car companies are doing the same thing (and by the way there are some indicators they did.)
- adrianN 9y agoIt's imho not so clear cut whether this code is unethical or not. There is a legitimate argument that increasing NOx to reduce CO2 is better in the long term. Remember that the two are inversely related: the hotter and leaner your engine runs, the more NOx you produce, but your fuel efficiency also goes up.
- lazyasciiart 9y agoIn the long term, making their cars cause accidents that killed many people would reduce the environmental impact of humanity, so would also be arguably ethical by that logic.
- bosie 9y agoHow do you know engineers were involved in writing the software? If there were engineers involved they should have said something if it does endanger the public. After all, it is in their responsibility/regulation to uphold the safety of the public.
- briandear 9y agoDid it actually endanger the public? A silly question, however, what was the actual measurable consequence of this cheat? Did air quality become measurably worse during the period of this? Was anyone actually and measurably endangered? An older car on the road puts off more emissions than the modified VWs, yet older cars are still allowed on the roads. Laws should be followed, so I am not excusing the behavior, but making it sound like the safety of the public was materially compromised is a bit of a stretch.
- fjdlwlv 9y agoWhen the news originally hit, it was estimated that some number of air-quality related deaths were attributable to ait pollution contributions
- vinceguidry 9y agoThe problem with this is that it localizes the consequences of defiance on the weakest part of the chain, all but guaranteeing failure. You can't even expect engineers to blow the whistle on their soon-to-be-former employer. Ethics is about protecting the weak from the strong, not offering up the weak to get eaten by the strong. Only heroes put the good of the many over their own needs, and you can't expect everyone to be a hero. Only within the safe, protecting bosom of a strong professional organization can we place moral obligations on workers. But it will never happen while the idea of a guild / union for software engineers is still anathema.
- jamiepenney 9y agoWhenever I've raised the issue with other developers they've been open to the idea, but to be perfectly honest I have no idea how you'd even go about starting something like that.
- vinceguidry 9y agoAs with everything else hackers do, the way to learn would be to just do. If I were to do it, I'd start with a website and an outreach campaign. Sign people up to a mailing list, then create a membership structure and dues. Set some goals, and put governing procedures in place. Some endorsements from existing outfits like YCombinator itself and more traditional unions would help. Eventually once you have enough money, you can create professional certification bodies. This is when you can really start ramping up your dues because then you'll be solving an actual industry problem. You could probably take a lot of money from big tech companies to help you out here once you're established.
- unityByFreedom 9y ago> Only heroes put the good of the many over their own needs, and you can't expect everyone to be a hero. > ... > it will never happen while the idea of a guild / union for software engineers is still anathema. Sounds like you're waiting for a union and that's the only solution. In the interim, we can and should encourage people to be heroes. Let's face it, there are other programming jobs out there. Do you truly need to work for an unethical boss or company? Everyone may not come up with the same answer depending on their individual situation. We should at least support potential whistleblowers as a community. That's one first step towards becoming a unified group.
- rrhyne 9y agoIf I were an evil VP tasked with creating this loop hole, I'd tell my project manager we needed a configurable system that let us control emissions for our intneral testing environments or some other plausible and legal requirement. I'd keep the knowledge of the system obscure and communication between dev, testing and deployment sparse. I'd then have only one person change the configuration before deployment. I'm sure it could be arranged so that no single engineer would realize that evil configuration was released and if they did, it could be excused as a mistake.
- notyourwork 9y agoGreat point, it all depends on how the problem is framed.
- ma2rten 9y agoIf I was an evil VP, I would give my eningeers the incentive to do something without giving them a direct order. So, you might tell them: If you can improve gas millage by X% you get a huge bonus and I don't care how you do it.
- mikeash 9y agoThis is how modern companies break the rules. Management doesn't break the rules, either overtly or covertly. Management scrupulously follows the rules, while placing requirements on their workers that can only be met by breaking the rules. Want your workers to work more, but you don't want to pay overtime, or you run into trouble with regulations about consecutive hours on the job? Just bump up how much work they have to get done, threaten to fire low performers, and make it clear that under no circumstances is anyone allowed to work overtime. Your workers will start working off the clock, and better yet they'll hide it from you, so you can legitimately plead ignorance if the law comes after you. Want to cut corners on safety to save money? Tell your people that safety is the top priority but you need to see an X% reduction in costs, and it works itself out. They may fudge or falsify metrics, but if you're really lucky they'll find loopholes in the metrics instead. (I have a friend who worked at a warehouse and fell victim to this. They were officially big on safety, which included bonuses for everyone if they went a certain period of time without any safety incidents. Unofficially, this meant that incidents wouldn't be reported unless it was unavoidable. The one way to ensure that an incident had to be reported was to see a doctor for your injury, so people were heavily encouraged to wait to see if they got better on their own before they got medical attention, which often made things much worse. I'm sure upper management's metrics looked great, though.) As an added bonus, this sort of thing gives you a lot more control over workers. If you want to get rid of a troublemaker, do a little digging and you'll surely discover that they're violating safety rules or working off the clock or whatever. Everybody is, but selective enforcement is a wonderful thing.
- crazygringo 9y agoThere's a great New Yorker article [1] which addresses this -- particularly that "pretty clear that this was not right" might not be that clear after all. Excerpt: "...sociologist Diane Vaughan described a phenomenon inside engineering organizations that she called the “normalization of deviance.” In such cultures, she argued, there can be a tendency to slowly and progressively create rationales that justify ever-riskier behaviors... If the same pattern proves to have played out at Volkswagen, then the scandal may well have begun with a few lines of engine-tuning software. Perhaps it started with tweaks that optimized some aspect of diesel performance and then evolved over time: detect this, change that, optimize something else. At every step, the software changes might have seemed to be a slight “improvement” on what came before, but at no one step would it necessarily have felt like a vast, emissions-fixing conspiracy by Volkswagen engineers, or been identified by Volkswagen executives. Instead, it would have slowly and insidiously led to the development of the defeat device and its inclusion in cars that were sold to consumers." "But assuming all of this is true, how could it have persisted for so long, and without more people stepping forward and speaking out?... Volkswagen was heavily invested, both financially and culturally, in producing a clean-diesel engine. That the company was failing to meet the standard required by American emissions tests would have been embarrassing and frustrating to its German engineers. Some may have seen those tests as arbitrary, and felt justified in “tuning” the engine software to perform differently during them—even as it now looks, to the outside world, like an obvious scandal." [1] http://www.newyorker.com/business/currency/an-engineering-theory-of-the-volkswagen-scandal http://www.newyorker.com/business/currency/an-engineering-th...
- hartator 9y agoDon't forget this exact same company literally made weapons for the nazis. Lying on emissions seems nothing.
- briandear 9y agoIBM made computers for the Nazis too; are we going to hold today's IBM culpable for the Nazis?
- ryandrake 9y agoSimilar to graphics cards driver developers facilitating "cheating" on benchmarks. The major vendors get caught cheating all the time. Back in the nineties, it was as simple and naive as detecting whether the running program was a benchmark or a real game: If a game was running, use the normal driver path. If a benchmark was running, you switch over to a completely different code path that basically rendered at shit quality but did it very quickly and made your rendering speed benchmark number look great. I worked at a graphics company as a 3D driver developer at the time and was asked to help implement such a system but politely declined. No problem, I just got assigned to a different part of the driver. There were plenty of other developers who had no ethical problem with cheating a benchmark.
- TwoBit 9y agoWho was it that asked you to do that? Your mgr? Marketing?
- draw_down 9y ago> their managers told them it was okay to do this, maybe that legal had given the go-ahead or that they had to do it to keep their jobs I prefer to think about this. Management gets what it wants, you can always find someone to carry it out. I think we should be very careful about moving to blame engineers first.
- deleted 9y ago[deleted]
- Sunset 9y ago>In my opinion (and I welcome disagreement and debate) engineers have an obligation to say 'no' to wiring unethical code. I respectfully disagree. Engineers have an obligation to do whatever is asked of them by management. If that means building nuke-hand-grenades so be it. Being an engineer( be it software or mechanics ) should be a morally neutral thing. Do the job and keep your morals out of it. This is the only way we can have some semblance of sanity in the field.
- gyrgtyn 9y agoeww
- tehwebguy 9y agoYou are still a human when you are at work.
- lmitchell 9y ago'Once the rockets go up, who cares where they come down? That's not my department! says Wernher Von Braun.' https://www.youtube.com/watch?v=kTKn1aSOyOs https://www.youtube.com/watch?v=kTKn1aSOyOs I really really really strongly disagree with this. As the ones who are most knowledgable about the systems they're building, I definitely think engineers have a moral responsibility to make sure they're at the very least following applicable laws and regulations - I would argue that we have a moral responsibility to act ethically even in cases where it's not covered by laws or regulations, but I'll admit that's a bit more controversial.
- Sunset 9y agoThe problem with "moral obligations" is a person's moral axioms are fundamentally arbitrary. Would you still want engineers to be guided by their moral convictions when you fundamentally disagree with them yourself?
- lmitchell 9y agoInasmuch as I want everyone to be guided by their moral convictions, yes. I mean, even if I don't agree with them, I'd much rather an engineer's decisions be guided by 'what they feel is right' rather than guided by nothing at all, which seems to be what parent was implying. Also, this is why we have engineering codes of ethics, at least in Canada and the US (and while I'm not familiar with elsewhere in the world, I would assume similar things hold in most first-world countries). We don't necessarily have to agree on everything, but there is a baseline for what we consider ethical, and engineers are expected to uphold that baseline, otherwise they are not permitted to practice engineering. Unfortunately the line between 'engineers' and other practicioners isn't as well-defined for software engineering as it is for most engineering fields - but that doesn't mean we should ignore it completely.
- srdeveng 9y ago> In my opinion (and I welcome disagreement and debate) engineers have an obligation to say 'no' to wiring unethical code. And, IMO, yours is absolutely the correct one. As engineers, we are in a unique position to understand the intricacies and associated risk to any one of our functional requirements we satisfy. True, we are under marching orders from a PM who may (or may not) have provided adequate backstory to understand the goals of the company, but it's our duty to express any concern of risk it may present to the company or society. When verbal warnings don't work, go ahead and put it in writing. In the US, part of my engineering curriculum included courses on engineering ethics case studies to drive this point home. I've written exactly 2 of these letters in my 10yr professional career. On both, the PM sharply changed course, demonstrating their knowledge of failure of the ethical litmus. Putting written responsibility upon them to act encouraged further discussion and ultimately a better resolution for all.
- throwaway79790 9y agoThe problem is that nobody wrote a specific defeat device. You have to understand, Bosch has one basic (extremely complex) piece of software that goes in pretty much every single engine controller. There are some specific functions that are developed at the request of specific customers, but the basics are always the same. When this general piece of software is set up to control a new engine from an OEM, a multi-year process of calibration starts. The engine starts of failing the emissions tests drastically and over time the calibration engineers tweak tens of thousands of parameters to try to get the emissions to be legally compliant. This is not an easy process and the calibration engineers have a target, they have to get the vehicle certified for a certain emission class, which in turn is determined by the FTP-75 driving cycle. The news keeps talking about "defeat devices" because the law says that they are not allowed, but reality is much messier. There is nobody sitting there thinking about how to make crazy obfuscated defeat devices, rather there are a bunch of people trying to figure out how to pass the extremely demanding emissions requirement tests without any defeat devices.
- thyselius 9y agoI don't doubt it's this big mess you are describing, but if the engine is actively looking for test/not test and does things like turning off particle filtering after 30 minutes of driving because it knows any test will be over, it seems to me the intention is in fact to lie about the real emissions.
- luca_ing 9y agoThe thing is that detecting test situations is good, certainly useful, perhaps necessary. E.g. detecting you are on a test stand, you might * deactivate plausibility checks which would normally limit engine power * deactivate air bags and other inherently dangerous systems * ensure correct system behaviour even if sensors give conflicting information * suppress error logs for certain failed plausibility checks The only illegal thing is switching to a "massaged" parameter map under these conditions. And presumably a single person controlled this switch.
- gruturo 9y ago
- Fiahil 9y agoWhile engineers may have an obligation to public safety in other fields, this is, strangely, not the case when writing software that ends up in automobiles. If we had a good way to blow the whistle, without ending in jail, we would see less unethical code being written and less shit storms from greedy companies.
- gerdesj 9y agoIt appears that the firmware was written by Bosch and not VW themselves. I can't believe that only VW engineers were involved in writing the spec that was sent to Bosch and that only one of those engineers understood that "acoustic" really meant "emissions". I would imagine that Robert Bosch GMBH and co. are quietly developing a war chest of cash right now. They appear to have been caught writing deliberately naughty code to order.
- phire 9y agoThe firmware is ultra-generic but highly configurable. The default device isn't in the firmware itself. Many different engine types will use the exact same firmware, the manufacture supplies a huge array of configuration values to make the ECU run the engine correctly. All the firmware knows is that under some manufacture configurable situation, the engine will switch from one manufacture configurable mode of operation to another manufacture configurable mode of operation. This presentation from 32C3 explains it in much more detail: https://media.ccc.de/v/32c3-7331-the_exhaust_emissions_scandal_dieselgate#video https://media.ccc.de/v/32c3-7331-the_exhaust_emissions_scand...
- megablast 9y ago> In my opinion (and I welcome disagreement and debate) engineers have an obligation to say 'no' to wiring unethical code. Support Ticket 57: Assigned to: John Hey, can you change this limit field here, currently it is a 5, can you make it a 9.
- gutnor 9y agoYou ignore the fact that the 99% of the cheat probably has or had a good reason to be there for one reason of another. The actual responsibility is probably multi-layered with the majority of contributor unknowingly participating in something fishy. I remember that I worked on system that allowed a financial firm to change a account value outside of all the accounting routine and a way to transfer money from a shared account to any random external account. Sounds fishy, but the explanation was reasonable: this was the way to model dividend. Actual dividend money was coming in one account, the payment/reinvestment from another with a reconciliation done later on. This reconciliation was done by that department operational floor from data coming from other departments, with systems upstream and downstream. I may have unknowingly created the final piece of a massive international fraud system, but I have no idea and all the people had a valid business reason and nothing to gain. Because that's the point, if I knew and I was willing to actually participate in fraud, I would like a cut in it and a serious one as I would literally provide a gun with my real id from a regular shop knowing you will use it for a bank robbery.
- __david__ 9y agoWhile I agree with you, it's a real easy thing to say and a much harder thing to actually do. Having been in a similar situation myself (not quite as drastic—no lives were in danger and no laws were broken), we (the engineers) argued vehemently with the CEO (there may have been yelling involved), but eventually capitulated with a "ok, but this is on your head" attitude. Maybe if it were more important I would have fought harder. But I honestly don't know.
- jgaa 9y agoMay be the code was written by Russian contractors? The ones that normally write bots for twitter to manipulate elections? The sad truth is that many programmers have no ethics at all. If we all did, there would be no spam, no maleware, no Windows 10. (And no systemd!)
- watwut 9y agoI agree. Engineers have the same ethical obligations as anyone else and that means you don't delegate your ethical decisions on management.
- bryanrasmussen 9y agoIt is true that people who are employed are obligated not to do unethical or criminal acts on the say so of their employer, but the employer is also obligated not to command their employees do unethical or criminal acts. And the employer is the one who holds the power in the relationship.
- koonsolo 9y agoWhat is unethical? Engineers make guns, missiles, drones to bomb people, warheads, nuclear submarines, ... .
- celticninja 9y agoThis is basically the independent contractor on the death star issue. It boils down to the fact that they are morally responsible because they do the work and take the money fully aware of the end result of their work.