Most developers would say, resoundingly, NO! However, it's an interesting question, for me anyway, because it shows the level of maturity in our industry and points to the flaws about how industry and developers in general are approached. For instance, who would be to blame? The software developer, software engineer, software architect or Q&A? Are these titles/positions really defined clearly? Do companies even care about such a distinction?
I believe in Canada an engineer has to be certiified first before working on anything. And if a catastrophe occurs because of shoddy engineering from that engineer, the engineer himself can be sued or worse. (If I'm wrong, please do correct me)
Of course, such a thing would send costs rising and have software be released at a slower rate. It could definitely negatively impact indie developers. But from what I've seen we have the tools to mitigate these issues. Also, such a thing would really force the industry and companies to clearly define roles in the development process, IMO.
A few years ago, one of my university professors made a similar point: Doctors, lawyers, architects, civil engineers, etc. all have to go through a process which validates them as being a professional in the field. The last thing you want is an unqualified professional working in a field in which their negligence can cause catastrophes.
"Shouldn't the same standard apply to software developers?" he asks.
My gut response is a righteous "No!" and then I'm sent off trying to find ways to validate my answer. So, after a few years of chewing over this question, here are several points I've come up with:
1) The nature of software development is iterative. Every project is an evolving research and development project, with each version fixing flaws (and hopefully not introducing new ones) and adding features. If you're going to legally hold every software developer liable for bugs in their software, then the smart developers will never release their software as a part of their risk mitigation strategy. The loser becomes the consumer and smaller entities which can't afford to hire their inhouse developers.
2) Software development tools are so ubiquitous that anyone can create software. Creating software is like authoring a book, blog or news article. And, with a wide open internet community, anyone can be an author. If you're going to hold software developers liable for flaws in their software, then you ought to also hold every writer in the world equally liable for flaws in their writing, whether its flaws in reasoning, grammatical errors, or blatant lies. If you aren't willing to hold writers accountable for what they write, then I'll just say that my code is protected under free speech rights.
3) Software is fucking complicated! It's a series of logical and mathematical instructions working together to create an interconnected system. It's just fucking amazing that it even works, let alone expecting it to work perfectly? That's like asking every mathematician in the world to never make a mathematical mistake. One of the hardest branches of mathematics (IMHO) is crytography and I believe the nature of cryptography is very similar to software development. A crytographer can release an encryption algorithm (set of mathematical instructions to obscure information) in 1995 and have it vetted by other cryptographers as being "secure". Yet, fifteen years later, that secure encryption algorithm can be found to be flawed and unsecure because of some obscure fact, such as a slight imperfection in random number generation, poorly chosen prime numbers interacting with each other, changes in technology, etc. Should we sue the cryptographers of fifteen years ago for releasing insecure crypto? How could they know that their crypto is insecure if its been vetted by peers and thought to be good? It could be stated that EVERY encryption algorithm is flawed and its merely a matter of time until its vulnerabilities are discovered. Likewise with software.
4) Since anyone can create software and release it online, there's a matter of enforcement. Unlike in the other professions, there is no barrier to entry into the world of software development. All it takes is a software developer to say "fuck you and your regulations, I'm going to write software damn it, and I'm going to release it anonymously and for free on my own website!". And thats a good thing! how many valuable software applications started off as a project hacked together by an individual?
The better principle is to assume that no software is perfectly secure and flawless (regardless of author), so your better course of action is to distrust it and add addtional layers of security into your business structure. Where are your double checks? How are things vetted? Is there auditing? etc. Strong security depends on people, processes and technology. If you're relying only on one of those dimensions for security and ignoring the other two, then you deserve to have a security breach and you deserve to be roasted appropriately for it.