I view software as a form of literacy as opposed to engineering. Silicon chips - that's engineering. Codifying the process used by a large corporation to tell all its other systems a new joiner has arrived called "bob smith". That's writing something that
other humans can read and can be executed by these engineered robots we have.
While my heart is socialist, my head is market-driven. And I think a market solution is the best option here.
But markets only work with informed buyers.
If my literacy idea is right - then no-one can judge software without being software literate (and having access to the source.) Just imagine a world where people had to buy the best books - but that the literacy rate was under 1%. We would have podcasts on that great book, the CEO would sign off on a purchase after and .... - books would be like software is here. Success based on marketing and yes minimising liability (no one ever got fired for buying microsoft). Linux would be samizisat!
I vastly admire Poul's incredible contributions to FOSS - but software liability is best fixed in contracts (where it usually is).
Edit: The only sane way (#) to build liable software is with some form of proof-based modelling - and this is even after decades of research horribly limited and does not reach into areas we wrote or use most software.
I am afraid software is just an extension of the human technology of speech and writing. It is a way to express ourselves in symbolic form outside our brains. It is probably the second most important development in human history - and we need to adapt all of society to be able to harness its benefits without too much harm. The crap IT surrounding us now is the pollution of the first coal driven factories. We will get better - our problem is to do it faster.
On a different note, most software (hence most bad software) is written in house - so the software that makes a bank a bank or a construction company construct, that is mostly already covered by liability. Your bank sends the wrong amount to the wrong bank account? That's been a liability since before the USA was a thing, and so the onus is on the bank to ensure it writes the software correctly. The fact that this is insanely hard implies to me that we need not just "better training for software developers", but "redesign our entire organisations" and probably our whole societies (let's start here: most things written down are done so openly - published or emailed or sent around. Most software code is closed and "proprietary". Change that first)
(#) I can imagine many companies taking on software liability without caring about the risks - but they don't sound like the people I want building airplanes, power stations etc etc.