Lotus Development Corp. v. Borland International, Inc.

831 F. Supp. 223, 1993 U.S. Dist. LEXIS 11653, 1993 WL 325910
CourtDistrict Court, D. Massachusetts
DecidedAugust 19, 1993
DocketCiv. A. 90-11662-K
StatusPublished
Cited by9 cases

This text of 831 F. Supp. 223 (Lotus Development Corp. v. Borland International, Inc.) is published on Counsel Stack Legal Research, covering District Court, D. Massachusetts primary law. Counsel Stack provides free access to over 12 million legal documents including statutes, case law, regulations, and constitutions.

Bluebook
Lotus Development Corp. v. Borland International, Inc., 831 F. Supp. 223, 1993 U.S. Dist. LEXIS 11653, 1993 WL 325910 (D. Mass. 1993).

Opinion

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 (ie., 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 á “/” 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 *227 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 “e”, 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 “Al” (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.

Free access — add to your briefcase to read the full text and ask questions with AI

Related

Cite This Page — Counsel Stack

Bluebook (online)
831 F. Supp. 223, 1993 U.S. Dist. LEXIS 11653, 1993 WL 325910, Counsel Stack Legal Research, https://law.counselstack.com/opinion/lotus-development-corp-v-borland-international-inc-mad-1993.