Lotus Development Corp. v. Borland Intern., Inc.

Decision Date19 August 1993
Docket NumberCiv. A. No. 90-11662-K.
Citation831 F. Supp. 223
PartiesLOTUS DEVELOPMENT CORPORATION, Plaintiff, v. BORLAND INTERNATIONAL, INC., Defendant.
CourtU.S. District Court — District of Massachusetts

COPYRIGHT MATERIAL OMITTED

James C. Burling, Jeffrey B. Rudman, Hale & Dorr, Boston, MA, Henry B. Gutman, Kerry L. Konrad, O'Sullivan, Graev & Karabell, New York City, for plaintiff.

Peter E. Gelhaar, Donnelly, Conroy & Gelhaar, Boston, MA, Gary L. Reback, Peter N. Detkin, Andrew G. Konstantaras, Isabella

E. Fu, Wilson, Sonsini, Goodrich & Rosati, Palo Alto, CA, for defendant.

Opinion

KEETON, District Judge.

A nonjury trial was held in this action in two phases. Phase I was tried on February 1-3, 1993; Phase II, on March 31-April 2, 1993. An Opinion of June 30, 1993 (the "Phase I Opinion") stated the court's findings and conclusions on issues raised in Phase I of the trial. The present Opinion states my findings and conclusions for the Phase II trial.

I. Introduction.

This Opinion assumes the reader's familiarity with, and follows the terminology set forth in, the Phase I Opinion. Background information appears also in Lotus Dev. Corp. v. Borland Int'l Inc., 799 F.Supp. 203 (D.Mass.1992) ("Borland II"), Lotus Dev. Corp. v. Borland Int'l Inc., 788 F.Supp. 78 (D.Mass.1992) ("Borland I"), and Lotus Dev. Corp. v. Paperback Software Int'l, 740 F.Supp. 37 (D.Mass.1990) ("Paperback").

As explained in the Phase I Opinion, the Phase I trial concerned issues of infringement raised in Lotus's original complaint, i.e., infringement by Borland's copying of Lotus's menu tree into the 1-2-3 emulation interface of Borland's Quattro and certain Quattro Pro spreadsheet programs.

Phase II of the trial concerns the full range of liability issues, including affirmative defenses, with respect to Lotus's supplemental complaint. The supplemental complaint alleges that Borland's "Key Reader" infringes Lotus's copyrights in its 1-2-3 programs.

II. Does Key Reader Infringe?
A. What is Key Reader?

The Phase I Opinion and the court's earlier Memorandum and Orders have focused on the 1-2-3 emulation interfaces in the Quattro and Quattro Pro programs. After executing the command that invokes the emulation interface in one of Borland's products, the program uses copies of the Lotus menu tree for display to the user, interaction with the user (i.e., interpreting the keystrokes typed by the user), and running macros.

The Key Reader is not a part of the emulation interface. The Key Reader feature may be turned on while the user continues to use another (e.g., the Quattro) menu tree. When Key Reader has been turned on, the program continues to behave as it had before, with one exception. With Key Reader on, when the program encounters a slash key ("/") in a macro, the program interprets everything that follows the slash key as though it were part of a macro written for use with Lotus 1-2-3. Thus with Key Reader on, the program uses Quattro Pro menus for display, interaction and macro execution, except when a "/" key is encountered in a macro. Then, the program runs macros as though they were written using the 1-2-3 menu tree.

A more detailed explanation of 1-2-3 "macros" is essential to explaining Key Reader.

Generally, a 1-2-3 macro consists of some text contained in a spreadsheet cell. When the macro is invoked, the program begins at the left end of the text and treats each character in the text as though the user had typed that character into the 1-2-3 program. For example, consider a macro that consists of the text "/wp". When the macro is invoked, the program behaves precisely as though the user had typed into the regular interface a "/" (calling up the first menu) followed by "w" (selecting the "Worksheet" branch of the menu tree) followed by "p" (selecting the "Page" leaf; this executable operation inserts a page break into the spreadsheet).

In writing a macro, the user may use special commands not found in the 1-2-3 menu tree. For example, the character "" in a macro is interpreted as though the user struck the Enter key on the keyboard. Consider a macro consisting of the text "/rfc". When invoked, this macro has the same effect as the user's typing into the 1-2-3 interface "/", "r", "f", "c", followed by striking the Enter key twice. That is, the program follows the "Range" branch, then the "Format" branch, then selects the "Currency" leaf. When the "Currency" leaf has been selected, the program asks the user to specify the number of decimal places and the block of cells whose appearance is to be altered to that of monetary units. The first "" is equivalent to striking the Enter key; the program accepts the default number of decimal places (two). The program then asks for the range of cells. The second "" is equivalent to striking the Enter key a second time; the program accepts the default range (one cell).

Other sequences of symbols in a Lotus macro have a special meaning. Of particular interest is "{?}". When the program encounters this sequence of characters in a macro, the program pauses and waits for the user to strike keys appropriate for the menu tree. Thus, consider a Lotus macro consisting of the text "/rf{?}". When invoked, this macro would follow the "r" command ("Range" from the first level of the Lotus menu tree), then the "f" command ("Format" in the Lotus menu tree). The program then encounters the "{?}" characters. Here, the program pauses and allows the user to input a menu command. The program will interpret what the user inputs as a choice from the Lotus 1-2-3 submenu corresponding to "Range" "Format". Thus, the user might strike the "c" key (followed by Enter) to format a cell as currency. If the user strikes the Escape key instead of striking "c", the program backs up the menu tree from the "Format" submenu to the "Range" submenu. The user may continue maneuvering up and down the Lotus 1-2-3 menu tree until striking the Enter key. When the user strikes the Enter key, the program returns to reading the text of the macro as though the user were continuing by striking the keys found in the remaining text of the macro. A macro consisting only of "/{?}" permits a user to select any executable operation by typing keys precisely as though the user were using one of Borland's emulation interfaces, but without display of the menus.

Lotus 1-2-3 macros may also contain more advanced commands. Thus, a macro may contain text such as "{if ...}" or "{let ...}". In these strings of characters, the ellipses refer to additional text or "arguments" the user would provide. When the program encounters an advanced command such as this, the program follows whatever procedures that command calls for. For example, the text "{blank A1..G45}" would cause the program to erase each of the cells from "A1" (first column and first row) through "G45" (seventh column and forty-fifth row). "if", "let", and "blank" are all labels in the Lotus 1-2-3 macro language that do not appear in the 1-2-3 menu tree.

In sum, when Key Reader is on and a slash key is encountered in a macro, the program follows the text of the macro as though the characters were being typed during the program's use of a copy of the 1-2-3 menu tree (and with some other means for interpreting the various special Lotus 1-2-3 macro language commands). When Key Reader is off, or no "/" key is encountered in a macro, the program interprets macros by reference to a different (e.g., the Quattro) menu tree. With Key Reader off, Borland's programs cannot correctly interpret 1-2-3 macros.

Quattro and Quattro Pro version 1.0 did not contain the Key Reader feature; they contained only the emulation interface. Thus in these programs, the user could execute Lotus macros only when the user was employing the emulation interface; i.e., using Lotus 1-2-3 menus for display, interpreting user commands, and executing macros.

The Key Reader was first introduced in Quattro Pro version 2.0. Quattro Pro version 2.0, 3.0, and 4.0 contain both the emulation interface and the Key Reader feature (which is used from the native menus).

Borland removed the emulation interface from Quattro Pro version 4.01 (and subsequent releases of Quattro Pro) after the Borland II decision in this case allowed partial summary judgment for Lotus. Thus, Quattro Pro versions 4.01, SE, and Quattro Pro for Windows contain the Key Reader feature but have no 1-2-3 emulation interface.

B. Copying.

In developing Key Reader, Borland modified portions of the earlier Quattro Pro programs that contained the full 1-2-3 emulation interface. Accordingly, I begin with a review of how the Lotus menu tree was copied into the Quattro Pro emulation interface before analyzing how that was, in turn, incorporated into Key Reader.

1. The 123.MU file.

The actual menu tree for the Quattro Pro emulation interfaces (versions 1.0, 2.0, 3.0, and 4.0) was in a file labeled "123.MU". Thus, when the program was running and the user had selected the 1-2-3 emulation interface, the program would refer to the 123.MU file to determine the form of menu commands and menu structure used to present the set of executable operations to the user, interpret user commands, and interpret macros. If the user had selected a different interface, e.g., one using the Quattro native menus, the program would refer to a different file for the menu commands and menu structure for display, interpretation of commands, and macro execution.

A text print-out of portions of the 123.MU file is in evidence under seal as Exhibit 13. The parties have included, however, the first page of this print-out in the public record. See Docket 311, Exh. A. An examination of the print-out demonstrates that the entire Lotus menu tree is copied into the file, with differences in indentation detailing the menu structure. That is, the structure of the menus and submenus is recorded in the file by changes in indentation. As...

To continue reading

Request your trial
7 cases
  • Compaq Computer Corporation v. Ergonome, Inc., CIV. A. H-97-1026.
    • United States
    • U.S. District Court — Southern District of Texas
    • March 27, 2001
    ...that the plaintiff had "selected data and arranged their placement in a way that is unique and original"); Lotus Dev. Corp. v. Borland Int'l Inc., 831 F.Supp. 223, 231 (D.Mass.1993) (finding a command menu interface copyrightable by comparing it to a The postulate for which a "compilation c......
  • Sega Enterprises Ltd. v. Maphia
    • United States
    • U.S. District Court — Northern District of California
    • March 28, 1994
    ...104 S.Ct. 774, 793, 78 L.Ed.2d 574 (1984)) (emphasis in original); Playboy, supra, 839 F.Supp. at 1557-58; Lotus Dev. Corp. v. Borland Int'l, Inc., 831 F.Supp. 223, 243 (D.Mass.1993). 24. Based on Defendants' own statement that 45,000 bulletin boards like MAPHIA operate in this country, it ......
  • Engineering Dynamics, Inc. v. Structural Software, Inc.
    • United States
    • U.S. Court of Appeals — Fifth Circuit
    • July 13, 1994
    ...EDI has selected data and arranged their placement in a way that is unique and original to SACS. See Lotus Dev. Corp. v. Borland Int'l Inc., 831 F.Supp. 223, 231 (D.Mass.1993) (Lotus V) (finding command menu interface copyrightable by comparing it to compilation: "The selection, arrangement......
  • Lotus Development Corp. v. Borland Intern., Inc.
    • United States
    • U.S. Court of Appeals — First Circuit
    • October 6, 1994
    ...II "); Lotus Dev. Corp. v. Borland Int'l, Inc., 831 F.Supp. 202 (D.Mass.1993) ("Borland III "); Lotus Dev. Corp. v. Borland Int'l, Inc., 831 F.Supp. 223 (D.Mass.1993) ("Borland IV "). I. Background Lotus 1-2-3 is a spreadsheet program that enables users to perform accounting functions elect......
  • Request a trial to view additional results

VLEX uses login cookies to provide you with a better browsing experience. If you click on 'Accept' or continue browsing this site we consider that you accept our cookie policy. ACCEPT