7 ms·
Good. If you write software that people rely on with their lives, and it fails, you should be held liable for that criminally.
by TheCleric 2y ago
Good. If you write software that people rely on with their lives, and it fails, you should be held liable for that criminally.
- beej71 2y agoAnd such coders should carry malpractice insurance.
- dmix 2y agoDrug companies and the FDA (circa 1906) play a very dangerous and delicate dance all the time releasing new drugs to the public. But for over a century now we've managed to figure it out without holding pharma companies criminally liable for every death. > If you write software that people rely on with their lives, and it fails, you should be held liable for that criminally. Easy to type those words on the internet than make it a policy IRL. That sort of policy IRL would likely result in a) killing off all commercial efforts to solve traffic deaths via technology and vast amounts of other semi-autonomous technology like farm equipment or b) government/car companies mandating filming the driver every time they turn it on, because it's technically supposed to be human assisted autopilot in these testing stages (outside restricted pilot programs like Waymo taxis). Those distinctions would matter in a criminal court room, even if humans can't always be relied upon to always follow the instructions on the bottle's label.
- ryandrake 2y agoYour take is understandable and not surprising on a site full of software developers. Somehow, the general software industry has ingrained this pessimistic and fatalistic dogma that says bugs are inevitable and there’s nothing you can do to prevent them. Since everyone believes it, it is a self-fulfilling prophecy and we just accept it as some kind of law of nature. Holding software developers (or their companies) liable for defects would definitely kill off a part of the industry: the very large part that YOLOs code into production and races to get features released without rigorous and exhaustive testing. And why don’t they spend 90% of their time testing and verifying and proving their software has no defects? Because defects are inevitable and they’re not held accountable for them!
- viraptor 2y ago> that says bugs are inevitable and there’s nothing you can do to prevent them I don't think people believe this as such. It may be the short way to write it, but actually what devs mean is "bugs are inevitable at the funding/time available". I often say "bugs are inevitable" when it practice it means "you're not going to pay a team for formal specification, validated implementation and enough reliable hardware". Which business will agree to making the process 5x longer and require extra people? Especially if they're not forced there by regulation or potential liability?
- everforward 2y agoIt is true of every field I can think of. Food gets salmonella and what not frequently. Surgeons forget sponges inside of people (and worse). Truckers run over cars. Manufacturers miss some failures in QA. Literally everywhere else, we accept that the costs of 100% safety are just unreasonably high. People would rather have a mostly safe device for $1 than a definitely safe one for $5. No one wants to pay to have every head of lettuce tested for E Coli, or truckers to drive at 10mph so they can’t kill anyone. Software isn’t different. For the vast majority of applications where the costs of failure are low to none, people want it to be free and rapidly iterated on even if it fails. No one wants to pay for a formally verified Facebook or DoorDash.
- kergonath 2y ago> Literally everywhere else, we accept that the costs of 100% safety are just unreasonably high. Yes, but also in none of these situations would the consumer/customer/patient be held responsible. I don’t expect a system to be perfect, but I won’t accept any liability if it malfunctions as I use it the way it is intended. And even worse, I would not accept that the designers evade their responsibilities if it kills someone I know. As the other poster said, I am happy to consider it safe enough the day the company accepts to own its issues and the associated responsibility. > No one wants to pay for a formally verified Facebook or DoorDash. This is untenable. Does nobody want a formally verified avionics system in their airliner, either?
- 2y ago
- hilsdev 2y agoWe should hold Pharma companies liable for every death. They make money off the success cases. Not doing so is another example of privatized profits and socialized risks/costs. Something like a program with reduced costs for those willing to sign away liability to help balance social good vs risk analysis
- ywvcbk 2y ago> criminally liable for every death. The fact that people generally consume drugs voluntarily and make that decision after being informed about most of the known risks probably mitigates that to some extent. Being killed by someone else’s FSD car seems to be very different
- sokoloff 2y agoImagine that in 2031, FSD cars could exactly halve all aspects of auto crashes (minor, major, single car, multi car, vs pedestrian, fatal/non, etc.) Would you want FSD software to be developed or not? If you do, do you think holding devs or companies criminally liable for half of all crashes is the best way to ensure that progress happens?
- blackoil 2y agoSay cars have near 0 casualty in northern hemisphere but occasionally fails for cars driving topsy turvy in south. If company knew about it and chooses to ignore it because of profits, yes they should be charged criminally.
- ywvcbk 2y agoFrom a utilitarian perspective sure, you might be right but how do you exempt those companies from civil liability and make it impossible for victims/their families to sue the manufacturer? Might be legally tricky (driver/owner can explicitly/implicitly agree with the EULA or other agreements, imposing that on third parties wouldn’t be right).
- Majromax 2y ago> how do you exempt those companies from civil liability and make it impossible for victims/their families to sue the manufacturer? I don't think anyone in this thread has talked about an exemption from civil liability (sue for money), just criminal liability (go to jail). Civil liability is the far less controversial issue because it's transferred all the time: governments even mandate that drivers carry insurance for this purpose. With civil liability transfer, imperfect FSD can still make economic sense. Just as an insurance company needs to collect enough premium to pay claims, the FSD manufacturer would need to reserve enough revenue to pay its expected claims. In this case, FSD doesn't even need to be better than humans to make economic sense, in the same way that bad drivers can still buy (expensive) insurance.
- dansiemens 2y agoAre you suggesting that individuals should carry that liability?
- izacus 2y agoThe ones that are identified as making decisions leading to death, yes. It's completely normal in other fields where engineers build systems that can kill.
- A4ET8a8uTh0 2y agoPretty much. Fuck. I just watched higher ups sign off on a project I know for a fact has defects all over the place going into production despite our very explicit: don't do it ( not quite Tesla level consequences, but still resulting in real issues for real people ). The sooner we can start having people in jail for knowingly approving half-baked software, the sooner it will improve.
- IX-103 2y agoShould we require Professional Engineers to sign off on such projects the same way they are required to for other safety critical infrastructure (like bridges and dams)? The Professional Engineer that signed off is liable for defects in the design. (Though, of course, if the design is not followed then liability can shift back to the company that built it)
- A4ET8a8uTh0 2y agoI hesitate, because I shudder at government deciding which algorithm is best for a given scenario ( because that is effectively is where it would go ). Maybe the distinction is, the moment money changes hands based on product? I am not an engineer, but I have watched clearly bad decisions take place from technical perspective so that a person with title that went to their head and a bonus that is not aligned with right incentives mess things up for us. Maybe some proffesionalization of software engineering is in order.
- jalapenos 2y agoWhat a laugh, would you take that deal? Upside: you get paid a 200k salary, if all your code works perfectly. Downside: if it doesn't, you go to prison. The users aren't compelled to use it. They can choose not to. They get to choose their own risks. The internet is a gold mine of creatively moronic opinions.
- moralestapia 2y agoRead the site rules. And also, of course some people would take that deal, and of course some others wouldn't. Your argument is moot.
- thunky 2y agoYou can go to prison or die for being a bad driver, yet people choose to drive.
- ukuina 2y agoSystems evolve to handle such liability: Drivers pass theory and practical tests to get licensed to drive (and periodically thereafter), and an insurance framework that gauges your risk-level and charges you accordingly.
- kergonath 2y agoRequiring formal licensing and possibly insurance for developers working on life-critical systems is not that outlandish. On the contrary, that is already the case in serious engineering fields.
- ekianjo 2y agoAnd yet tens of thousands of people die on the roads right now every year. Working well?
- jalapenos 2y agoArguing for the sake of it; you wouldn't take that risk reward. Most code has bugs from time to time even when highly skilled developers are being careful. None of them would drive if the fault rate was similar and the outcome was death.
- bdcravens 2y agoAssuming there's the kind of guard rails as in other industries where this is true, absolutely. (In other words, proper licensing and credentialing, and the ability to prevent a deployment legally) I would also say that if something gets signed off on by management, that carries an implicit transfer of accountability up the chain from the individual contributor to whoever signed off.
- viraptor 2y agoThat's a dangerous line and I don't think it's correct. Software I write shouldn't be relied on in critical situations. If someone makes that decision then it's on them not on me. The line should be where a person tells others that they can rely on the software with their lives - as in the integrator for the end product. Even if I was working on the software for self driving, the same thing would apply - if I wrote some alpha level stuff for the internal demonstration and some manager decided "good enough, ship it", they should be liable for that decision. (Because I wouldn't be able to stop them / may have already left by then)
- presentation 2y agoTo be fair maybe the software you write shouldn’t be relied on in critical situations but in this case the only place this software could be used in are critical situations
- viraptor 2y agoUltimately - yes. But as I mentioned, the fact it's sold as ready for critical situations doesn't mean the developers thought/said it's ready.
- elric 2y agoI think it should be fairly obvious that it's not the individual developers who are responsible/liable. In critical systems there is a whole chain of liability. That one guy in Nebraska who thanklessly maintains some open source lib that BigCorp is using in their car should obviously not be liable.
- f1shy 2y agoIt depends. If you do bad sw and skip reviews and processes, you may be liable. Even if you are told to do something, if you know is wrong, you should say it. Right now I’m in middle of s*t because of I spoked up.
- mensetmanusman 2y agoSoftware requires hardware that can bit flip with gamma rays.
- rvnx 2y ago[flagged]
- aaronmdjones 2y agoWhich is why hardware used to run safety-critical software is made redundant. Take the Boeing 777 Primary Flight Computer for example. This is a fully digital fly-by-wire aircraft. There are 3 separate racks of equipment housing identical flight computers; 2 in the avionics bay underneath the flight deck, 1 in the aft cargo section. Each flight computer has 3 separate processors, supporting 2 dissimilar instruction set architectures, running the same software built by 3 separate compilers. Each flight computer captures instances of the software not agreeing about an action to be undertaken and wins by majority vote. The processor that makes these decisions is different in each flight computer. The power systems that provide each flight computer are also fully redundant; each computer gets power from a power supply assembly, which receives 2 power feeds from 3 separate power supplies; no 2 power supply assemblies share the same 2 sources of power. 2 of the 3 power systems (L engine generator, R engine generator, and the hot battery bus) would have to fail and the APU would have to be unavailable in order to knock out 1 of the 3 computers. This system has never failed in 30 years of service. There's still a primary flight computer disconnect switch on the overhead panel in the cockpit, taking the software out of the loop, to logically connect all of your control inputs to the flight surface actuators. I'm not aware of it ever being used (edit: in a commercial flight).
- mensetmanusman 2y agoYou can’t guarantee the hardware was properly built.
- aaronmdjones 2y agoUnless Intel, Motorola, and AMD all conspire to give you a faulty processor, you will get a working primary flight computer. Besides, this is what flight testing is for. Aviation certification authorities don't let an aircraft serve passengers unless you can demonstrate that all of its safety-critical systems work properly and that it performs as described. I find it hard to believe that automotive works much differently in this regard, which is what things like crumple zone crash tests are for.
- ekianjo 2y agoHow is that working with Boeing?
- mlinhares 2y agoPeople often forget corporations don’t go to jail. Murder when you’re not a person ends up with a slap.
- bossyTeacher 2y agoDoesn't seem to happen in the medical and airplane industries, otherwise, Boeing would most likely not exist as a company anymore.
- jsvlrtmred 2y agoPerhaps one can debate whether it happens often enough or severely enough, but it certainly happens. For example, and only the first one to come to mind - the president of PIP went to jail.
- hibikir 2y agoRemember that this is neural networks doing the driving, more than old expert systems: What makes a crash happen is a network that fails to read an image correctly, or a network that fails to capture what is going on when melding input from different sensors. So the blame won't be on a guy who got an if statement backwards, but signing off on stopping training, failing to have certain kinds of pictures in the set, or other similar, higher order problem. Blame will be incredibly nebulous.
- snovv_crash 2y agoThis is the difference between a Professional Engineer (ie. the protected term) and everyone else who calls themselves engineers. They can put their signature on a system that would then hold them criminally liable if it fails. Bridges, elevators, buildings, ski lifts etc. all require a professional engineer to sign off on them before they can be built. Maybe self driving cars need the same treatment.
- sashank_1509 2y agoDo we send Boeing engineers to jail when their plane crashes? Intention matters when passing crime judgement. If a mother causes the death of her baby due to some poor decision (say feed her something contaminated), no one proposes or tries to jail the mother, because they know the intention was the opposite.
- davkan 2y agoThis is why we have criminal negligence. Did the mother open a sealed package from the grocery store or did she find an open one on the ground? Harder to apply to software but maybe there should be a some legal liability involved when a sysadmin uses admin/admin and health information is leaked. Some employees should be absolutely in jail from boeing regarding the MCAS system and the hundreds of people who died as a result. But the actions there go beyond negligence anyway.