The Year 2000 Litigation: Focusing on the Issue of Cost
![]()
Adapted from Remarks at a Luncheon Sponsored by BNA by
Jack E.
Brown, partner at Brown
and Bain,
Phoenix
The Conference on the Internet, Computer Chips
Sponsored by The Computer Law Association, Inc.
Phoenix, Arizona February 19, 1998
The origin of the Year 2000 problem is the practice of representing a year using two digits of computer storage instead of four. That representation utilized an assumption that every reference to a year was a year in this century. Thus, 98 has represented 1998 and 00 has represented 1900.
The problem arises because the need now exists to refer to the year 2000, a need which older computer installations (sometimes referred to as "legacy" installations) do not recognize. The older computer systems still will interpret 00 to refer to the year 1900 and, utilizing current rules of interpretation, they will never refer to any year in the 21st century. 1
Even if one realized early on the problem that might arise, the reasons for adoption of the two digit technique were compelling. Thirty-five years ago computer storage and retrieval were precious in every way. The cost of computer storage was 10,000 times more than it is now; stated differently, computer storage cost one million percent more than it does today. 2
That means that the representation of years in two digits enabled computer users to make use of programs that otherwise would have been difficult and more expensive to create. That may not provide an excuse for a defendant obligated to act who does not start to search for a cure sooner rather than later, but it does suggest one of the conventional defenses of manufacturers in product liability cases that a better design was not available when the product was manufactured. 3
It also deserves note that a successful implementation of a Year 2000 compliance program may produce benefits for a user beyond the avoidance of a disaster. Apart from the replacement of hardware with defective embedded computers4, a user may acquire a software portfolio that is leaner, safer, more stable and more current than what he or she previously enjoyed (or endured).
Meanwhile, the task facing users of legacy installations in the short time remaining is formidable.
Defining the term "Year 2000 compliant" as the ability to recognize accurately dates both before and after January 1, 2000, there are essentially four methods of achieving software compliance that have been commonly recognized. They are: (1) date expansion; (2) clock modification; (3) windowing; and (4) date modification.
1.Date Expansion.
The date expansion technique addresses the problem head-on and is probably the one most frequently adopted to date. It directs the user to survey each computer program and database in its portfolio to identify every location where dates or equivalent data compressions are in use and reformatting each instance to use four instead of two digits. Changing an existing database involves not only expanding the database itself but also every reference to it.
The virtue of such an approach is that it should fix the problem until the year 9999--beyond any time period of interest to the most concerned user.
The vices are several:
First, there are not enough programmers available to timely repair all of the problem applications by such a time-consuming, line-by-line approach. There were less than two million professional software personnel in the United States in 1996 and many of them are unfamiliar with the languages used in many legacy applications dating back to the 1960s (such as COBOL, Lisp, RPG and PL/1). 5 Second, assuming that the program talent can be acquired, the cost of such an approach can be enormous, depending on the size of the installation.
The cost has been variously estimated at from $1.40 to $1.70 per line of code, recently increasing to $2.00 per line. Using $1.50 per line as the average cost of repairing source code, it has been estimated that a typical Fortune 500 company will incur about $30 million in compliance expense. 6
It also has been estimated that the cost of repair will be about $160 for every function point and that a typical mid-sized business enterprise has about 500,000 function points7. That means that the cost of compliance for such a business, computed by reference to function points, is about $80 million. Computed by State, the estimated cost of the 26,500 software personnel needed in Arizona will be in excess of $1 billion. 8
Third, a major problem posed by the date expansion technique is that, in changing a year number from two digits to four digits, an offset of 1900 must be added so that, for example, 60 will become 1960, 98 will become 1998 and so forth. To work properly, every year number in a program must be identified correctly. If a field actually refers to age rather than to a year, it is conceivable that a 19 year old will be misidentified as 1919 years old. If a year is not identified so that it can be fixed, the result will be equally confounding: For example, the year 1980 may be understood as the year 80.
There are many rule-based tools that have been developed to "automatically" identify year numbers but it is doubtful that an algorithm exists that can guaranty correctness without extensive testing.
In result, the cost estimates to which I have referred include a substantial amount for testing. Nevertheless, even with extensive testing, it must be recognized that fresh mistakes and errors inevitably will escape detection and, consistent with Murphy's Law, may result in degradation of system performance at the most inconvenient times. Murphy's Second Law, you will recall, decrees that "everything that can go wrong, will go wrong--and at the worst possible time." One company reported that a software package that was supposed to be Year 2000 compliant worked fine in tests switching from December 31, 1999 to January 1, 2000. It then continued to work fine on January 31, 32, 33 and 34.
2.Clock Modification.
Clock modification involves changing all years in existing databases and the system clock by deducting 28 years. The reason for the use of 28 is that the calendar resets itself completely every 28 years; thus, calculations involving a day of the week will yield the same result for the years 1971 and 1999.
Apart from its limited value and concern about what will happen in boundary years, the principal demerit of clock modification is that it also would involve changes to be made throughout existing databases and thus again would require extensive survey work and testing and the likely occurrence of mistakes and the introduction of new errors.
3.Windowing.
The basic programming technique of windowing is to assume the century of a two-digit year by comparing it to an arbitrary window of 100 years. For example, a program may be devised to assume that, if the two-digit year is equal to or greater than 50, the year is a 20th century year (1950-1999), but otherwise it is a 21st century year (2000-2049)9. A life insurance company might program its computers consistent with an assumption that a policy holder born in 1901 did not acquire life insurance in that year--or that a beneficiary born in 1901 did not own an endowment policy scheduled to start annual payments in the year 2019. A sliding window of years can be designed to be self-adjusting over time.
In either case, windowing has the advantage of involving only program changes without any data conversion. Also, it may use compilers (which convert source code, written in high level languages, to object code) to implement the needed program changes. Consequently, although it still may require a programmer to search for and locate every variable that holds years, windowing is likely to be cheaper than data expansion. The cost is estimated to run from $.34 to $1.10 per line of code--about 1/4 to 1/2 the cost of data expansion. 10
A major problem in implementing the windowing technique is that, as much as in the date expansion approach, every year number must be correctly identified. In addition, two organizations sharing data will risk the intrusion of major problems if they are using different pivot years.
Other disadvantages are that the program may need to be updated yearly and the technique is thought to invite performance degradation due to increased processing time and a not insignificant maintenance burden.
4. Date Modification.
Date modification involves changing the symbolic system used to represent different years so as to accommodate more than the traditional 100 numbers in the two digits allocated for that purpose. Anyone familiar with the hexadecimal system used to represent assembly language code will quickly see the possibilities: A1 could signify 2001, A2--2002, B1--2010, and so forth.
There are many techniques for modifying date representations.
The most elegant that I have seen is the subject of a patent entitled "Two-Digit Hybrid Radix Year Numbers for Year 2000 and Beyond."11 The inventor is Decao Mao. Mr. Mao was born in Zhejiang Province in East China. Sent to the Chinese countryside for "re-education" during the Cultural Revolution, he stayed 14 years and taught himself English and college courses that permitted him to come to the United States as a graduate student at the University of Massachusetts at Amherst starting in early 1990, where he earned a M.S. degree in 1991.
An implementation of the Hybrid Radix technique called "The 19T0 Solution" is the invention of David and William Lappen.12 They suggest starting the date extension with T because it is the first letter in ten and also in two thousand, an association making T easier to remember than some other choices. Using T to represent 10 allows T0 to represent the Year 2000, T1 to represent 2001, and so forth, allowing one minor change to last for ten years. The symbol U0 can then be used to represent the year 2010. By simply representing years in the 2000 century in that way, existing application programs can continue to be used without alteration.
They explain that, for computer programs written in high level languages, the relatively simple change needed can be incorporated in compilers and their run-time support libraries and automatically implemented by recompilation of existing application programs. All changes would be automatically made in all proper variables by the recompilation process.
It should be noted, however, that variations made in system software or in various application programs over the years, or the use of idiosyncratic programming techniques of any kind, may pose special problems that will require detailed review of the software and programs affected and, again, extensive testing. Also, to the same extent as with other available techniques, data exchanges may require compatibility between similar systems.
Subject to the qualifications noted, the Hybrid Radix date modification technique offers the promise of tremendous time and cost savings. While only the owner of the compiler can in any given case provide all of the benefits that are promised by such an implementation, there are many software developers who have the capability to develop a pre-processor to implement the Hybrid Radix approach, accruing some of those benefits.
It also deserves mention that the Year 2000 problem is not the only one that will require attention. There are several other singular date problems that also need to be fixed.13
One particularly interesting historical problem is that the year 2000 is a leap year but the year 1900 was not. Thus, a computer programmed for the year 1900 will not acknowledge the existence of February 29, 2000.
Another fix may be required for those programs that calculate the day of the week from a future date--requiring correction because January 1, 1900 was a Monday, whereas January 1, 2000 will be a Saturday.
Much of the litigation that is being contemplated, and some that already has emerged, is engaged in the familiar game of assessing blame and responsibility.14
Meanwhile, the Chairman of Software Productivity Research, Mr. Capers Jones, has said that 5 to 7% of mid-size companies will probably fail due to Year 2000 problems.15 If that proves even close to being right, much of the Year 2000 litigation may increasingly focus on the issue of cost: The question posed may be, who, if anyone, will be held liable for incurring or tolerating the burden of excessive cost--for choosing a more expensive solution when a suitable one was available that would or might have been less expensive? It is not hard to imagine a headquarters office for plaintiffs' lawyers with a large sign on the wall reminding those working in that vineyard that, "It's the COST, stupid."
What are the chances that everyone with a modicum of responsibility for curing the problem will be found to have acted prudently and with due care, doing the right thing at the right time in the most efficient way--that is, in the most cost-effective way? I don't know, but I do know that the percentage chance that some jurors will find some defendants liable is greater than zero.
The Irish humorist Hal Roach provides an apt allegory. He tells of the teacher who asked Patrick,a ten-year old who had appeared less than attentive to the lesson of the day, who it was that blew down the walls of Jericho. He responded, "I don't know, but it wasn't me." The teacher later told Patrick's mother of her son's answer, and the mother said, "If my son says it wasn't him, then he didn't do it!" The teacher then saw the boy's father and recounted what both his son and his wife had said. The father interrupted and said, "Look, I don't want any trouble. Just tell me how much it will cost to repair that wall."
1 Consequently, a calculation of the years between 12/31/98 and 12/31/00 could be either minus 98 or plus 98, depending on which number is used for your starting point, but it can never be two--the number you need if you mean for "00" to refer to the year 2000, not 1900. 2 Leon A. Kappelman and Phil Scott, What Everyone Should Know About the Year 2000 Century Date Problem, in Leon Kappelman, Year 2000 Problem: Strategies and Solutions from the Fortune 100, p. 8 (1997) (hereinafter Kappelman). 3 Compare Richards v. Michelin Tire Corp., 21 F.3d 1048, 1056 (11th Cir. 1994) ("under Alabama law, a plaintiff must prove that a safer, practical, alternative design was available to the manufacturer at the time it manufactured its product"), cert. denied, 115 S.Ct. 902 (1995), with Habecker v. Clark Equip. Co., 36 F.3d 278, 286 (3d Cir. 1994) (under Pennsylvania law, "a plaintiff must show that an alternative, safer design practicable under the circumstances existed. In Pennsylvania, `practicable under the circumstances' is an element militating toward feasibility. Practicable means possible to practice or perform"), cert. denied, 115 S.Ct. 1313 (1995). 4 Equipment or machines in which computers are embedded include, illustratively, "onboard computers" in weapons systems, ships, turbines and many different kinds of control systems, including office telephone systems, fax machines, bank vaults and elevators. It is estimated that replacement of embedded chips will account for about 30% of the total millennium bug cost. See Terry Costlow and Alexander Wolfe, Embedded Systems May Harbor Hidden Glitches, EE Times, (1/14/98), http://www.techweb.com/wire/story/ TWB19980114S0002; John Jesitus and Doug Bartholomew, The Real Year 2000 Nightmare: Manufacturing Systems, Industry Week (1/5/98), http://www.industryweek.com/minc/010598/index.html; The Millennium Bug, The Economist, Oct. 4, 1997, P. 25, 29. Some older equipment also may require replacement. For example, IBM has advised the Federal Aviation Administration that the IBM 3083 computers, in which the data functions were written in machine language (and which IBM stopped shipping about ten years ago), should be replaced before the year 2000. See Matthew L. Wald, F.A.A. Tackles Old Air Traffic Computers: One Mainframe Model Will Be Unreliable After 1999, I.B.M. Says, N.Y. TIMES, Jan. 13, 1998, at A12. 5 Capers Jones in Kappelman at 24. 6 Warren S. Reid, The Year 2000 Crisis: What Surprises Are Left? 2 Cyberspace Lawyer 5, 7 (Sept. 1997). Ed Yourdon has written in the February 1996 American Programmer that the typical Fortune 500 organization has a portfolio of 50-100 million lines of code. See Thomas McCabe, Cyclomatic Complexity and the Year 2000, IEEE SOFTWARE (May 1996). Gartner Group consultants have estimated that a typical mid-sized company "could spend as much as $3 million to $4 million in personnel and computer resources to make the required changes." See IBM, Frequently Asked Questions About the Year 2000 Challenge, http://www.software.ibm.com/year2000/faq.html (1996). 7 Capers Jones, Global Economic Impacts of the Year 2000 Problem in Kappelman, p. 12 at p. 22. Mr. Jones is Chairman of Software Productivity Research, Inc., which has been referred to as "[p]robably the most knowledgeable organization in the world on computer statistics." Peter de Jager and Richard Bergeon, Managing 00--Surviving the Year 2000 Computing Crisis 78 (1997). Function point metrics originated in 1970 within IBM. Today, the International Function Point Users Group is the largest software measurement association in the United States and there are affiliated associations in about 20 countries. Mr. Jones has described the "lines of code" metric as "not accurate enough for serious economic analysis of software problems." 8 Kappelman at 377. 9 The program usually specifies the number of years in the past and the future within the window based on the current year identified in the current operating system date. See IBM Storage software, Set the century window for two-digit years, http://www.storage.ibm.com/storage/software/sort/srtmycw.htm. 10 Progestic International, March 4, 1997: "Projects using the DVR 2000 resulted in a cost of 0.34 US per line of code while the same projects using the sliding window and date definition expansion resulted in a cost of $1.10 US and $1.70 US per line of code respectively." 11 U.S. Patent No. 5,668,989, dated Sep. 16, 1997. 12 See http://www.19t0.com. 13 The reason for the discrepancy is that, when Julius Caesar decreed in 46 B.C. the addition of one day every four years to the annual calendar on the assumption that the Earth takes 365 1/4 days to circumnavigate the Sun, he did not take full account of the speed of the Earth's movement. It turns out that the Earth moves eleven minutes fourteen seconds faster every year. In result, Spring was arriving one additional day earlier each 128 years. In 1582, aided by advice from a Neapolitan physician and a German astronomer, Pope Gregory XIII dropped the ten days that had accumulated (so that October 5, 1582 was followed by October 15, 1582) and, as a future adjustment, he ordained that leap years not be observed in any year ending in 00 unless that year is evenly divisible by 400. See Jerome T. Murray and Marilyn J. Murray, The Year 2000 Computing Crisis: A Millennium Date Conversion Plan, 1-5 (1996); Matthew L. Wald, Leap Day 2000 Might Pose Big Problems for Some Computers' Software, N.Y. TIMES, Feb. 9, 1998, at C3. 14 A retailer in Michigan has sued the maker of its sales terminals, installed in 1995, because they cannot handle credit cards that expire after 1999. Produce Palace International v. TEC-America Corp., Case No. 97--CK (Mich. Cir. Ct. Macomb County, filed on June 12, 1997). A user in California has complained that the defendant, a supplier of database accounting software, has not offered its customers, members of a purported class, a fix for the software it sold under a five-year warranty except at a price. Atlaz International, Ltd. v. Software Business Technologies, Inc., Case No. 172539, Cal. Sup. Ct., Marin County (Dec. 2, 1997). Potential private plaintiffs include shareholders and debtors (some of whom will be familiar with suits to recover losses suffered in bankruptcy proceedings); customers of computer hardware and software suppliers and service companies; investors whose business was adversely affected by a computer failure; customers and other persons variously injured by a computer failure. Potential defendants include suppliers of computer hardware, software and services; managers of businesses affected by the Year 2000 problem, including corporate officers and directors; and contractors and consultants relied on by business managers. 15 Kappelman at 69.
|
||
Jack Brown is a founding
partner at Brown and Bain, in Phoenix.
He may be reached at 602-351-8100 or by e-mail at
brown@brownbain.com
The information offered here is not intended as legal advice or opinion applicable in specific circumstances. You are urged to consult an attorney concerning your particular situation. Under professional rules, this article may be regarded as advertising material.
All Contents Copyright © 1998 - Brown & Bain. Disclaimer . All Rights Reserved Reprinted with permission.