Eh, it's one thing if a PC game lets you fall out the world. Such bugs are low-stakes, thorough checks aren't possible for performance reasons, and nobody denies that bugs are widespread.
But for an accounting system to lose track of money? Which is extremely high-stakes? And they've got more than enough time to use things like SQL databases with transactions and constraints? And they ended up telling the courts they were certain enough about the system to jail people based on it?
Our standards aren't that low.
If i as an individual who knew nothing about anything went to testify against 700 postmaster/postmistresses, would they ever be convicted? Why would a computer program have more credibility than me, a random bystander? Computers are just weird things manipulating bits, and noone should ever trust them for anything serious, especially to convict other people of wrongdoing.
My personal legal interpretation is that the judges failed (as they very often do) to uphold the legal standards of presumption of innocence and of examining the seriousness of claims produced in the tribunal. The fault rests with them.
EDIT: of course if fujitsu engineers testified that they would jail people based on data produced by their software, that makes them responsible. but the judge is equally responsible not to have independent experts (plural) verify those claims
The engineers would not have been testifying about sentencing, but about whether the system output was accurate. You yourself have just argued that all accounting systems have flaws, the engineers undoubtedly knew that, and if they testified to the accuracy of the output, then they would be culpable of making material claims that they knew had not been verified, and could be wrong.
> ...but the judge is equally responsible not to have independent experts (plural) verify those claims.
It is very obvious in retrospect that quite a few people should have been more suspicious, but that would do very little to absolve Fujitsu of the high moral and legal responsibility of telling the truth, the whole truth, and nothing but the truth if they were called upon to do so. "You should have checked what I said" is neither a legal nor a moral excuse for perjury.
Update:
"The data used in court has since been proved to be wrong and former Fujitsu members of staff are currently being investigated by the Metropolitan Police for potential perjury in the trials of subpostmasters that were blamed for unexplained losses."
https://www.computerweekly.com/news/252509066/Fujitsu-escape...
To be clear: None of the above in any way absolves the Post Office of its much greater responsibility.
The PO's requirements for the counter-mech project consisted of three yards of requirement documents, in ring-binders. I spent several months in a room with no windows, working through those requirements. They were mainly forms, supposedly describing inputs, outputs, reports, and screens. MOST OF THEM WERE BLANK.
I wasn't with Fujitsu; this was an earlier iteration of the project. But I have no reason to believe that a step-change occurred in the way the PO handles IT projects, between when I worked on it and when Fujitsu picked it up.
I think that should open them up to unlimited liability. How hard would it have been for them to audit a single problem site to find out their software was trash?
Sorry you're right. I don't mean to dump on my fellow coders. I've actually done some safety critical stuff in my time and still have nightmares 20 years later as to how its running in production.
I guess what I'm trying to say is that the distance between what we understand as the probable correctness of code, and the fantasies of regular folk in management or politics is enormous and widening.
The difference between our informed standards, and most uninformed expectations, is dangerous.
Is that actually something people from Fujitsu testified to in open court? I could not find that in the original article, so I presume you have a different source? I would be interested in that source!
Edit: lower down I found this article that might be your source? https://www.computerweekly.com/news/252509066/Fujitsu-escape...
https://www.private-eye.co.uk/special-reports/justice-lost-i...
What standards? We accept more failure from software than pretty much any other product. If your car’s engine broke down as much as windows you’d never buy from that company again.
Crap software has trained us to accept complete random crashes, and if you look at most code written today you’ll realize it’s only getting worse.
This is more about the organization literally driving people to suicide over believing that the software has a bug, but if they handled it correctly - i.e. not tell people that it couldn't be their software and the people must've stolen the money. - that isn't Fujitsu's fault.
Four post masters actually did it - https://www.standard.co.uk/news/uk/post-office-scandal-worke...
Why? It's ok that 737 max crashed? Fujitsu should have taken appropriate measures to minimize errors, people lives got screwed because of lazy developers. I dislike the complacency in tech about bugs and bad quality because 99% of software have no impact on people, until it doesn't...
Why would you assume it's the fault of the developers? For all you know they could have been lumped with a 2 month deadline for a 2 year task, no push back, and just did the best they could.
But consider this: say you were a licensed engineer, and writing shoddy code you would face the risk of losing said license and not being able to practice in the future. Yes, even if "your boss told you to do it". You are the engineer, you are the professional, it's your ass on the line if lives are lost or damaged. Then your choice is either pushing back and risk to get fired, or don't push back but risk to lose your license.
My point being that better software is not going to be written just because the people writing it is afraid of losing their license or being held liable, because in many circumstances that can already happen.
The problem here are not only the developers and the crappy code. Some people here put this thing in production knowing that it was faulty, or once they knew it didn't work as expected they did all they could to hide this for years, blaming others of their own mistakes.
And yes, I agree we need to be better. But it's very important to understand that many of the potential licensed software engineers that are already writing crappy software today and will continue to do so if licensed because they just don't know better.
I can't understand that logic.
Personally, I would and I have said no to work I find immoral. I was also fired, on the spot, for saying no to something that was illegal. The company then threatened to sue me. I threatened to sue them back and they backed down, and I found another job within days that paid more because, like most people in tech, I'm in demand. That company is now dead.
We can all afford to be more choosy.
I've been saying it for awhile that these kind of critical systems where lives, large sums of money or crucial infrastructure are on the line should fundamentally handle their software differently than the rest of the industry. The 737 Max crashed because the developers weren't held to the same standard as the aerospace engineers who built the plane. This account system failed because the developers weren't held to the same standard as accountants are. Why should developers get a free pass?
We need to stop treating all software with the same degree of validation and assurance. Some things are more important than others and should have legally codified practices and liability.
If Google’s autocorrect mistakenly writes a falsely incriminating text that is inadvertently used as the sole evidence to convict, do we jail the autocorrect developers?
https://www.computerweekly.com/news/252509066/Fujitsu-escape...
Google is liable for defamatory autocomplete suggestions (in Australia) [1], so that's not such a stretch of the imagination.
[1] https://globalfreedomofexpression.columbia.edu/cases/trkulja...
Remember that software is crap.
I would add that - particularly when money, or people's lives or reputations - are at risk, the "sensibility" of developers, assistance, etc. should be much higher than it is common today, besides the developers (that still largely insist to believe that their algorithms and implementation are perfect) there is the whole chain of people below that - when confronted with a bug/issue/inconsistency - still instinctively believe that the computer/program/app is right and that the human (customer/operator/etc.) is at fault.
The solution to failing/failed technology (which is anyway right/correct - say - 99% of the times) is to make the friction needed to solve the remaining 1% edge cases/bugs/etc. simpler via human intervention through a documented, transparent and fair process.
Before or later this 99% will (hopefully) go up to 99.99% but still the procedures to correct errors will be needed for the 0.01%.
To give a practical example, not completely unrelated, I recently had a look on the various "online bank cards" (like - only as examples - Revolut, N26, Monzo) on TrustPilot, and found that they have extremely poor customer satisfaction ratings, clearly due almost exclusively to people that for one reason or the other had one of these rare cases and support/assistance was not capable to solve problems or to solve them in a timely fashion.
Even if you look at the various complaints here and there on Hacker News about (say) Apple, Google (and their app stores), Facebook, etc. they mostly revolve (besides the privacy/monopoly related ones) to the total lack of assistance/support and/or the total lack of transparency in the (sometimes with relevant consequences) decisions they make.
Really!?
Let's see what the inquiry brings up, shall we?
Whether they notified the Post Office or not though, the Post Office certainly knew. They not only shared emails about the problem within the organisation, they engaged in a cover up.
There’s a good BBC Panorama documentary on the scandal that was released more than a year ago.
And the issue is not just that the Post Office knew, but that they were also in charge of the prosecutions.
Private prosecution itself is on trial here, IMO (IANAL but this opinion would not be unusual among lawyers from what I have read)
Edit to add link:
https://www.computerweekly.com/news/252485328/MPs-to-examine...
The data that I can see shows that 76 subpostmasters were prosecuted in Scotland which doesn't seem completely wacky out of line with the rest of the UK.
Do we know how many Scottish prosecutions did not go forward with the fiscal?
The fundamental issue here is that it is likely that the Post Office on the one hand knew of the problems with the code and on the other still continued its prosecutions (based on its longstanding reputation). The fact that in England and Wales they could get away with that without systematic scrutiny surely only sways the chances of cases succeeding elsewhere. There was evidence from Horizon identifying the frauds, after all, and they had been successfully prosecuted.
I imagine much has changed; but I'm quite sure that the PO is still not an ordinary business, like a courier service. They are an arm of government.
The bit that is not "ordinary" is Royal Mail.
If you're prepared to pay for a solution that actually fits your business and you have tight coupling of good software developers and intelligent people who will be using it you can get good results, but people either want something for nothing (won't pay for it) or are mentally incapable of constraining what they want. Some firms simply do not have the staff nor culture to do things well, unfortunately.
You might be onto something re:business fit - the system was designed to process benefits payments and, when the Post Office lost this work, was repurposed into an all-functioning EPOS (which it wasn't originally designed for).
I get the distinct impression that, from the offset, the Post Office might have been more concerned with saving face and justifying the amount spent on the system, and this lead to a culture where none of the system's flaws (or poor fit) could be properly acknowledged or addressed.
While the PO definitely takes a lot of the blame (arguably the majority), if people at Fujitsu were claiming perfection when they should know better, especially if that formed part of the prosecution case, then they too deserve to be thoroughly investigated.
There is plenty of blame to go around in this case. It's a shocking, and tragic misscarriage that has ruined thousands of lives. Unfortunately I will be shocked if those responsible see anything remotely close to the kind of strong justice and significant punishment they so clearly deserve. This will be one of those cases like that of Jean Charles de Menezes, where the collective spreads the blame thinly enough that somehow no one is held responsible. I hope I'm proved wrong.
The principles that the Government Digital Service tried to instill/make departments adopt should prevent that
I think that kind of behaviour was endemic among outsourcing companies around that time and they acted with impunity on government contracts.
Sky outsourced a contract to EDS. EDS had delivery problems. It all ended in court:
https://www.pinsentmasons.com/out-law/guides/bskyb-v-eds
What won it for Sky seemed to be the fundamental dishonesty of a single individual at EDS who claimed they had worked on an MBA that anybody could buy via an "internet university". The Sky lawyer bought a degree for the dog named Rover.
The could have gotten away with incompetence but when the liar doubled down on lying that was the end.
> Fujitsu should take no blame at all. Their software is crap. But so is everyone's. That's software. We know and accept that in the industry.
Here's the problem at the end of your post you said this:
> Sadly, they will happen again and again and again, I think.
So if Jailing people is supposed to stop (deter) others from murdering people, then why does it not follow that jailing programmers does not deter them from making coding errors. We are, after all, paid more than ANYONE else in the world for trade work.
Should we just start letting the murderers go?
It's astonishing. No money ever went missing. It merely _seemed_ to have, and that was the entire foundation for what happened.
Fujitsu should take no blame at all. Their software is crap. But so is everyone's. That's software. We know and accept that in the industry.
> The inquiry will look at whether the Post Office knew about faults in the IT system
It did, because hundreds of users reported them. It chose to attack those users and bullheadedly believe that the system could not be wrong. Once their position was entrenched it became about "How dare mere mortals challenge technology?"
It led to a staggering spectacle of bullying (through relentless legal threats, stone-walling, harassment, and wrongful prosecution) that caused many of the victims to suffer severe health effects or contemplate suicide.
> our first priority is that full, fair and final compensation is provided
Rubbish. This is about more than compensation. There is no _final_ to this. It needs dragging out into the sunlight.
Sure, people lost their livelihoods, marriages, homes and years of their lives over this. Deep pockets might cover it. But if mere compensation is allowed to cover-up this episode a travesty will have occurred.
The issue is about fundamental changes we need to make around our relation to technology that allows grave errors made by weak-minded people to hide behind it. As we put ever more trust in digital forensics, telemetry, algorithmic policing, face-recognition, automated fraud detection and so on, more innocent people will have their lives ruined because we are falling into abject snivelling surrender before technology, far beyond anything Ellul, Mumford, Freud or Weber foresaw.
This speaks to a fundamental error in _how_ technology is being used.
> lessons are learned so that such events can never happen again
Sadly, they will happen again and again and again, I think.