COMPULIFE SOFTWARE, INC.
v.
RUTSTEIN

S.D. Fla. | 2025-01-10
No. 9:16-CV-80808
District Court, S.D. Florida (2025)

AI-generated. These summaries, headnotes, and key points are machine-generated and may contain errors or omissions. Always verify against the full opinion text below. Not legal advice.


Holding

The court held that the arrangement of HTML source code, where variables were independent and their order did not affect functionality, lacked the minimal creativity required for copyright protection.


Facts & Procedural History

Plaintiff Compulife sued for copyright infringement, alleging defendants copied its HTML source code. After prior appeals, the court was directed to d…

The full statement of facts, procedural history, and disposition for this case are member content.

Join FLexlaw to unlock all legal intelligence

© FLexlaw, Inc. — AI-generated enrichments are proprietary. All rights reserved.


Opinion of the Court

Compulife Software, Inc. ("Compulife”) offers life insurance price quotes. One way for a person to get a quote is to fill out an online form, which triggers Compulife's proprietary database to generate the quote. In computer-ese, that online form is a "dialog box." Compulife's HTML source code causes the dialog box to appear on the user's computer screen. Defendants copied large portions of that HTML source code, stole Compulife's database, and began competing against Compulife.

After two trials and two trips to the Eleventh Circuit, the remaining legal question is whether copying the HTML source code amounted to copyright infringement. More specifically, the Eleventh Circuit has directed me to make findings about whether the arrangement of the HTML source code as a whole has copyright protection. For the following reasons, I conclude that it does not.

I. PROCEDURAL HISTORY

This litigation involves two consolidated cases. The first (Case No. 16-80808) alleged direct copyright infringement (Count I), contributory copyright infringement (Count II), unfair competition under the Lanham Act (Count III), federal theft of trade secrets (Count IV), Florida theft of trade secrets (Count V), violation of the Florida Computer Abuse and Data Recovery Act(“CADRA”) (Count VI), Florida unfair competition (Count VII), and violating the Florida Deceptive and Unfair Trade Practices Act (“FDUTPA”) (Count VIII). The second (Case No. 16-81942) alleged Federal trade secrets theft (Count I), direct copyright infringement (Count II), contributory copyright infringement (Count III), Lanham Act unfair competition (Count IV), Florida trade secret theft (Count V), CADRA (Count VI), and Florida unfair competition (Count VII).

On March 12, 2018, final judgment was entered for Defendants on all claims in both cases. Compulife appealed. The Eleventh Circuit affirmed the judgments on the Lanham Act, FDUTPA, CADRA, and Florida unfair competition claims. Compulife Software Inc. v. Newman, et. al., 959 F. 3d 1288 (11th Cir. 2020) (Compulife

I). It remanded the trade secret and copyright infringement claims for further findings.

After a second trial, final judgment was entered for Compulife on its trade secret claims (Counts IV and V in the '08 case and Counts I and V in the '42 case). Final judgment was entered in favor of Defendants on the direct and contributory copyright infringement claims (Counts I and II in the '08 case and Counts II and III in the '42 case). Both sides appealed the final judgment.

The Eleventh Circuit affirmed the final judgments against Defendants on the trade secret claims; it reversed the judgment on the copyright claims and remanded for further proceedings. 111 F. 4th 1147 (11th Cir. 2024) (Compulife II):

Although the district court considered the selection and arrangement of Compulife's code to some degree, the district court never identified the entire arrangement of these variables in the code as a constituent component of the code. For example, the district court expressly evaluated the arrangement of the birth month, birthday, and birth year variables before filtering. But it didn't look at the arrangement of all the variables together. And, relying on Feist Publications, Inc. v. Rural Telephone Service Co., 499 U.S. 340, 347-48, 111 S.Ct. 1282, 113 L.Ed.2d 358 (1991), the district court recognized that factual compilations, "like the ones performed by Compulife's software in compiling facts to generate a quote” can be protectable. But the arrangement of the code itself can be protectable, not just the results produced by the software. Given that the arrangement of the code may be protectable, we agree with Compulife that the district court should have abstracted the “arrangement” as something to be analyzed at the subsequent filtration step.

Compulife II at 1158.

II. LEGAL PRINCIPLES

A. Mandate Rule

I first acknowledge the limitations imposed by the mandate rule and the law of the case doctrine. As the Eleventh Circuit has explained:

"The mandate rule is a specific application of the law of the case' doctrine which provides that subsequent courts are bound by any findings of fact or conclusions of law made by the court of appeals in a prior appeal of the same case.” Friedman v. Mkt. St. Mortg. Corp., 520 F. 3d 1289, 1294 (11th Cir. 2008) (quotation marks omitted). “The law of the case doctrine and the mandate rule ban courts from revisiting matters decided expressly or by necessary implication in an earlier appeal of the same case.” AIG Baker Sterling Heights, LLC v. Am. Multi- Cinema, Inc., 579 F. 3d 1268, 1270–71 (11th Cir. 2009). It has its greatest force when a case is on remand to the district court. “When an appellate court issues a clear and precise mandate, ... the district court is obligated to follow the instruction. Neither the district court nor any party is free to ignore the law of the case.” Litman v. Mass. Mut. Life Ins. Co., 825 F. 2d 1506, 1516 (11th Cir. 1987). “A district court when acting under an appellate court's mandate, cannot vary it, or examine it for any other purpose than execution; or give any other or further relief; or review it, even for apparent error, upon a matter decided on appeal; or intermeddle with it, further than to settle so much as has been remanded." Id. at 1510–11 (quotation marks omitted).

Winn-Dixie Stores, Inc. v. Dolgencorp, LLC, 881 F. 3d 835, 843 (11th Cir. 2018). These consolidated cases were remanded for the limited purpose of making factual and legal findings about whether the arrangement of the HTML source code is protectable under the federal copyright laws. I therefore will not reopen the record; I will consider only the evidence and arguments presented at trial.

Even if the mandate rule allowed me to reopen the record, I would decline to do so. Both sides had a full opportunity at the trial to develop the facts, to argue their legal positions, and to submit proposed findings of fact and conclusions of law. Neither

side argued on appeal that I erred by excluding any evidence or by limiting legal arguments. Under these circumstances, the interests of justice do not require that the parties be given a “second bite at the apple." Moreover, neither party asked to supplement the record after the mandate issued.

B. Copyright Infringement

To succeed on its copyright infringement claim, Compulife must prove (1) it held a valid copyright in the HTML source code and (2) Defendants factually and legally copied constituent elements of the work that are original. Compulife II at 1156. There is no remaining dispute that Compulife held a valid copyright registration for the HTML source code or that Defendants factually copied portions of that code. Compulife I, 959 F. 3d at 1301-02. It is the law of the case that the individual variables in the HTML source code were not legally copied. As discussed more fully below, some, but not all, of the arrangement of the code was factually copied.

Compulife bears the ultimate burden of proving legal copying. Compulife I at 1301. “Legal’— or‘actionable' copying occurs when 'those elements of the [copyrighted work] that have been copied are protected expression and of such importance to the copied work that the appropriation is actionable." Id. at 1302 (brackets in original) (cleaned up). That is, “the portion of the copyrighted work actually taken [must] satisfy the constitutional requirement of originality.” Bateman v. Mnemonics, Inc., 79 F. 3d 1532, 1542 (11th Cir. 1996) (citing Feist Publications, Inc. v. Rural Tel. Serv. Co., 499 U.S. 340, 345-46 (1991)). And, there must be a

"substantial similarity' between the allegedly offending program and the protectable, original elements of the copyrighted works.” Bateman, 79 F. 3d at 1542.

To decide whether the legal copying of a computer program is actionable, the Court employs a three-step process: (1) abstraction, (2) filtration, and (3) comparison. Bateman, 79 F. 3d 1543-46. For the abstraction step, the Court “break[s] down the allegedly infringed program into its constituent structural parts.” Id. at 1544 (quoting Computer Assocs. Int'l v. Altai, Inc., 982 F. 2d 693, 706 (2d Cir. 1992)) (bracket in original).

For the filtration step, the Court extracts the unprotectable portions of the copyrighted work. “It is at this step that the structural components at each level of abstraction are examined 'to determine whether their particular inclusion at that level was 'idea' or was dictated by considerations of efficiency, so as to be necessarily incidental to that idea; required by factors external to the program itself; or taken from the public domain and hence is nonprotectable expression." Bateman, 79 F. 3d at 1544 (citing Altai, 982 F. 2d at 707) (cleaned up).

At the filtration step, the defendant bears the burden of proving unprotectability; he must identify “the species of unprotectability that he is alleging and [must] present supporting evidence where appropriate.” Compulife I at 1306. The plaintiff then faces “the manageable task of responding to the appropriately narrowed issue." Id. (cleaned up). “That is not to say that the defendant must always introduce evidence in order to enable the district court to filter. The defendant may sometimes

be able to demonstrate by argument alone that an element of a copyrighted work is unprotected.” Id., n.8

As relevant here, there are two ways that the arrangement of information can be unprotected. First, it may not be sufficiently original. Compulife I, 959 F. 3d at 1304. "The sine qua non of copyright is originality." Feist, 499 U.S. at 345. "[C]opyright protection extends only to a work's expressive elements, not to any underlying 'idea, procedure, process, system, method of operation, concept, principle, or discovery' expressed therein." Compulife I at 1304 (citing17 U.S.C. § 102). "Copyright infringement occurs only if one copies protected elements of a copyrighted work; in other words, the portion of the copyrighted work that is copied must 'satisfy the constitutional requirement of originality as set forth in Article I, § 8, cl. 8.” MiTek Holdings, Inc. v. Arce Eng'g Co., 89 F. 3d 1548, 1554 (11th Cir. 1996) (quoting Bateman, 79 F. 3d at 1542).

[O]riginality is not a stringent standard; it does not require that facts be presented in an innovative or surprising way. It is equally true, however, that the selection and arrangement of facts cannot be so mechanical or routine as to require no creativity whatsoever. The standard of originality is low, but it does exist. As this Court has explained, the Constitution mandates some minimal degree of creativity, and an author who claims infringement must prove "the existence of ... intellectual production, of thought, and conception."

Feist, 499 U.S. at 362 (internal citations omitted). For a compilation, there must be “a creatively original selection of facts” to warrant copyright protection. BUC Int'l Corp. v. Int'l Yacht Council Ltd., 489 F. 3d 1129, 1141 (11th Cir. 2007) (emphasis in original).

Second, material may be unprotected based on the merger doctrine because there are too few ways of expressing the relevant idea. Id. And, while the selection and arrangement of information may satisfy the originality requirement in certain circumstances, the merger doctrine precludes a finding of originality where there are “so few ways of expressing an idea.” Id. at 1143.

For the comparison step, the Court compares any remaining (i.e., unfiltered) protectable material to the allegedly infringing work. Where, as here, the copied materials are literal elements of the computer program, the plaintiff has the burden of showing that the two works are “substantially similar."¹ Compulife I at 1302. Substantial similarity has both qualitative and quantitative components. Id. Put simply, a person can copy only a little bit of code, but if that code is qualitatively significant, there is an infringement. Id.

¹ Source code is a “literal element" of a computer program. Compulife I, 959 F. 3d at 1302 n.6. In contrast, nonliteral elements include "the products that are generated by the code's interaction with the computer hardware and operating program(s),' of which 'screen displays and the main menu' are illustrative examples.” Id. (quoting MiTek Holdings, Inc. v. Arce Eng'g Co., 89 F. 3d 1548 (11th Cir. 1996)). A dialog box is a nonliteral element.

III. FINDINGS OF FACT²

A. User Input Form and Parameter Blocks

1. Compulife offers internet-based insurance quotes through its Terms4Sale.com website. ECF No. 309 at 119:14-19.³

2. HTML source code defines how a web page looks to the user. ECF No. 309 at 130:6-12.

3. Chris Bruner wrote the HTML source code for the Terms4Sale.com website by himself. He did not copy any parts of it from anyone else. ECF No. 309 at 120:9-13.

4. Compulife's HTML source code displayed the following dialog box — a fill-in-the-blank form — to the website user:

² Federal Rule of Civil Procedure 52 requires “the court must find the facts specially and state its conclusions of law separately.” Fed. R. Civ. P. 52(a)(1).

³ All citations in this decision are to the filings in Case No. 16-cv-80808.

State California Birthdate Instant Life Insurance Quote June 15 1975 Gender Male O Female O Yes Smoker/Tobacco No Health Class Preferred Plus Type of Insurance 20 Year Level Term Amount of Insurance $500,000 Compare Now Powered by COMPULIFE®

PX 550 (recited as 505 (ECF No. 304-29 at 9).⁴

5. The dialog box was used to "gather[] information from the end user to skip parameters for the [search] engine, things like their age, their sex, smoking status, their health, and various other things.” ECF No. 309 at 121:9-17.

6. The HTML source code then sent the collected information to the search engine, which generated a template showing the user the price quote. Id. at 121:14-

Footnotes
7 10. The table could be formatted using tags such as <td> and <div>. ECF No. 310 at 8:15-19; 131. The <td> tag indicates the beginning of a data element. ECF No. 311 at 70:3-5. ⁵ One Court described comments as “non-executable appendages to lines of executable code." Tradescape.com v. Shivaram, 77 F. Supp. 2d 408, 418 (S.D.N.Y. 1999). 11. Some rows were a static title that was visible to the user, such as “State,” "Birthdate,” and “Gender.” 12. Some rows were designed to obtain information from the user through either a dropdown menu or radio button. The information selected by the user was assigned to a variable.⁶ 13. It might be necessary to have multiple lines of HTML code to generate a visible row in the table. For example, multiple lines of HTML code were needed for each dropdown menu and radio button. 14. A radio button could be added to a row using the <INPUT type="radio"> command. Each radio button had a unique value that, when selected, was assigned to a corresponding variable. For example, the following two lines of HTML code created the radio buttons for whether the user was a smoker: Yes&nbsp;<INPUT type="radio" name=“Smoker” value=“Y”> No&nbsp;<INPUT type="radio” checked name=“Smoker”value=“N”> See PX 542 at 6.⁷ Depending on the user's selection, the parameter “Smoker” was assigned either the value “Y” (for “yes”) or “N” (for “no”). ECF No. 309 at 149:19-150:3. 15. To include a dropdown menu in a row, the “<Select Name>" command was used. Each item in the dropdown menu was associated with a unique value, using the "<Option>" command. When the user selected an item, the unique value for that ⁶ I use the terms “variable” and “parameter” as synonyms in this Order. ⁷ Mr. Bruner testified that "&nbsp" was a formatting code for “non-breaking space.” ECF No. 309 at 146:21-22. selection was assigned to the parameter associated with the "<Select Name>" command. For example, the dropdown menu for the user's state of residence included 56 items. Whichever item the user picked assigned a unique value to the parameter "State" based on the command <Select name = "State">. ECF No. 309 at 146:15-19. 16. The HTML source code contained 11 active variables: State, BirthMonth, Birthday, BirthYear, Sex, Smoker, Health, New Category, ModeUsed, SortOverridel, and FaceValue.⁸ 17. I will use the term “parameter block" to refer to the multiple lines of HTML code necessary to generate a variable's value (the HTML code between each set of <tr> and </tr> tags). For example, the parameter block for the “State” variable comprises approximately 62 lines of HTML code. See PX 542 (ECF No. 295-58) at 2- 3; PX 149 (ECF No. 295-21) at lines 514-571. The parameter block for the "Sex" variable is seven lines long. PX 542 at 6; PX 149 at lines 735-741. 18. The user-defined variables BirthMonth, Birthday, and BirthYear are all generated by the same row bounded by <tr> and </tr>, so they are part of a single parameter block of over 160 lines of code. PX 149 (ECF No. 295-21) at lines 572-734. ⁸ The Compulife HTML source code has a non-functional comment (beginning with <!-- <tr> and ending with <tr> -->) containing a block of code that would have generated the variable “CompRating.” PX 542 at 9. It has a different non-functional comment containing HTML code that would generate a row titled “Payment Option" with a dropdown menu for the variable ModeUsed. PX-542 at 8. Defendants did not copy either of these commented parameter blocks. 19. The Compulife HTML source code also contained two variables: ModeUsed and SortOverridel, which had fixed, preset values that could not be changed by the user. PX 149 at lines 507-08; PX 542 at 8; ECF No. 309 at 181:12-17. 20. The ModeUsed and SortOverridel variables did not require user input, so they were not assigned to a row in the table (that is, they are not within a code block bounded by <tr> and </tr> tags). Nevertheless, I will treat them each as a parameter block because Compulife argues they are a constituent component of the HTML source code. Compulife Appellate Brief, 2022 WL 13821778 at *10-11. 21. The Compulife HTML source code had the following nine (9) sequential parameter blocks (PX 542): | Row Title | Selection Options
17 7. Within the HTML environment, the dialog box was a table with multiple rows. ECF No. 310 at 130-131. In HTML programming language, the tag <tr> stands ⁴ "PX" refers to Plaintiffs Exhibits, which are docketed at ECF Nos. 295 and 304. Defendants' Exhibits (“DX”) are docketed at ECF No. 298. for "table row." Id. at 131. It starts a new row in the table. The end of each row was coded with the tag </tr>. ECF No. 311 at 70:9-11. 8. The HTML source code included mandatory programming commands necessary to generate the form. ECF Nos. 310 at 145:15-146:8; 311 at 4-6. 9. The Compulife HTML source code also included comments, which are non-functional portions of the program.⁵ Each comment began with the "<!--" tag and ended with the "-->" tag. https://web.mit.edu/thecity/resources/html_cheat.html (last visited Dec. 12, 2024). For example, beginning on the first page of PX 542 (ECF No. 295-58), the program contains a block of code beginning with “<!-- Select a Template File For Your Results” followed by an explanation of the options and how they must be formatted. The block ends on the next page with the line TEMPLATE_MORE_INFO.HTM -->." PX 542 at 1-2. Similarly, before the code block for the NewCategory parameter, there is a commented discussion about how that parameter works, including how to allow the user to select multiple categories. Id. at

Cases With Similar Vibessemantic neighbors from the corpus


Citator

Authorities Cited (11 total)

View all 11 cited authorities →

Full citator, related cases, and AI research tools

Open in FLexlaw