In terms of negotiating a mutually agreeable solution, we have made little progress. There are certain things that we largely agreed on from the start, and those haven't changed, but our disagreements are very firm. We have come up with something that is agreeable to both parties. It is not a course of action exactly, but just the next step to take.
Both teams agree that in an ideal world, minimum liability for software developers would already be a standard accepted practice; however, we do not like in an ideal world. The world in which we must act contains many conflicting interests. In certain industries (eg. medical equipment, aerospace, aviation, telecommunications etc.), software companies already accept a certain amount of liability for the software that they produce. In cases like this, license agreements do not contain blanket disclaimers such as those found in most commercial software. In cases like this, where weak or non-existent disclaimers are important, we agree that they should be negotiated with the software mæmanufacturer. Nothing directly prevents this from happening now, though most software manufacturers are not willing to renegotiate disclaimers in their license agreements.
Our fundamental disagreement is on the method used to reach this ideal goal. Team A continues to believe that mandatory minimum liability standards are required to pressure software companies into developing appropriate development and testing procedures. A free market system has proven ineffective in achieving quality software. New features and time-to-market are the overwhelming concern in consumer software, and quality suffers as a result. Other industries, and other segments of the software industry have demonstrated that minimum liability is an effective way of improving quality without imposing stringent and exacting standards on producers. We believe that this approach will work in the software industry as well.
Team B believes that the commercial development environment today is inadequate for the development of ultra-high reliability software. Consequently, having a minimum liability imposed on commercial software developers will cause many of them to cease developing software or to increase the cost of software because of the risk of costly lawsuits. There are simply too many hardware configurations and software configurations to test. If the computing environment were to change significantly so that it were simpler (with common hardware and a common operating system, for example) then it would be possible to develop ultra-high reliability software. One reason that software written for game consoles (Nintendo 64, Sony Playstation, etc.) is reliable is because it only has to run one one piece of hardware.
We recommend that government commission a study regarding the creation of a regulated hardware and operating system oligopoly. In such an oligopoly, there would be a limited number of hardware and operating system configurations that consumers could purchase. (For example, three different hardware configurations and operating systems.) If such a system was implemented, software manufacturers could develop and release high reliability software for specific systems. This would create a simpler development environment and one that allows commercial software developers to comfortably assume a minimum liability for their software.
After this study has been completed, we recommend another proposal and discussion session similar to the one that we have just completed. We believe at that future time, we would be able to make more progress on this issue.