Kaczmarek v. Microsoft Corp.

39 F. Supp. 2d 974 (1999)

Ruth H. KACZMAREK, Plaintiff,
v.
MICROSOFT CORPORATION, Defendant.

No. 98 C 7921.

United States District Court, N.D. Illinois, Eastern Division.

March 16, 1999.

Richard Francis O'Malley, Neil Hann Wyland, Sidley & Austin, Chicago, IL, Charles B. Casper, Peter Breslauer, Montgomery, McCracken, Walker and Rhoads, Philadelphia, PA, for Defendant.

Arthur S. Gold, Robert H. Rosenfeld, Gold & Rosenfeld, Kenneth J. Gogel, Carlin, Phillips & Garcia, North Dartmouth, MA, for Plaintiff.

MEMORANDUM OPINION AND ORDER

CASTILLO, District Judge.

As we near the Twenty-First Century, the media has focused on many potential Y2K problems. This focus will inevitably lead to much litigation, see, e.g., Jack E. Brown, Portents of the Year 2000 Computer Problem, 15 Santa Clara Computer & High Tech. L.J. 109, 116-21 (Jan.1999), which the courts will need to determine is meritful or meritless. Unfortunately for the plaintiff, we find this lawsuit falls in the latter category.

Ruth Kaczmarek filed this diversity lawsuit, purportedly as a class representative, against Microsoft, alleging that Microsoft sold software containing a latent year 2000, or Y2K, defect even though Microsoft advertised the software as Y2K compliant. *975 Kaczmarek claims that the software, FoxPro, improperly provides a "twentieth-century default" when a two-digit date is entered, and that the default is impossible to change. On this basis she presents claims for violation of Illinois' consumer protection law, breach of Microsoft's express and implied warranties, and common law negligence. This Court denied Kaczmarek's petition for class certification and, instead, ordered briefing on Kaczmarek's motion for a preliminary injunction, (4-1), and Microsoft's motion to dismiss, (15-1). Briefing is now complete. Because Kaczmarek cannot establish an inherent defect in the FoxPro software, we grant Microsoft's motion to dismiss and deny Kaczmarek's request for injunctive relief.

STANDARD OF REVIEW

Kaczmarek's complaint may be dismissed under Federal Rule of Civil Procedure 12(b)(6) only if "it appears beyond doubt that the plaintiff can prove no set of facts in support of [her] claim which would entitle [her] to relief." Conley v. Gibson, 355 U.S. 41, 45-46, 78 S. Ct. 99, 2 L. Ed. 2d 80 (1957). Generally, when deciding a motion to dismiss, a court must assume that the facts pleaded in the complaint are true and resolve ambiguities in favor of the plaintiff. See, e.g., Levenstein v. Salafsky, 164 F.3d 345, 347 (7th Cir.1998); Early v. Bankers Life and Cas. Co., 959 F.2d 75, 79 (7th Cir.1992). But "`documents attached to a motion to dismiss are considered part of the pleadings if they are referred to in the plaintiff's complaint."' Levenstein, 164 F.3d at 347 (quoting Wright v. Associated Ins. Cos., Inc., 29 F.3d 1244, 1249 (7th Cir.1994)). "It is a well-settled rule that when a written instrument contradicts allegations in the complaint ..., the exhibit trumps the allegations." Northern Ind. Gun & Outdoor Shows, Inc. v. City of South Bend, 163 F.3d 449, 454 (7th Cir. 1998). This exception applies in particular to cases involving contract interpretation. Levenstein, 164 F.3d at 347; Northern Ind. Gun & Outdoor Shows, 163 F.3d at 452-53.

The parties to this action have attached a multitude of documents to the various motions and memoranda currently under consideration. Before relating the pertinent facts, we must clarify which documents are appropriately before us. Kaczmarek's complaint alleges causes of action based in part on contract law. Specifically, she claims that the alleged defect in the software she purchased violates Microsoft's express and implied warranties covering the software. Thus, we may consider the warranty attached to Microsoft's motion to dismiss. (Ex. 3, Att. A, "End-User License Agreement for Microsoft Software.") The warranty guarantees that FoxPro "will perform substantially in accordance with the accompanying written materials," specifically the user manual, and provides a 90-day rejection period. Thus, the manual, (Pl.'s Resp. to Def.'s Mot. to Dismiss Ex. A, FoxPro Manual) ("FoxPro Manual"), was incorporated into the contract and may properly be considered at this stage of the proceedings. See ProCD, Inc. v. Zeidenberg, 86 F.3d 1447, 1452 (7th Cir.1996) (a "shrinkwrap license" that includes a warranty contained inside a box of software constitutes a contract between buyer and seller if, after an opportunity to read the terms and to reject them by returning the software, the buyer does not return the software); see also Hill v. Gateway 2000, Inc., 105 F.3d 1147, 1150 (7th Cir.1997) (a warranty contained in the box in which a computer is shipped constitutes a contract between the seller and customer, provided the customer has an opportunity to reject the contract).

Kaczmarek's entire complaint rests on her allegations that Microsoft falsely represented that FoxPro is Y2K compliant. The complaint repeatedly refers to the warranty and the operation of FoxPro as provided in the manual. For these reasons, the warranty and manual are not "outside the pleadings" and this Court may consider them without converting Microsoft's *976 motion to dismiss into a motion for summary judgment. Wright, 29 F.3d at 1248. We turn now to the facts.

FACTS

Kaczmarek is a software developer; she creates specialized computer programs for her clients. In 1995 she purchased Microsoft's FoxPro 2.6, a software development program used by developers to customize database applications. Kaczmarek complains that the date-field function of FoxPro 2.6 contains a Y2K defect and that every application she has written using FoxPro therefore contains the defect. The result of Microsoft's alleged wrongdoing, she claims, is that computer programs she has written using FoxPro do not accurately process twenty-first century dates.

FoxPro defines date fields using the "Century On" or "Century Off" command. The FoxPro Manual describes the Century functions as follows:

SET CENTURY
Purpose:      Determines whether or not FoxPro displays
              the century portion of date expressions
Syntax:       SET CENTURY ON / OFF
See Also:     DATE(), YEAR()
Description:  Use SET CENTURY to specify how date
              variables and functions are displayed.
Clauses:     ON
              SET CENTURY ON specifies a four-digit
              year format that includes 10 characters
              (including date delimiters).
              OFF
              SET CENTURY OFF specifies a two-digit
              year format that includes eight
              characters and assumes the twentieth
              century for date calculations. This is the
              default setting.

(FoxPro Manual at L3-887.) A program developer cannot alter the twentieth-century default setting, even using the Century On command. Thus, if two digits are entered in the date field to represent a year, all programs created using FoxPro will assume that the date occurred in the Twentieth Century.[1] FoxPro also includes a "data validation" feature which prevents data personnel from entering invalid dates, dates that simply do not exist. For example, a person attempting to enter the date "February 30" or "February 288" would receive an error message.

On this basis, Kaczmarek sets forth three principal theories for relief. Taking her claims in order of viability, first Kaczmarek alleges a breach of express and implied warranties. Specifically, she claims the alleged Y2K defect breaches Microsoft's express warranty to be "an ideal business application development environment," (Compl. at ¶¶ 44-51); the implied warranty of merchantability because FoxPro cannot be used for its ordinary purpose, (Compl. at ¶¶ 52-55); and the implied warranty of fitness for its particular purpose — namely, to aid software developers create fully functional software applications for their clients, (Compl. at ¶¶ 56-59). Second, she claims Microsoft violated the Illinois Consumer Fraud and Deceptive Business Practices Act, 815 ILCS 505/1 et seq., and the Illinois Uniform Deceptive Trade Practices Act, 815 ILCS 510/1 et seq., by misrepresenting that FoxPro is Y2K compliant and by failing to timely reveal the alleged Y2K defect.[2] (Compl. at ¶¶ 35-39.) Finally, *977 Kaczmarek seeks relief for Microsoft's allegedly negligent design, manufacture, and distribution of software containing a Y2K defect.

ANALYSIS

To succeed on any of her claims, Kaczmarek must establish a defect in the FoxPro program. Absent such a defect, it is not possible that Microsoft negligently developed and sold defective software, breached any of the warranties guaranteeing that the software would work as advertised, or violated Illinois' consumer protection statutes by misrepresenting the capabilities of FoxPro. The defect Kaczmarek alleges is the impossibility of using FoxPro to write a program that allows two-digit entry of twenty-first century dates.

Kaczmarek's main problem is that there is nothing inherently wrong with computer software that assumes a two-digit year entry means the Twentieth Century, particularly when the default setting is disclosed as part of the contract. Moreover, FoxPro is Y2K compliant: a developer can use the Century On feature to provide a four-digit year field when a client needs an application that will process dates occurring later than December 31, 1999 — something, we assume, is occurring with greater frequency as that date approaches.

Kaczmarek complains that, even when using Century On, a two-digit year entry is construed as a twentieth-century date. But the manual instructs that, under the Century On format, one must enter a four-digit year for the computer to accurately process the intended date. If, in Century On, one enters a two-digit year it is human error, not program error, that results in inaccurate processing of the date. Such human error cannot be attributed to Microsoft.

Finally, Kaczmarek protests that the data validation feature does not produce an error message in Century On mode when one enters a two-digit year. But the data validation feature is intended to recognize dates that do not exist, as opposed to dates entered incorrectly. Obviously, 10/02/1901 and 10/02/2001 both exist, even though someone entering the year as "01" probably intends the latter. In any event, the data validation feature is not advertised as a method of checking potentially ambiguous data entries.

It appears as though Kaczmarek wants a software program that has the twenty-first century as the default or, at least, flashes an error message when a two-digit year is mistakenly entered in a four-digit year field. But, if that is true, she should have returned FoxPro within the 90-day rejection period after discovering, by reading the manual, that these features were not included in FoxPro. See ProCD, 86 F.3d at 1452-53 ("[Kaczmarek] inspected the package, tried out the software, learned of the license, and did not reject the goods."). Kaczmarek claims it was unreasonable to expect her to read the 2,200 page manual within the 90-day period, but this argument is neither here nor there; a party's failure to read a contract is not a reason to invalidate the contract. See Gateway 2000, 105 F.3d at 1148 ("A contract need not be read to be effective; people who accept [the contract offered] take the risk that the unread terms may in retrospect prove unwelcome."). In any event, there is nothing unreasonable about expecting computer professionals to familiarize themselves with software — particularly something as basic as date fields when the Y2K problem has been so prominent — within 90 days.

In sum, Microsoft warranted that FoxPro would operate as described in the user manual. The user manual reveals the twentieth-century default and instructs *978 that a developer can change the assumption by creating a four-digit year field using the Century On feature. Although a program created using FoxPro will always process a two-digit date as occurring in the Twentieth Century (or at least incorrectly, assuming the data entry person meant to enter a twenty-first century date) Microsoft disclosed this aspect of the FoxPro program. In other words, there is no "defect" in the program; FoxPro operates in the manner indicated by the user manual. Thus, Kaczmarek cannot establish a breach of Microsoft's warranties. Additionally, Kaczmarek cannot show that Microsoft misrepresented FoxPro's operation and, therefore, cannot establish a violation of Illinois' consumer protection laws. Finally, absent a defect in FoxPro, Kaczmarek cannot show negligence by Microsoft. Because there is no factual or legal basis for Kaczmarek's claims, the case is dismissed with prejudice.

Finally, given our conclusion regarding the merits of this case, Kaczmarek certainly cannot meet her burden with regard to obtaining a preliminary injunction. Therefore, we deny her motion for a preliminary injunction, (4-1).

CONCLUSION

For the reasons set forth above, we grant Microsoft's motion to dismiss with prejudice. Additionally, we deny Kaczmarek's motion for a preliminary injunction. The Clerk of Court is instructed to enter final judgment, pursuant to Federal Rule of Civil Procedure 58, in favor of Microsoft.

NOTES

[1] Microsoft argues that this is the result only for programs written using Century Off; when the Century On format is used, Microsoft claims, the two digits entered are stored as the first two digits of a four-digit year. For example, if someone entered "01" intending the computer to understand the year 2001, in Century On mode the computer would actually understand the year 0100. As Kaczmarek alleges the facts, entry of 01 would result in the computer understanding 1901 regardless of whether the format was Century On or Off. This argument raises a factual question which, at this point, we must resolve in favor of Kaczmarek. Thus, we accept her version of the effect of entering a two-digit year in Century On mode. As we shall see, however, this factual conflict is irrelevant to the outcome of the case because, in Century On, a computer's incorrect interpretation of a two-digit year entry is the result of human error rather than an error in the program.

[2] Kaczmarek does not point to any evidence that Microsoft claimed the software was Y2K compliant. Obviously, at this point, she does not need to. Early, 959 F.2d at 79 ("[A] plaintiff is free, in defending against a motion to dismiss, to allege without evidentiary support any facts [she] pleases that are consistent with the complaint.").