Some have suggested that a companion to the famous Statue of Liberty might well be a statue of responsibility. Such a counterbalance would emphasize the complementary nature of freedom and accountability. In economic terms, one might speak of ownership balanced against liability.
Throughout this age of software the greater emphasis seems to have been on ownership, with far less attention to accountability. Shrinkwrap or click-through terms-and-conditions have demanded much of the user while obligating the supplier to the slightest of commitments. The trend clearly continues to favor vendors, whether or not the direst predictions of opponents to the Uniform Computer Information Transactions Act are fulfilled.
Witness the rush to stake out ownership of software-related innovations, begun when the U. S. Patent and Trademark Office decreed that software applications could be granted patent recognition and protection. There has been a veritable flood of patent filings for every imaginable business process and technology, from one-click checkout for simplifying online purchasing (Amazon.com) to the very hyperlinks that allow Web users to move between pages by clicking on pictures or text (British Telecommunications).
For example, in 1998, Chrysler Corp. received U. S. Patent No. 5,815,654 for:
A method for determining the reliability of software includes determining a total number of software input combinations, and then determining a matrix of test input combinations that is a subset of the total number. The software is tested for each test input combination, and the ratio of the number of successful tests to the number of test input combinations...represents the efficacy of the software testing. Future software errors are predicted based on the testing, and a decision whether to continue software modification and testing is made in response to the prediction of future software errors and the indicated efficacy of the software testing.
Might you be violating this patent (No. 5,673,387) granted to Lucent Technologies?
A system and method for selective regression testing of a software system that determines which test units of a test suite must be rerun after a modification to the software system. The entities that are covered by each test unit are identified. When the software system is modified the entities that were changed by the modification are identified. The test units that need to be rerun are determined by analyzing the change information and the coverage information to select those test units that cover changed entities.
And here is a description of U. S. Patent No. 5,903,453, issued last year to Texas Instruments:
The present invention is a method for estimating software operation and performance measures using a goal/question/metric paradigm. In the present invention, each goal is associated with questions and metrics and stored to memory as a tree...Probabilities are then assigned to each node and...the probabilities, minimal path, and percentage contributions are then used in determining an action plan to use during development of the software to ensure software operation and performance accordingly.
I certainly understand the need to encourage and reward innovation through legal mechanisms such as the patent system, and I am not unsympathetic to claims of ownership, but shouldnt the owners take responsibility for their work?
I have long said that one sure mark of the maturing of the software quality profession would be software malpractice claims. Note that malpractice presumes an agreement on what constitutes acceptable practice, which is known as a standard of care. Violating this standard crosses the line from the acceptable to the unacceptable.
Unfortunately, most consumers have endured a level of unquality in software-based systems that would be scarcely thinkable in more mundane or well-known products and services. Perhaps we are seeing the first signs that the tide might be turning.
This past June, a jury in Miami found the makers of a flight computer and its navigational software partly responsible for the 1995 crash of an American Airlines jet near Cali, Colombia. The aircraft flew into a mountain, killing 159 people, after its pilot incorrectly programmed the planes navigational computer. An investigation showed printed charts for the area contained information conflicting with the computers database. The airline argued that while its pilot erred, others shared responsibility, because the crew was led astray by defective products.
Investigators said the crew of American Flight 965, following printed charts during a descent toward Cali, punched the letter R into the planes navigational computer trying to select a navigational beacon called Rozo. Instead of Rozo, the computer displayed a beacon called Romeo as the first choice for R, and the crew accepted it without verifying its location. The Romeo beacon was behind the airplane, near Bogota, Colombia, so the confused crew turned the jet from the safety of the valley into the mountains.
American Airlines and its insurers had already paid out some $300 million in claims resulting from the crash, and they argued the hardware and software suppliers should share the cost.
After a nine-week trial, the jury agreed, holding American Airlines only 75 percent responsible for the crash. The jury said that Jeppesen Sanderson, which made the software, was 17 percent responsible and Air Transport Systems (a unit of Honeywell), which made the computer, was 8 percent responsible.
I would not be pleased to see us swing to the other extreme of exaggerated malpractice suits and crushingly expensive malpractice-insurance premiums, but I am glad to see at least one instance of accountability counterbalancing the liberty enjoyed by software suppliers.
I can be contacted at firstname.lastname@example.org