From Casetext: Smarter Legal Research

Oracle U.S. Inc. v. Rimini St. Inc.

United States District Court, District of Nevada
Jan 12, 2022
2:10-cv-00106-LRH-VCF (D. Nev. Jan. 12, 2022)

Opinion

2:10-cv-00106-LRH-VCF

01-12-2022

ORACLE USA, INC.; a Colorado corporation; ORACLE AMERICA, INC.; a Delaware corporation; and ORACLE INTERNATINAL CORPORATION, a California corporation, Plaintiffs, v. RIMINI STREET, INC., a Nevada corporation; and SETH RAVIN, an individual, Defendants.


FINDINGS OF FACT, CONCLUSIONS OF LAW AND ORDER

LARRY R. HICKS UNITED STATES DISTRICT JUDGE

On March 31, 2021, the Court ordered Rimini Street, Inc. (“Rimini”) to show cause why it should not be held in contempt for violating the Permanent Injunction in this action and ordered an evidentiary hearing on several discrete issues. ECF No. 1459. Rimini filed its response (ECF No. 1467), Oracle USA, Inc., Oracle America, Inc., and Oracle International Corporation (collectively “Oracle”) replied (ECF No. 1472); and Rimini sur-replied (ECF No. 1478). A sevenday hearing was then held commencing on September 20, 2021. See ECF Nos. 1520, 1522, 1523, 1524, 1525, 1526, & 1529. In accordance with the Court's orders, the parties filed proposed findings of fact and conclusions of law on October 19, 2021. ECF Nos. 1544 & 1545. Having reviewed the record before it, the Court now finds that Rimini has, in part, violated the Permanent Injunction and that it should be held in contempt for those violations; conversely, the Order to Show Cause is discharged in part, in accordance with this Order. The Court orders sanctions against Rimini for its conduct in the manner described herein.

The Court initially held that Rimini violated the Permanent Injunction as to two additional discrete updates (related to Campbell Soup and City of Eugene), but on reconsideration, struck those portions of the Order as the conduct occurred prior to the Permanent Injunction going into effect. See ECF No. 1476.

I. BACKGROUND

This action has an extensive 11-year history that includes two causes of action. In brief and relevant part, Oracle develops, manufactures, and licenses computer software, particularly Enterprise Software Programs. Oracle also provides after-license software support services to customers who license its copyrighted software. Rimini is a company that provides similar afterlicense software support services to customers licensing Oracle's copyrighted software and directly competes to provide those services. Seth Ravin is the CEO of Rimini.

Oracle first sued Rimini in 2010, alleging that Rimini infringed several of Oracle's copyrights when it, inter alia, used work that it completed for one client for the benefit of other clients. Following the filing of dispositive motions, the Court granted summary judgment in favor of Oracle on some of its copyright infringement claims. Of importance to these proceedings was the Court's finding that Rimini violated the “facilities restriction” within PeopleSoft's standard licensing agreement when it hosted its clients' development environments on its own computer systems, a process called “local hosting.” ECF No. 474; Oracle USA, Inc. v. Rimini St., Inc., 6 F.Supp.3d 1086, 1096-98 (D. Nev. 2014) (“Oracle USA”). The Court further held that Rimini was infringing on Oracle's copyrights for Oracle Database when it downloaded many copies of the software off Oracle's network and failed to adhere to the Developer License. ECF No. 476; Oracle USA, Inc. v. Rimini St., Inc., 6 F.Supp.3d 1108, 1115-20 (D. Nev. 2014). Later, after a month-long jury trial, the jury found in favor of Oracle on other copyright infringement claims related to Oracle's J.D. Edwards and Siebel software.

On appeal, the Ninth Circuit affirmed both this Court's grant of summary judgment and all of the jury's verdict on infringement violations under the Copyright Act, only reversing regarding violations of the California Computer Data Access and Fraud Act (“CDAFA”) and the Nevada Computer Crimes Law (“NCCL”). Oracle USA, Inc. v. Rimini St., Inc., 879 F.3d 948, 962 (9th Cir. 2018) (“Rimini I”). Given its rulings, the Ninth Circuit vacated this Court's permanent injunction and remanded the case to determine whether a permanent injunction was warranted based solely on Rimini's copyright infringement. Id. at 964.

The Ninth Circuit upheld the jury's $35.6 million judgment against Rimini for its infringement and the Court's award of approximately $22.4 million in prejudgment interest against Rimini, while reversing the jury's $14.4 million award associated with the state law computer access claims. Rimini I, 879 F.3d at 953, 962-64.

The Ninth Circuit also upheld this Court's decision to grant Oracle the “full costs” of the litigation, which included expert witness fees, e-discovery expenses, and jury consultant fees. Id. at 965-66. The Supreme Court granted certiorari on this issue, subsequently reversed the Ninth Circuit and held that the Copyright Act only allows a district court to authorize awards for litigation expenses expressly listed in the costs statute. Rimini Street, Inc. v. Oracle USA, Inc., 139 S.Ct. 873, 876 (2019).

On August 14, 2018, this Court granted Oracle's renewed motion for a permanent injunction, which enjoins Rimini from continuing to infringe on Oracle's copyrighted software. ECF No. 1164; Oracle USA, Inc. v. Rimini St., Inc., 324 F.Supp.3d 1157, 1167 (D. Nev. 2018). In relevant part, the Permanent Injunction provides:

a. Rimini Street shall not reproduce, prepare derivative works from, or distribute PeopleSoft, J.D. Edwards, or Siebel software or documentation unless solely in connection with work for a specific customer that holds a valid, written license agreement for the particular PeopleSoft, J.D. Edwards, or Siebel software and documentation authorizing Rimini Street's specific conduct;
...
PeopleSoft
3. Rimini Street shall not distribute PeopleSoft software or documentation or any derivative works created from or with PeopleSoft software or documentation;
4. Rimini Street shall not reproduce, prepare derivative works from, or use a specific licensee's PeopleSoft software or documentation other than to support the specific licensee's own internal data processing operations;
5. Rimini Street shall not reproduce, prepare derivative works from, or use PeopleSoft software or documentation on, with, or to any computer systems other than a specific licensee's own computer systems;
6. Rimini Street shall not reproduce, prepare derivative works from, or use PeopleSoft software or documentation on one licensee's computer systems to support, troubleshoot, or perform development or testing for any other licensee, including specifically, that Rimini Street shall not use a specific licensee's PeopleSoft environment to develop or test software updates or modifications for the benefit of any other licensee[.]
J.D. Edwards
7. Rimini Street shall not distribute J.D. Edwards software or documentation or any derivative works created from or within J.D. Edwards software or documentation;
8. Rimini Street shall not copy J.D. Edwards software source code to carry out development and testing of software updates;
10. Rimini Street shall not reproduce, prepare derivative works from, or use J.D. Edwards software or documentation on one licensee's computer systems to support, troubleshoot, or perform development or testing for any other licensee, including, specifically, that Rimini Street shall not use a specific licensee's J.D. Edwards environment to develop or test software updates or modifications for the benefit of any other licensee;
...
Oracle Database
15. Rimini Street shall not reproduce, prepare derivative works from, or distribute Oracle Database software.
ECF No. 1166 (modified per the Ninth Circuit's order).

In granting the Permanent Injunction, the Court noted that the balance of the hardships weighed in favor of its issuance because Oracle was seeking to enjoin only acts that had already been determined unlawful and that had been affirmed on appeal. ECF No. 1164 at 9. The Ninth Circuit affirmed this Permanent Injunction, except instructing the Court to strike paragraphs nine and thirteen and the words “or access” in paragraphs eight and twelve. ECF No. 1236; Oracle USA, Inc. v. Rimini St., Inc., 783 F. App'x. 707, 710-11 (9th Cir. 2019) (unpublished) (“The injunction enjoins ‘local hosting' as to PeopleSoft, J.D. Edwards, and Siebel. But only the PeopleSoft license limits the licensee to using the licensed Software ‘at its facilities ....' (emphasis added), which is the basis for the local hosting requirement.... ‘Accessing' a copyrighted work is not an infringing activity under the Copyright Act.”).

Denying cert., 140 S.Ct. 850 (Jan. 13, 2020) (Mem).

On April 4, 2019, the Court granted Oracle's motion to reopen discovery to determine if Rimini had been complying with the Permanent Injunction. ECF Nos. 1199; 1215; 1218. The parties engaged in discovery for approximately a year and a half. ECF No. 1354. Following the close of discovery, Oracle filed its motion for an order to show cause why Rimini should not be held in contempt for violating the Permanent Injunction. Based on extensive briefing by the parties, the Court issued an Order to Show Cause on 10 discrete issues and held a seven-day bench trial on those issues; the Court's order on which now follows. ECF Nos. 1459; 1520; 1522; 1523; 1524; 1525; 1526; & 1529.

II. LEGAL STANDARD

Pursuant to Title 18, United States Code, Section 401, a federal court may hold any party in civil contempt for failing to comply with or violating a court order. 18 U.S.C. § 401(3). In the Ninth Circuit, a party fails to comply with a court order if they fail “to take all reasonable steps within the party's power to comply.” United States v. DAS Corp., 18 F.4th 1032, 1039 (9th Cir. 2021) (quoting In re Dual-Deck Video Cassette Recorder Antitrust Litig., 10 F.3d 693, 695 (9th Cir. 1993) (“In re Dual-Deck”)). To support a judgment of contempt, a district court must find, based on clear and convincing evidence, that (1) the party violated a specific and definite court order; (2) the violation did not constitute “substantial compliance” with the order; and (3) the violation was not based on a good faith and reasonable interpretation of the order. In re Dual-Deck, 10 F.3d at 695; see also FTC v. Affordable Media, 179 F.3d 1228, 1239 (9th Cir. 1999); United States v. Bright, 596 F.3d 683, 694 (9th Cir. 2010). A party's substantial compliance with a court order cannot be “vitiated by a few technical violations where every reasonable effort has been made to comply.” In re Dual-Deck, 10 F.3d at 695 (quotation omitted). Nor does a party's failure to comply need to be intentional or willful to support a finding of contempt. In re Crystal Palace Gambling Hall, Inc., 817 F.2d 1361, 1365 (9th Cir. 1987). To satisfy the clear and convincing standard, the moving party must provide “evidence sufficient to reasonably satisfy [the court] that it is highly probable the ultimate fact at issue happened.” United States v. Century Clinic, Inc., 75 F.Supp.2d 1127, 1134-35 (D. Nev. 1998).

III. FACTS STIPULATED TO BY THE PARTIES

The parties stipulated to the following facts in their Joint Pre-Hearing Order. See ECF No. 1503; ECF No. 1484 at 22-24; ECF No. 1486-s (the Court designates sealed documents referenced within this order with a “-s” and will refer to confidential material where the interest of justice demands it).

1. Plaintiff Oracle America, Inc. (“Oracle America”) is a Delaware corporation. At the time of the events at issue in this hearing, Oracle America had its principal place of business in Redwood City, California. Currently, Oracle America has its principal place of business in Austin, Texas.

2. Oracle America is the successor in interest to Oracle USA and PeopleSoft USA, Inc., as well as a successor in interest to certain PeopleSoft and J.D. Edwards entities.

3. Intellectual property rights formerly held by certain PeopleSoft and J.D. Edwards entities were transferred to Oracle International Corporation (“OIC”) as part of the acquisitions of PeopleSoft and J.D. Edwards by Oracle.

4. Oracle's PeopleSoft and J.D. Edwards product lines are Enterprise Resource Planning (“ERP”) software. At a high level of generality, ERP software helps companies perform complex tasks such as human resource functions, payroll, taxes, and customer relationship management.

5. Unlike off-the-shelf consumer software used by individuals, Oracle Software is used by organizations, and can be modified and customized by the organizations for their own business purposes.

6. Software support is often necessary for ERP software, particularly software relating to payroll or human resources functions, because it must be frequently updated to work properly.

7. As tax laws and other laws and regulations change, Oracle's PeopleSoft and J.D. Edwards software generally must be updated to account for the change. For example, if a payroll tax rate changes, the software must be updated to reflect the new rate.

8. A common feature of ERP software, including Oracle's PeopleSoft and J.D. Edwards software, is that a licensee can modify and customize the software for the licensee's own business purposes, subject to the terms of an applicable license.

9. In addition to the license to the underlying software, Oracle also enters into separate support contracts with its customers, which entitle them to receive, for an annual maintenance fee, software upgrades (including new versions of the software) and software support, including fixes, patches, and updates typically made available for download from Oracle's password-protected websites.

10. Rimini is a Delaware corporation founded in 2005, with its headquarters in Nevada.

11. Rimini provides software support services to licensees of ERP software, including licensees of Oracle's PeopleSoft and J.D. Edwards software.

12. Rimini offers updates and fixes to its clients for PeopleSoft and J.D. Edwards software as part of its support services for those product lines.

13. The Court entered the Permanent Injunction on August 15, 2018.

14. On August 16, 2018, Rimini filed an Emergency Motion to Stay Enforcement of the Permanent Injunction. On September 11, 2018, the Court temporarily stayed the Permanent Injunction for a period of up to sixty days to allow Rimini to seek a stay pending appeal from the Ninth Circuit. The Ninth Circuit denied Rimini's motion to stay the Permanent Injunction pending appeal on November 5, 2018.

15. The Permanent Injunction went into effect on November 5, 2018.

16. Rimini's PeopleSoft and J.D. Edwards clients related to the alleged injunction violations to be adjudicated at the evidentiary hearing entered into written license agreements with Oracle that granted these clients certain license rights to use Oracle's PeopleSoft and J.D. Edwards software.

17. Development environments are distinct from a production environment, which is the version of the software that members of the enterprise ultimately employ.

18. Rockefeller Group International became a Rimini client on or about December 21, 2018.

19. Home Shopping Network became a Rimini client on or about March 29, 2019.

IV. DISPUTED ISSUES

A. Issue 1: PeopleSoft Files Found on Rimini Systems

i. Findings of Fact

R.R. Donnelley & Sons:

1. On January 22, 2019, Rimini client R.R. Donnelley & Sons opened a case with Rimini: “We're getting an error message with paycheck modeler functionality. It was working fine before applying RS18P05 tax updates and we had compiled cobols as part of P05 updates. Please find attached the error message screen shot, same error occurs in both self service, admin pay check modeler page.” OREX_0013 at 2.

2. On January 23, 2019, Rimini engineer Venugopal Nabhi, responded stating: “I have taken over the case from Anil because one of my clients reported exactly the same issue. I will have Product Delivery add this case also to the fix they are working on.” OREX_0013 at 3.

3. On March 21, 2019, Jim Benge, Rimini's Vice President of PeopleSoft Development, emailed R.R. Donnelley & Sons: “To address this case, Individual Update HCM200417 has been posted to the C:\RiminiStreetUpdates folder on your machine named CWDAXD-HRTXUPD1.” OREX_0013 at 7.

4. The case was not resolved and on March 27, 2019, R.R. Donnelley & Sons emailed: “I am finding the psptaxdt.dms that Rimini delivered to fix this issue is a old version which is missing the 02/26/2019 RSI-HCM200347 updates[.] So I think that we do not need to apply this one or run this dms[.] I was able to fix the paycheck modeller issue in PSHRK without applying this dms, I applied everything else. The attached psptaxdt.dms is the current version in our production[.] Below is a screenshot LHS (prod version) RHS delivered as part of this fix.” OREX_0013 at 8; DTX-111-001.

5. In response, Rimini engineer Venugopal Nabhi emailed: “I can see only one DMS script (psptaxdt) that you have attached and it has a change log that reads as ‘09/05/2018 RSI-HCM200069'. I am not able to see any LHS or RHS screenshots that you have mentioned about. Can you please clarify? I will check with Product Delivery once I have your inputs. Further, what is PSHRK environment?” OREX_0013 at 9.

6. R.R. Donnelley & Sons responded: “I have attached the screenshot of the patch psptaxdt.dms (RHS) and our prod version (LHS)[.] Our current prod version of psptaxdt.dms is also attached. We would like to confirm if the prod version is the latest version of psptaxdt.dms inclusive of the changes in this paycheck modeller patch[.] In that case we do not need to apply the Paychek [sic] modeller patch psptaxdt.dms version.” OREX_0013 at 9-10.

7. From this email exchange, the Court finds that R.R. Donnelley & Sons sent the Oracle copyrighted PeopleSoft file, psptaxdt.dms, to Rimini. By receiving this copyrighted material, Rimini therefore had PeopleSoft copyrighted material on its systems.

8. In order to respond to R.R. Donnelley & Sons, Rimini engineer Venugopal Nabhi reviewed the prohibited attached file, responding to the client: “The LHS version has a time stamp of Feb 2019, so certainly that is the latest. But I will check with Product Delivery as to why they provided the fix in an earlier version. I guess they provided the fix to other clients in the older version, but as they were having issues with your environment, they could not deliver the fix [un]till recently. In the meantime, another version seems to have been rolled out.” OREX_0013 at 10. When Venugopal Nabhi reviewed the file, further copies of the prohibited file were created on Rimini systems.

9. On April 15, 2019, R.R. Donnelley & Sons wrote that the case could be closed, and that the paycheck modeler issue had been resolved. OREX_0013 at 12.

10. Nowhere during this exchange between Rimini engineers and R.R. Donnelley & Sons did Rimini email or otherwise inform R.R. Donnelley & Sons not to send Oracle files to Rimini. See OREX_0013; ECF No. 1538 at 222.

11. The Court finds that the record does not support a finding that this prohibited document was ever reported to Rimini's security or compliance department even though, under Rimini's own Acceptable Use Policy, it should have been. ECF No. 1538 at 222.

Rimini adopted an Acceptable Use Policy (“AUP”), which prohibits storing Oracle's software, files, code, or any other intellectual property on its systems. ECF No. 1537 at 179; OREX_0017.

12. The Court finds, and the parties agree, that this was a violation of Rimini's Acceptable Use Policy. ECF No. 1538 at 220 (“We should not have Oracle files on our system, and this was a case where the client clearly sent us one file that contained stored procedures for a program.”).

13. Rimini employees did not immediately quarantine the prohibited file. ECF No. 1538 at 222-23. The file was ultimately quarantined, by at least August 28, 2019, approximately five months after the offending conduct. ECF No. 1542 at 120; OREX_0013 at 8.

A The compliance department would handle that. If it was reported, it would be quarantined. Q And, to your knowledge, this wasn't reported. A Not to my knowledge. Q The - and you're not aware that this file was quarantined in any respect, are you?

Rimini Senior Vice-President of Global Support, Craig Mackereth testified that he could tell the file had been quarantined because the case was last modified by Maurya Priyadarshi, a member of the IT Sales Force Administration Team, who would have no reason to modify the files as she is not a member of the support team. See OREX_0013 at 8; ECF No. 1542 at 120 (“When information is flagged through one of our processes that it's potentially third-party intellectual property, the IT team will intervene and quarantine these files which has happened here.”).

G-6 Hospitality:

14. On November 27, 2018, G-6 Hospitality emailed Rimini to inquire if there was anything needed of them. Rimini responded asking, in part, if the “PUM 28 documentation” was on the “shared file.” DTX_0100-005. “PUM” means “product update documentation” and “shared file” means the “shared location on the Dev and QA machine where [Rimini] can remotely access it over the internet.” ECF No. 1538 at 98.

15. G-6 Hospitality responded to this email by attaching the “image 28 documentation” to the SalesForce email. DTX_0100-004. When Rimini received this email with the associated attachments, it resulted in copies of Oracle's copyrighted PeopleSoft materials being made on Rimini's systems.

16. Upon receiving this information, Rimini employee Kelly Day emailed G-6 Hospitality to inform them that Rimini did not have the “means” to copy the documentation to the Rimini workstation and asked for G-6 Hospitality to place the file on “S-DAL01-RIMIW71.” DTX-100-002-003.

17. On that same day, Rimini Onboarding Account Manager Barbara MacEachern emailed G-6 Hospitality asking for the “Functional user documentation.” DTX-0100-002. These documents are PeopleSoft files that describe the “last tax update” G-6 Hospitality received from Oracle before joining Rimini. ECF No. 1538 at 96-97.

18. G-6 Hospitality again responded by attaching the documents related to “Payroll for image 28” to the SalesForce email. DTX-0100-001. When Rimini received this email with the associated attachments, it resulted in copies of Oracle's copyrighted PeopleSoft materials being made on Rimini's systems.

“Image 28” documentation and “PUM 28” documentation are the same thing. ECF No. 1538 at 100.

19. Upon receiving this second attachment, Rimini Onboarding Account Manager Barbara MacEachern forwarded the G-6 Hospitality email, containing eight file attachments, to Rimini employees Shelley Blackmarr and Jim Benge, with the text: “We seem to have a problem getting the client to place these on the shared file. The main Contact Ravi is on vacation.” DTX-0100-001. When Barbara MacEachern forwarded the email with the associated attachments, it resulted in copies of Oracle's copyrighted PeopleSoft materials being made on Rimini's systems.

20. The email chain and the attachments sent to Rimini occurred during G-6 Hospitality's “onboarding process”; (the period of time when the new client has signed on for Rimini support and Rimini is establishing environments, setting up remote connectivity, and understanding “where the client left off support from Oracle” so that Rimini does not overlap updates). ECF No. 1538 at 97-98.

21. The Court finds, and Rimini agrees, that the forwarding of these Oracle documents was a violation of Rimini's Acceptable Use Policy. ECF No. 1538 at 100, 217.

22. Other than Kelly Day's email to G-6 Hospitality indicating that Rimini did not have the “means” to copy the files to Rimini workstations, the record does not support that Rimini employees emailed or otherwise informed G-6 Hospitality during this email exchange not to send Oracle files to Rimini.

23. This violation of Rimini's Acceptable Use Policy was not sent to Rimini's security or the compliance department, even though under the policy, it should have been. ECF No. 1538 at 100, 102, 216-17.

24. Jim Benge, a Rimini employee copied on the prohibited email, was disciplined with a formal warning for failing to report that he had “been copied on something that contained Oracle files.” ECF No. 1538 at 100-01. While the email occurred in November 2018, the warning comprising his discipline did not occur until 2020. ECF No. 1538 at 216. Rimini provided no documentation that Jim Benge was given a formal warning, nor did it present any documentation regarding the supposed investigation into the misconduct.

Jim Benge testified that he believes Barbara MacEachern was also disciplined for this incident and her consequences were more severe due to her conduct of forwarding the email; however, no documentation was provided to support this testimony and Ms. MacEachern did not testify. ECF No. 1538 at 101, 216.

25. Nothing in the record supports a finding that Rimini quarantined the prohibited files once they were on Rimini's systems.

While Rimini Vice President Craig Mackereth testified that there is a procedure for automatically informing Rimini security of a potential violation, he did not specifically discuss that this occurred with the documents sent to Rimini, nor was any evidence presented to support a finding that Rimini engineers used the “check-box” functionality in SalesForce to automatically inform the security or compliance departments and quarantine the prohibited files. See ECF No. 1542 at 112-13.

Texas Children's Hospital:

26. On January 18, 2019, Texas Children's Hospital emailed Thomas Glazer, a Senior Global Client Environments Engineer at Rimini, attaching the “18-E release notes.” DTX-0110-005.

27. Thomas Glazer responded: “Awesome, thanks Eric. We'll check it out. . . ”. DTX-110-005.

28. These files contained Oracle PeopleSoft copyrighted material and when Rimini received the files, a copy was created on Rimini's systems. OREX_0094; ECF No. 1535 at 153, 156.

29. The record does not support a finding that these prohibited files were quarantined.Rather, the metadata for file “2019 U.S. Tax Table Updates.docx” (OREX_0096) shows that it was moved to folder “Rimini Street/User Share/Thomas Glazer/TCH” on Rimini systems on November 30, 2019, approximately 10 months after it was received. OREX_0097 at 1. This conduct resulted in additional copies of the prohibited files on Rimini's systems. ECF No. 1535 at 156.

See note 11.

This file was discussed during the hearing in relation to the G-6 Hospitality files. See ECF No. 1538 at 218-19. However, from the metadata, it appears that this file is associated with “18-E” notices in relation to the Texas Children's Hospital files. OREX_0096; OREX_0097. Accordingly, the Court considers it as such.

30. During discovery, Oracle located these files on Rimini's ShareFile on its systems. ECF No. 1535 at 154.

31. From the email exchange in evidence, the record does not support that Rimini employees emailed or otherwise informed Texas Children's Hospital not to send Rimini Oracle files.

Additional Instances : Evergreen

The Court previously held that while the Court would not expand its previous ruling to add additional contempt violations (beyond those related to R.R. Donnelley & Sons, G-6 Hospitality, and Texas Children's Hospital), the Court would consider additional violations to determine if Rimini is substantially complying with the Permanent Injunction and Rimini's diligence and good faith efforts to comply in assessing sanctions. See ECF No. 1503 at 4-5.

32. On May 16, 2019, Rimini PeopleSoft Environments Engineer Manjula Hosalli emailed client Evergreen asking them to compile certain COBOL files. OREX_0100 at 5.

33. Evergreen is a Rimini client, and it uses another third-party company, SpearMC, to provide additional support. ECF No. 1542 at 106, 108.

When Rimini emailed Evergreen, it was communicating with SpearMC, acting on behalf of Evergreen. SpearMC is an “AMS provider” that is part of Oracle's “partner network.” ECF No. 1542 at 106-08.

34. Evergreen responded that it received an error message and sent Manjula Hosalli a screenshot of the message. OREX_0100 at 3-4.

35. Manjula Hosalli requested that Evergreen place the “PSPTCALC.lis” file somewhere in server 10.2.251.108 and share the location with Rimini so that an engineer could investigate the error. OREX_0100 at 3.

36. Evergreen then attached the file and sent it to Manjula Hosalli. OREX_0100 at 1.

This file contained Oracle PeopleSoft copyrighted material and when Rimini received the file and opened it, a copy was created on Rimini's systems. OREX_0099; ECF No. 1535 at 170-71.

37. On May 24, 2019, Rimini Lead Developer Syed Abdul Khari emailed that the issue with the file had been fixed and shared the location of the updated files. OREX_0100 at 1. From this exchange, the Court finds that Rimini used the prohibited file to fix Evergreen's problem which resulted in additional copies of the prohibited document being made on Rimini's systems.

38. From the email exchange in evidence, the record does not support that Rimini employees emailed or otherwise informed Evergreen not to send Oracle files to Rimini.

39. Nothing in the record supports a finding that the prohibited COBOL file was quarantined. See ECF No. 1542 at 189 (“There is nothing here that tells me how the document was treated once it was received by Rimini Street.”).

See note 11.

40. The Court finds, and the parties agree, that this was a violation of Rimini's Acceptable Use Policy. ECF No. 1538 at 224.

Additional Instances: Guest Services, Inc.

41. On January 2, 2019, Rimini client Guest Services, Inc. uploaded PeopleSoft file “GETTXDTA.sqc” to the Rimini SalesForce system. OREX_0103 at 4; ECF No. 1535 at 172-74. This filed contained Oracle copyrighted material, and when it was uploaded to SalesForce, a copy of the prohibited file was created on Rimini's systems. ECF No. 1535 at 174-78. Nothing in the record supports a finding this prohibited file was quarantined. See ECF No. 1535 at 178.

42. Less than a month later, on January 28, 2019, Guest Services, Inc. uploaded another PeopleSoft file, “getstdta.sqc.txt, ” to the SalesForce system. OREX_0104 at 1. This file contained Oracle copyrighted material, and when it was uploaded to SalesForce, a copy of the prohibited file was created on Rimini's systems. ECF No. 1535 at 180. Nothing in the record supports a finding that this prohibited file was quarantined. See ECF No. 1535 at 184.

43. The record does not support a finding that Rimini instructed Guest Services, Inc. not to send Rimini such prohibited files. ECF No. 1535 at 178, 183-84.

Additional Instances: University of Oklahoma Health Sciences Center

44. On February 13, 2019, Rimini client University of Oklahoma Health Sciences Center (“OHS”), opened a case due to error with their new W2c tax update. OREX_0105 at 1.

45. On February 26, 2019, Rimini employee Jai Ramachandran asked OHS to provide Rimini with the “last modified date for the 3 SQRs.” OREX_0105 at 11. OHS responded by sending 4 files-"tax920.txt, ” “tax921us.txt, ” “tax922us.txt, ” and “tax923us.txt”-to Rimini as attachments in the SalesForce system. OREX_0105 at 6, 11-13. These documents contained Oracle copyrighted material. ECF No. 1535 at 187-90, 196-98.

46. From this email exchange, the Court finds that Rimini employee Jai Ramachandran must have at least looked at these four attached files (even if he did not download the files to his PC) in order to provide OHS guidance, again creating copies of the prohibited files on Rimini's systems. OREX_0105 at 13; ECF No. 1535 at 200.

Jai Ramachandran only indicates that “I cannot use the attached SQR as I am not allowed to download the SQR to my PC due to copy right restrictions.” OREX_0105 at 15.

47. Jai Ramachandran then proceeded to request OHS to “upload a dump of the PS_RC_TAX920 as it is now.” OREX_0105 at 13. In response, OHS uploaded the “PS_RS_TAX920USTexport.xlsx” table. OREX_0105 at 13-14. This file contained Oracle copyrighted material and when Rimini received the file, copies were created on Rimini systems.

48. On March 26, 2019, OHS sent file “Case 00164037 W2c Reprint - fix.docx” to Rimini via the SalesForce system. OREX0105 at 18. This file contained Oracle copyrighted material and when Rimini received the file, copies were created on Rimini systems.

49. During this approximately month-long exchange, the record does not support a finding that Rimini employees emailed or otherwise informed OHS not to send Rimini Oracle files. To the contrary, the exchange shows Rimini engineers soliciting such materials and not asking the client to place the requested documents in a remote access shared file.

50. The record does not support a finding that Rimini employees immediately quarantined any of the prohibited files. The files were ultimately quarantined by at least August 23, 2019. ECF No. 1542 at 115-18; OREX_0105.

See note 11.

Substantial Compliance:

51. Following the Court's July 2014 Summary Judgment Order, Rimini changed its PeopleSoft support practice to what it calls “Process 2.0.” As Process 2.0 is the subject of Oracle v. Rimini, 14-cv-1699-LRH-DJA (“Rimini II”), the Court makes no further findings on the topic.

52. Rimini has taken the following steps in an attempt to ensure third-party intellectual property is not on its systems:

a. When a new client begins support with Rimini (the “onboarding process”), clients are provided guidance on Rimini's controls to protect third-party intellectual property and client confidentiality. ECF No. 1542 at 93-94.
b. Rimini uses a program called SalesForce to communicate with clients; the client side of program is called “Street Central Portal” and the client uses this system to log cases and open tickets for support. ECF No. 1542 at 98-99.
c. In this system, before a client can submit a case or upload documentation, a warning is displayed:
Important Information: Please do not upload any third party software (for example, code contained in either documentation, trace files or screen shots), or any other third party intellectual property or confidential data to this client portal or send such information to Rimini Street via email, unless Rimini Street has demonstrated authorization for Rimini Street to possess a copy of such material. Additionally, Rimini Street does not recommend clients upload their confidential production data (for example, personally identifiable information) on this client portal or send such data via any mechanism to Rimini Street, however, if you choose to so upload or send such data you are authorizing Rimini Street to have access and use such data for the purpose of resolution of your particular request for support. All access to your supported products will be via the Remote Access established during your onboarding process.
ECF No. 1538 at 222; ECF No. 1542 at 95-96, 101; DTX-0040-014; DTX-0008-002; DTX-0041 (produced in native form).
d. During onboarding, Rimini gives new clients the “Support Engagement Call” presentation which shows clients how to “log a case” and the “Important” notice not to upload third-party software or intellectual property. DTX-0040-014; DTX-0040-021; ECF No. 1542 at 94-96, 98, 102.
e. During onboarding, Rimini gives new clients the “Remote Access Working Session” presentation which shows clients the “Important” notice language not to upload third-party software or intellectual property. DTX-0031-021; ECF No. 5142 at 96-97.
f. Rimini employees complete training on the company's Acceptable Use Policy every six to twelve months. ECF No. 1542 at 93. This training includes watching a video, reviewing documentation, and then signing certifying that they have done so. ECF No. 1538 at 107-08; ECF No. 1542 at 93.
g. In approximately September 2020 (after these violations occurred), Rimini began using a SalesForce “plug-in” called “KONA” to scan materials coming in from
clients via the SalesForce/Street Central Portal communication system. ECF No. 1542 at 120-24. KONA quarantines any improper files and flags it, so it is not available for the team to work with. ECF No. 1542 at 124.
h. Rimini's compliance department has a process for scanning its own systems for third-party intellectual property; this includes scanning network locations, engineer laptops, and anywhere files can be stored, including the contents of .zip files. ECF No. 1542 at 120-21.
i. Rimini's SalesForce system has a function that allows employees to check a box when potentially prohibited material is uploaded or sent to them, automatically informing the Rimini security and/or compliance departments and quarantining the prohibited files. ECF No. 1542 at 112-13.

Rimini Vice President Craig Mackereth testified that the KONA plug-in was implemented in part because it was a common situation to have clients uploading prohibited third-party intellectual property to the system. ECF No. 1542 at 123-24.

ii. Conclusions of Law

1. The Court previously held by clear and convincing evidence (and it is even more clear from the recent hearing), that in the three circumstances related to R.R. Donnelley & Sons, G-6 Hospitality, and Texas Children's Hospital, Rimini had prohibited Oracle copyrighted content on its systems. ECF No. 1459 at 22-23.

2. To do so was a clear violation of Paragraph 5 of the operative Permanent Injunction: “Rimini Street shall not reproduce, prepare derivative works from, or use PeopleSoft software or documentation on, with, or to any computer systems other than a specific licensee's own computer systems.” ECF No. 1166 ¶ 5.

3. Initially, Rimini's conduct in these three instances was not willful-the prohibited material was sent to Rimini by clients, either unsolicited (R.R. Donnelley & Sons and Texas Children's Hospital) or against instructions that the material be placed in a shared folder (G-6 Hospitality). As to G-6 Hospitality and Texas Children's Hospital, the Court finds that Rimini's conduct became willful when it forwarded the prohibited materials to other Rimini employees and saved the prohibited materials to a share drive on Rimini's systems, respectively. While the Court finds that Rimini's additional conduct as to R.R. Donnelley and Sons was not willful, “[t]he absence of willfulness does not relieve from civil contempt.” McComb v. Jacksonville Paper Co., 336 U.S. 187, 191 (1949).

4. The Court finds based on the evidence presented that the three violations do not show “substantial compliance” with the Court's Order. Rimini clients frequently attached prohibited materials to SalesForce. Even with such great instances, Rimini employees never clearly articulated to clients that they were prohibited from sending such material to Rimini. In only two instances did Rimini employees even marginally articulate their responsibilities under the Permanent Injunction to keep Oracle copyrighted material off its systems. Once the prohibited materials were on Rimini's systems, the record fails to show that Rimini ever followed its own Acceptable Use Policy and reported the materials to Rimini's security and/or compliance departments. Further, once the material was on Rimini's systems, it was not promptly quarantined. While Vice-President of Global Support Craig Mackereth testified that in certain circumstances the materials were ultimately quarantined, that did not occur until a significant amount of time after the prohibited Oracle materials were found on Rimini's systems, and that only occurred after discovery by Oracle had begun. In some circumstances, Rimini even moved the prohibited files to other locations on its systems and/or used the prohibited documents to support its work.

5. The Court recognizes that Rimini has taken steps in an attempt to comply with the Court's Order. However, Rimini's steps have clearly proven inadequate. Rimini's annual training on its Acceptable Use Policy has not created a corporate environment where employees are clear on the prohibitions put in place by the Permanent Injunction. Even after knowing that violations were occurring with regularity, Rimini did not implement protective protocols, like the compliance department's scanning protocols or “plug-ins” like KONA, until after Oracle discovery had begun for this contempt proceeding and it was clear Rimini was not complying with the Permanent Injunction.

6. The additional instances of misconduct related to Evergreen and University of Oklahoma Health Sciences Center also weigh heavily on the Court's decision that Rimini is not substantially complying with the Court's Order. Rather, they show the Court that the initial three instances are not isolated incidents of misconduct but are a pattern of noncompliance. Specifically related to OHS, Rimini engineers (1) solicited prohibited materials from clients, and (2) even after four prohibited files were uploaded to the SalesForce system, Rimini employees never clearly articulated to OHS that the materials should be deposited in a shared folder that Rimini would remotely access.

7. Even if each of these incidents, when taken separately, could be considered “minor” or “technical” violations as Rimini argues, taken together they show a pattern of noncompliance. See Herb Reed Enters., Inc. v. Monroe Powell's Platters, LLC, Case No. 2:11-CV-02010-PMP-NJK, 2014 WL 3894069, at *8 (D. Nev. Aug. 8, 2014) (“Based on the string of violations, a history of noncompliance with the preliminary injunction beyond a few technical violations has been established.”).

8. Nothing before the Court supports a finding that Rimini's noncompliance was the result of a good faith and reasonable interpretation of the Permanent Injunction. As to each incident, Rimini agrees that it was a violation of its own Acceptable Use Policy.

9. Accordingly, the Court finds Rimini in contempt of Court upon Issue 1.

B. Issues 2 and 4: Matheson Trucking, Spherion and Smead

i. Findings of Fact

1. Rimini update HCM200049 consists of three files: two GIF or image files and SQR file “rsi940a.sqr.” OREX_021 at 2; DTX-0412-002.

These GIF files are Adobe .pdf files of the IRS 940 Form, Schedule A that Rimini downloads from the IRS website, and the SQR file uses those image files to print the form. ECF No. 1538 at 32-33.

2. File “rsi940a.sqr” is a Rimini written program used to print the federal IRS Form 940, Schedule A, a form used “by a business to calculate credit reductions for federal unemployment tax.” ECF No. 1538 at 30. The parties agree that this SQR file is Rimini written code. ECF No. 1536 at 40; ECF No. 1538 at 31.

Rimini Vice President of PeopleSoft Development, Jim Benge, testified that it is the company's practice and understanding that programs (like rsi940a.sqr) that Rimini writes from scratch are its work product and can be kept on Rimini's systems and distributed to multiple clients. In contrast, Oracle or PeopleSoft files that Rimini has modified must be maintained on the client-hosted environment and siloed. ECF No. 1538 at 148-49.

3. Beginning in July 2018, Rimini contemplated that this update would need to be given to all its U.S. based clients that had not received the Oracle 2018-B update. See DTX-0414-001 (“INCL: <2018-B”). Rimini uses a third-party software program called JIRA to track its development work. ECF No. 1538 at 38. In July 2018, Rimini Senior PeopleSoft Developer Don Sheffield set the scope for this update in JIRA as “INCL: US”. DTX-0401-007; OREX_0021 at 1.

Jim Benge explained that this exhibit is a “tech client doc artifact for the change” which tells the client that Rimini will be “modifying this SQR” and “describing that its being updated so that the alignment of the data printed will match with the 2019 version of the form image.” ECF No. 1538 at 37-38. The City of Eugene is a Rimini client within this scope. ECF No. 1538 at 43.

The JIRA scope shows a “point-in-time, ” meaning, that “if there's a situation in time where [Rimini is] producing a release for a group of clients, the scope will be set to that group of clients. If that update needs to go to an additional group of clients, the scope would be changed after [Rimini gets] the first release out the door, and [Rimini would] set the scope for the next group of clients that are going to be receiving that update.” ECF No. 1538 at 42-43.

4. The IRS updates its 940, Schedule A form annually. In November 2018, the IRS provided instructions for its form, articulating that the only credit reduction state was the U.S. Virgin Islands. OREX_1351 at 1.

5. On January 15, 2019, Laurie Gardner, Rimini Senior Manager Business Solutions, changed the scope of this update in JIRA from “US” to “SPH” (meaning Spherion).ECF No. 1538 at 42, 174; DTX-0401-004.

Jim Benge testified that she is the “manager of Rimini's business analysts.” ECF No. 1538 at 42. Laurie Gardner's email block provides her title is “Senior Manager Business Solutions.” OREX_0030 at 1.

Other documentation refers to this client as “Randstad professionals US, LP (SFT Group/ Spherion).” See e.g., DTX-0406-001. For clarity, the Court refers to it as Spherion.

Jim Benge testified that the scope in Jira was changed because “Spherion logged a case, and there was contemplation of preparing an update for them.” ECF No. 1538 at 176. However, Laurie Gardner did not testify and there is no documentation supporting that this was why the scope was changed.

6. On approximately January 23, 2019, Rimini became aware of an alignment issue (the required input was not printing in the designated box) after applying the new 940 A 2018 GIF files for Rimini clients Spherion and Smead (“SME”). OREX021 at 8, 12-16; ECF No. 1536 at 45; ECF No. 1538 at 172.

7. Rimini Senior PeopleSoft Developer Don Sheffield attempted to fix the issue by making modifications to the GIF files. However, this proved ineffective, and he determined that he needed to modify the SQR file to make the alignment work. OREX_21 at 6-12; ECF No. 1536 at 45.

8. To modify the SQR, Don Sheffield “went into City of Eugene's environment and made the changes in City of Eugene to the SQR.” ECF No. 1538 at 42-43; ECF No. 1536 at 46. On January 24, 2019, at 9:56 p.m., Don Sheffield told Rimini business analysist Timothy Pringle that the update had been “tested in COEX” (meaning City of Eugene's Development Environment). OREX_0021 at 3; ECF No. 1538 at 48. At this time, the scope in JIRA was set to Spherion only. See DTX-0401-004; ECF No. 1538 at 42-43.

9. On January 25, 2019 (at 5:21 a.m.), Don Sheffield changed the scope from Spherion to “US”; changed it back 7 minutes later; changed it again to “US” 3 minutes later; and finally changed it back to Spherion 3 minutes later (at 5:34 a.m.). DTX-0401-004. Later that day, Don Sheffield again told Timothy Pringle: “I have completed the testing in COEX and I have now rolled the 2 GIF files and the modified version of the rsi940a.sqr program out to all U.S. clients (excluding those that got Oracle update 2018-B).... I also noticed that the Scope in Jira for HCM200049 is set to just SPH. I changed it temporarily to “US” so that I could use the CreateUpdateFolders tool for all U.S. clients that will ultimately get this update, but I changed it back afterward. Shouldn't this scope also include SME?” OREX_0021 at 2-3; ECF No. 1543 at 72. By 3:45 p.m., Don Sheffield reported that the update was in the development folders of Smead and Spherion. OREX_0021 at 1.

Not all clients to whom the HCM200049 update was sent (the 2 GIF files and the SQR file) received the update. ECF No. 1538 at 53.

10. At the time Don Sheffield was testing the update in City of Eugene's environment, the Spherion and Smead environments were inaccessible. OREX_0028 at 2; ECF No. 1538 at 165, 181.

Rimini client City of Eugene never received this update. ECF No. 1538 at 166. There is also no evidence to support that City of Eugene needed the update. ECF No. 1536 at 52; ECF No. 1543 at 72.

11. On January 25, 2019, Timothy Pringle told Jim Benge that “Don finalized the update for the 940A gif file and sqr modifications (HCM200049). He has moved it to Dev for all clients in scope. I have not specifically test [sic] in SPH or SME due to issues accessing these clients. I have tested in KICX and COEX however and the results look good.” OREX_0028 at 2. “KICX” means Kichler Lighting's development environment, another Rimini client. ECF No. 1538 at 182.

12. Rimini delivered HCM200049 to Spherion and Smead on January 25, 2019, as an “informal update.” See OREX_0081; OREX_0082; DTX-0405; DTX-0406; ECF No. 1527-4; ECF No. 1538 at 165; ECF No. 1539 at 39-43. An “informal update” means that the update delivered is a work in progress and a result of the client raising a case for an error or issue that is occurring in their system. ECF No. 1538 at 18. The client picks up the update from their development environment. ECF No. 1538 at 51. This is contrasted with a “formal update” (the “normal” delivery process for providing a fix or update) that the client picks up from their QA environment after development, testing, documentation, and packaging. ECF No. 1538 at 17-18, 51.

Rimini ultimately “formally” delivered this update to Smead; however, Spherion did not receive the formal update because it “went inactive and dropped support” with Rimini “before the formal delivery was made available.” ECF No. 1538 at 52; ECF No. 1539 at 45.

13. On January 25, 2019, Rimini client Matheson Trucking also opened a case with Rimini reporting an error with the same Rimini program, rsi940a.sqr. DTX-0204-001; ECF No. 1538 at 114.

14. After receiving the case, Rimini business analysist Timothy Pringle emailed Jim Benge, Rimini's Vice President of PeopleSoft Development, to request that update HCM200049 be delivered informally to Matheson Trucking. OREX_0022 at 3-4; ECF No. 1538 at 116-17.

15. On January 28, 2019, Jim Benge provided that he was unsure if the update was either developed or tested for Matheson Trucking and sought guidance from additional Rimini employees. OREX_0022 at 3. Don Sheffield, Senior PeopleSoft Developer, responded that he did complete development for Matheson Trucking. OREX_0022 at 1-3. “Development” of this update for Matheson Trucking consisted of running the “Create Update Folders” utility, transferring the already modified Rimini SQR file and 2 image files to the Matheson Trucking environment, and unit testing. ECF No. 1538 at 116. While Jim Benge testified that Don Sheffield saying the update was “ready to go” meant that the update had been unit tested (ECF No. 1538 at 118-19), the Court finds no evidence in the record to suggest that this testing occurred (ECF No. 1543 at 82-84; ECF No. 1538 at 165-66; OREX0084).

Jim Benge testified that he agreed transferring the files to Matheson Trucking's environment was not the same as developing the SQR file. ECF No. 1538 at 192-93.

Evidence in the record supports a finding that the update for Matheson Trucking was later QA tested (DTX-0200; ECF No. 1538 at 165), and formally delivered in the RS-19PO2 bundle (ECF No. 1538 at 122).

16. Also on January 28, 2019, at 8:51 a.m., Timothy Pringle changed the scope in JIRA to “US < 2018-B”. DTX-0401-004. That same day, at 2:44 p.m., Jim Benge authorized informal delivery of the update to Matheson Trucking, and provided the folder locations where Matheson Trucking could pick up the files on their development machine. OREX0084 at 1. On January 30, 2019, Matheson Trucking responded that the update had been successfully retrieved and tested and that the case could be closed. DTX-0205-001.

17. On January 29, 2019, Laurie Gardner wrote to Teresa Hintz (Rimini's Regional Manager - U.S. West, Global Service Delivery), that “Only Virgin Islands have a credit reduction for 2018, so we suspect that then [sic] need will be rather limited.” OREX0030 at 1; DTX-0407-001. It was not until February 26, 2019, that the scope in JIRA reflected that the update was due to only four Rimini clients: "CMC, MAT, SME, SPH.” DTX-0401-003.

Spherion was removed from the scope on March 7, 2019, when it went “inactive” with Rimini service. DTX-0401-003. To the Court's knowledge, Rimini client CMC is not involved in the pending issues.

ii. Conclusions of Law

1. In its Order to Show Cause, the Court determined that when Rimini tested “rsi940a.sqr” in City of Eugene's environment and then sent it to multiple clients, it appeared to be a classic example of unlawful cross use and Rimini using one client's environment under color of license for another client. However, because of the conflicting expert reports, the Court ordered an evidentiary hearing to determine if Rimini's conduct violated the Permanent Injunction. ECF No. 1459 at 19-20.

2. The Court also held, by clear and convincing evidence, that when update HCM200049 was delivered to Matheson Trucking without any indication it was either developed or tested in the client's environment, Rimini violated the Permanent Injunction. ECF No. 1459 at 26-27.

3. Oracle seeks the Court to find that “rsi940a.sqr” is a derivative work. The Court declines to reach this point as Rimini's conduct is clearly cross use prohibited by Paragraphs 4 and 6 of the Permanent Injunction. ECF No. 1166 ¶ 4 (“Rimini Street shall not reproduce, prepare derivative works from, or use a specific licensee's PeopleSoft software or documentation other than to support the specific licensee's own internal data processing operations[.]”); ECF No. 1166 ¶ 6 (“Rimini Street shall not reproduce, prepare derivative works from, or use PeopleSoft software or documentation on one licensee's computer systems to support, troubleshoot, or perform development or testing for any other licensee, including, specifically, that Rimini Street shall not use a specific licensee's PeopleSoft environment to develop or test software updates or modifications for the benefit of any other licensee[.]”).

In Rimini II, the Court determined for the first time that a stand-alone update is a derivative work if the update substantially incorporated protected material from the preexisting work, i.e., it was created using Oracle tools and the update could not be used with any software programs other than PeopleSoft. Rimini II, ECF No. 1253 at 51-53; Rimini St., Inc. v. Oracle International Corp., 473 F.Supp.3d 1158 (D. Nev. 2020). Under the Court's decision in Rimini II, “rsi940a.sqr” is likely a derivative work. However, the definition of derivative works as applied here was neither decided nor argued in this case, and the Court's ruling on derivative works in Rimini II was issued after the operative Permanent Injunction. Further, Oracle's argument goes directly to whether Rimini's support Process 2.0 is unlawful, which is directly at issue in Rimini II. Therefore, the Court declines to find that the update is a derivative work in these contempt proceedings.

4. Cross-use is “the creation of development environments, under color of license of one customer, to support other customers In its narrowest form, ‘cross use' is the making of development environments, under color of license held by one identifiable customer of Rimini, for another identifiable customer of Rimini that also holds a license. It may also include the creation of development environments under a given license for other customers of Rimini that may themselves hold licenses or even for licensees who have yet to become customers of Rimini.” Oracle USA, Inc. v. Rimini St., Inc., 879 F.3d 948, 956 (9th Cir. 2018).

5. The Court finds by clear and convincing evidence that Rimini cross used City of Eugene's development environment to support other clients, specifically, Spherion, Smead, and Matheson Trucking, and that Rimini's use of City of Eugene's environment was not for the licensee's own internal data processing operations.

6. When Spherion and Smead reported a problem with rsi940a.sqr, Rimini did not have access to those client environments, and therefore, could not develop the fix for them in their own environments, as was required by the Oracle license agreements. Rather, Rimini developed the fix by entering City of Eugene's development environment, modifying its SQR file in City of Eugene's environment, and testing the modification in City of Eugene's development environment to ensure the modifications would fix the reported problems. When Rimini completed this work in City of Eugene's environment, there was no indication that City of Eugene was reporting this problem or otherwise needed the update, nor was City of Eugene in scope for this update, as reflected by the JIRA records. While Rimini suggests that it believed the update was needed for and developed for all U.S. clients, the record supports that Rimini became aware the update would be limited to clients operating in the U.S. Virgin Islands by at least January 15, 2019, when Laurie Gardner updated the scope in JIRA to Spherion. The Court is not convinced that Rimini developer Don Sheffield changed the scope in JIRA to “US” because he thought the update was going to all U.S. clients. Rather, the Court finds that it was changed so that Rimini engineers could send the update to multiple clients without completing the development work in those environments.

7. After Rimini determined what change was needed to its SQR file and tested those modifications in City of Eugene's environment, it modified the SQR file on its own system with the changes developed and tested in City of Eugene's environment and tested in Kichler Lighting's environment. Rimini then took that modified SQR file and sent it to clients Spherion, Smead, and Matheson Trucking without any separate development or testing of the SQR file. The Court finds that simply creating folders on a client's machine and sending them a file developed and tested on another client's machine is not the same as development of the update or fix.

8. The Court finds based on the evidence presented that Rimini is not substantially complying with the Court's Order. At base, the underlying case found that Rimini was using generic development environments to develop and create updates used to support multiple Rimini clients. Rimini's conduct here, using City of Eugene's development environment to develop a fix for clients Spherion, Smead, and Matheson Trucking, is essentially the same as the prohibited conduct previously held unlawful and prohibited by the Permanent Injunction.

9. The Court does not find that Rimini's violations of Paragraphs 4 and 6 of the Permanent Injunction here are either “minor” or “technical.” Rather, Rimini's conduct shows a return to the use of generic environments in this instance, which is clearly prohibited by the Permanent Injunction. Nothing before the Court supports a finding that Rimini's noncompliance was the result of a good faith and reasonable interpretation of the Permanent Injunction. Rather, given the evidence presented, the Court finds Rimini's unlawful conduct and violations of the Permanent Injunction were willful.

10. Accordingly, the Court finds Rimini in contempt of Court upon Issues 2 and 4.

C. Issue 3: Johnson Controls

i. Findings of Fact

1. On January 23, 2019, Johnson Controls (“JHN”) reported that its payroll team was having an issue printing its data in Box 14 of the W-2 Form. OREX_0027 at 15-16; DTX-0303-015-0016; ECF No. 1538 at 19-20.

Emails from this client also use the three-letter code “JCI” to refer to Johnson Controls. See ECF No. 1536 at 61.

2. To fix this “bug, ” Rimini engineers first provided Johnson Controls with a “shrunken font template, ” which is an Adobe Acrobat .pdf file of the W-2 form. OREX_0027 at 7-15; ECF No. 1536 at 62. This template modified the form to reduce the font size so that the full values would print within the borders of the box. ECF No. 1538 at 23. This change did not involve any Oracle software or code, and Oracle does not allege this conduct violated the Permanent Injunction. ECF No. 1538 at 23; ECF No. 1536 at 62.

3. After applying this fix, Johnson Controls no longer experienced the Box 14 problem, but Box 17 was printing incorrectly. Jai Ramachandran, Rimini Senior PeopleSoft Support Engineer, reached out to his colleagues inquiring whether “reducing the pic size on the Print parameters for XMLP” would solve the problem. OREX_0027 at 5. Jai Ramachandran emailed his colleague Don Sheffield, Rimini Senior PeopleSoft Developer, a few minutes later saying: “The XMLP print parameters for Box 17 are blank. So where is the format for the numbers being picked up?” OREX_0027 at 4.

Oracle expert Barbara Frederiksen-Cross testified that a “print parameter” is “the number of fields the print is expected to -- or that particular field is expected to accommodate.” ECF No. 1536 at 62-63.

4. Don Sheffield then sent Jai Ramachandran a screen shot of a PeopleSoft user interface, highlighting the “Print Format” box with its included value, and asked if this box was also blank. OREX_0027 at 2; ECF No. 1536 at 64. Jai responded by attaching his own screen shot of a PeopleSoft interface indicating that the “Print Format” box was blank. DTX-0302-004. To take the screen shot of the user interface, the PeopleSoft software must have been run. ECF No. 1536 at 65.

It is not clear from the record what Rimini client's PeopleSoft user interface Don Sheffield is in when he took the screenshot; however, it is clear that it is not from Johnson Controls' environment. ECF No. 1536 at 65.

5. Don Sheffield instructed Jai Ramachandran to have Johnson Controls enter “B999999.99” into the Print Format box, providing that he believed this solution would work because he “tested it here locally on COEX, ” meaning in City of Eugene's development environment. OREX_0027 at 1-2; DTX-0302-003; ECF No. 1538 at 24. A print parameter is entered using the “PeopleTools environment, ” through one of the “graphical user interfaces.” ECF No. 1536 at 64; ECF No. 1539 at 158.

This change “tells the software to print a numeric value, right justified, with two decimal places, padded with blanks to the left.” ECF No. 1538 at 23.

6. Rimini implemented the bug fix to Box 17 by calling Johnson Controls and instructing them how to change the print parameters on their own machine. ECF No. 1538 at 2526. This solution fixed Johnson Controls' issue. ECF No. 1538 at 26; DTX-302-002.

7. The Court acknowledges that because the “bug” affected a W-2 form for print functionality, it may have caused the same issue for all of Rimini's U.S. clients that use this form.ECF No. 1538 at 20-21. However, the record does not support a finding that Rimini believed other clients were impacted when it created the fix for Johnson Controls. DTX-302-001-002 (“GPD--Please let me know after you scope if you think other clients could be impacted.” (emphasis added)). The record does not support that any client, other than Johnson Controls, reported this problem or needed the fix at the time Don Sheffield tested the solution in City of Eugene's environment. In particular, the record does not support a finding that City of Eugene ever reported data that it was experiencing the same problem printing its W-2 forms. ECF No. 1536 at 66-67; ECF No. 1537 at 7; ECF No. 1538 at 160-61. And Rimini did not deliver this fix to any other client, including the City of Eugene. ECF No. 1538 at 26. Rimini further acknowledged that the fix would only be provided on a case-by-case basis depending on the data its clients reported. DTX-0302-001.

Rimini argues that when it did work in City of Eugene's environment, that was because it believed this issue “could be a potential problem for all new clients switching from tax960us to rsi960us.” DTX-0302-002; OREX_0023 at 2. Rimini file “rsi960us” is a quarantined file that none of its new clients receive. ECF No. 1538 at 188. Because “rsi960us” has no bearing on the Court's ultimate conclusion here, the Court declines to reach any finding on the lawfulness of Rimini's potential use of the file at this time.

The bug fix was ultimately delivered to other clients the following tax year because “although this was a bug that needed to be addressed for [Rimini's] clients, the symptoms of it only showed up in rare circumstances.” ECF No. 1538 at 26-27.

ii. Conclusions of Law

1. In its Order to Show Cause, the Court found that City of Eugene's environment was used for the general purpose of testing updates for other customers-in particular, the Court looked at Barbara Frederiksen-Cross's report which provided that the W-2 update was tested in City of Eugene's environment for Rimini client Johnson Controls. ECF No. 1459 at 19 (citing ECF No. 1368-1-s ¶ 70). However, due to the conflicting opinion of Rimini's expert Owen Astrachan, the Court held that an evidentiary hearing was necessary to determine if Rimini's testing was cross use and prohibited by the Permanent Injunction. ECF No. 1459 at 20.

2. The Court finds by clear and convincing evidence that Rimini cross used City of Eugene's development environment to support client Johnson Controls, and its use of City of Eugene's environment was not for their own internal data processing operations.

3. Paragraphs 4 and 6 of the Permanent Injunction clearly prohibit Rimini's conduct. ECF No. 1166 ¶ 4 (“Rimini Street shall not reproduce, prepare derivative works from, or use a specific licensee's PeopleSoft software or documentation other than to support the specific licensee's own internal data processing operations.”); ECF No. 1166 ¶ 6 (“Rimini Street shall not reproduce, prepare derivative works from, or use PeopleSoft software or documentation on one licensee's computer systems to support, troubleshoot, or perform development or testing for any other licensee, including, specifically, that Rimini Street shall not use a specific licensee's PeopleSoft environment to develop or test software updates or modifications for the benefit of any other licensee.”).

4. Here, one of Rimini's clients, Johnson Controls, reported an issue. When one of Rimini's engineers could not fix the issue on his own, he sought guidance and help from colleagues. While such collaboration may not always be prohibited conduct, it clearly became so when Don Sheffield entered another client's environment in search of the solution to this issue. While in City of Eugene's environment, Don Sheffield learned how to fix the bug that Johnson Controls was having, tested that his solution would fix the issue, and took screenshots of the running PeopleSoft software to show other engineers. The Court finds by clear and convincing evidence that this conduct was not for City of Eugene's own internal data processing operations. Rather, his work in City of Eugene's environment was to troubleshoot the problem for Johnson Controls.

5. Rimini's conduct goes beyond the simple “reuse of knowledge or know-how” that Rimini argues. Don Sheffield did not have the knowledge or know-how to fix this problem when Jai Ramachandran sought his guidance. Rather, he had to develop this knowledge and know-how and did so by entering another client's environment; a client that had not reported a problem nor sought help resolving the issue. To say Rimini was developing a fix for all its U.S. clients when Don Sheffield completed this work is an ad hoc rationalization of the prohibited conduct.

6. The Court finds based on the evidence presented that Rimini is not substantially complying with the Court's Order. At base, the underlying case found that Rimini was using generic development environments to develop and create updates used to support multiple Rimini clients. Rimini's conduct here, using City of Eugene's development environment to develop, test, and trouble shoot a fix for Johnson Controls, is essentially the same as the prohibited conduct held unlawful previously and prohibited by the Permanent Injunction.

7. The Court does not find that Rimini's violation of Paragraphs 4 and 6 of the Permanent Injunction here are either “minor” or “technical.” Rather, Rimini's conduct shows a return to the use of generic environments in this instance, which is clearly prohibited by the Permanent Injunction. Nothing before the Court supports a finding that Rimini's noncompliance was the result of a good faith and reasonable interpretation of the Permanent Injunction. Rather, the evidence presented supports a finding that Rimini's unlawful conduct was willful.

8. Accordingly, the Court finds Rimini in contempt of Court upon Issue 3.

D. Issue 5: Rimini file “RSPCMPAY.cbl”

i. Findings of Fact

1. During discovery in this case, Oracle discovered file “RSPCMPAY.cbl” on Rimini's systems. File “RSPCMPAY.cbl” is a PeopleSoft COBOL program that, in part, “augments TARRY by breaking out common pay in more detail.” OREX0175 at 1. The Modification Log for the program provides that on January 29, 2018, the program was “[a]dapted from RSI Built RSPCPYTD for newer clients.” OREX_0225; DTX-0502; OREX0175 at 3.

This exhibit shows both the Oracle and Rimini files side by side-Oracle file “PSPTARRY.cbl” appears on the left-hand side of the document; Rimini file “RSPCMPAY.cbl” appears on the right-hand side of the document. The purple highlighting “indicates a line that has some similarities and some differences” between the two programs; the green highlighting reflects lines that are present in the Rimini file but not present in the Oracle file; the salmon or light-orange highlighting reflects lines that are present in the Oracle file but not present in the Rimini file; and no highlighting indicates the text is the same. ECF No. 1535 at 207.

2. “TARRY” refers to Oracle file “PSPTARRY.cbl”, a PeopleSoft COBOL program that loads the “tax array with the YTD balances.” OREX_0175 at 3. “YTD” means “year-to-date.” The parties agree that Rimini's file “RSPCMPAY.cbl” augments the functionality of Oracle's file “PSPTARRY.cbl” ECF No. 1539 at 99-100; ECF No. 1535 at 206. While the two files are similar-both are accessing the same PeopleSoft database-the two files are loading different data from the database. ECF No. 1539 at 99-100.

3. To determine if the Oracle file and the Rimini file are “substantially similar, ” Oracle's expert, Barbara Frederiksen-Cross, analyzed the files using “normalized line matching” or “normalized line set count.” This means the files are converted to the same case (i.e., no upper-and lower-case distinctions), extra white space is removed (i.e., instead of four spaces there would only be one), and the lines of code are treated as a set (i.e., they're “unordered”). These collections of lines are then compared to the other program to see how many lines match. ECF No. 1535 at 134; ECF No. 1539 at 107.

4. To complete her analysis, Barbara Frederiksen-Cross also used ARAXIS MERGE, a tool that displays two files side-by-side and highlights the similarities or differences of the two files. ECF No. 1535 at 134, 205. Based on her analysis, she estimated that roughly a third of the gross number of lines of code in the two files matched, but she did not opine as to how many of those matching lines were protectable expression. ECF No. 1535 at 208; ECF No. 1539 at 136. This percentage of matching lines was determined prior to filtering for constraints. ECF No. 1537 at 84. “Constraint” means the code is dictated by “a lack of creativity because [the programmer] must do things a certain way[.]” ECF No. 1539 at 103-04.

5. Having reviewed the matching lines, Barbara Frederiksen-Cross determined the two files were “substantially similar, ” meaning “they are similar without any explanation that can be attributed to constraint or specific invention.” ECF No. 1536 at 19-20. The files contained: some of the same variable names and defined “things in the same order with the same descriptions for the fields” (ECF No. 1535 at 208-09; ECF No. 1536 at 7); the same value for “programming switches” (ECF No. 1535 at 209-10); non-functional similarities in spacing that she opined have no “programming requirement” (ECF No. 1535 at 209-10); and similar placement of the “error section” in the Rimini file (ECF No. 1536 at 8-9). Barbara Frederiksen-Cross found the similarities in the “flower boxes, ” lines of asterisks that form a box and set apart the code from the programmers' comments, suggests copying because the Rimini file flower boxes sometimes started with a “slash asterisk” (\*), while in other instances, the box simply started with an asterisk (*), as similarly found in the Oracle file. ECF No. 1536 at 6-8.

Examples of variable names that Barbara Frederickson-Cross opined are discretionary of the programmer included “FETCH-YTD, ” “SQL-CURSOR, ” and “SQL-STMT.” ECF No. 1536 at 12-14.

Barbara Frederiksen-Cross also initially testified that the Rimini flower boxes appeared to have “orphan” asterisks similar to those appearing in the Oracle file. ECF No. 1536 at 10-12. However, she retracted this opinion on rebuttal after analyzing the file using a “fixed width font” as discussed by Rimini's expert, Owen Astrachan. ECF No. 1539 at 95-97; ECF No. 1543 at 91. Owen Astrachan opined that while the comment boxes are not required by the language, in “COBOL all comments must begin with an asterisk or a slash in column number 7, and by convention, they go across the screen until the end of the line”; therefore, these boxes are neither creative nor protected expression and not indicative of copying. ECF No. 1539 at 109111.

6. In completing her analysis, Barbara Frederiksen-Cross discounted certain similarities, including: (1) certain names required by the COBOL program, such as an “Oracle-supplied subprogram, ” and (2) “filler” or “generic COBOL” language. ECF No. 1536 at 17-19; ECF No. 1536 at 18.

Rimini's expert agrees that the programs are constrained by both requirements of the COBOL language and “filler” statements. ECF No. 1539 at 102, 117.

7. The parties also agree that that the two programs are constrained by the Oracle PeopleSoft SQL Application Programming Interface (“API”) for COBOL. ECF No. 1536 at 15, 18-19; ECF No. 1539 at 114-16. The API is a “document that a programmer would look at to understand how to write COBOL in a PeopleSoft environment, ” including how the programmer “must do specific things in specific orders to achieve” specific results. ECF No. 1539 at 114-15.

8. Conversely, Rimini's expert, Owen Astrachan conducted “analytic dissection” to determine if the matching lines of code in the two programs being compared consist of protected expression. ECF No. 1539 at 101.

Under Owen Astrachan's analysis, if there is no protected matching expression, he'd say there is no violation; if there is some protected matching expression, he would determine if it constituted a “substantial portion of the protected work.” ECF No. 1539 at 101.

9. In his review of the matching portions of code, Owen Astrachan, like Barbara Frederiksen-Cross, determined that certain portions of the matching code were constrained and had to be filtered out: (1) lines of code that are “specific to the programming language, ” COBOL(ECF No. 1539 at 102); (2) portions of the code “constrained by the function of the software, ” i.e., both programs are accessing the same database and using COBOL language, syntax, particular functions, structure, and characters (ECF No. 1539 at 102, 108-09, 114); (3) portions of the code are “constrained by logic or efficiency” (ECF No. 1539 at 103); (4) standard programming terms and standard development conventions, such as the naming of standard variables (ECF No. 1539 at 104, 122); and (5) portions of code that are the same, but can't be matching because each program's code does a different function (ECF No. 1539 at 119). Owen Astrachan opined that these constraints are either required and/or are not creative, and therefore, must be filtered out as unprotected. ECF No. 1539 at 102, 119.

Owen Astrachan provided that “COBOL is a column-oriented language, ” that requires certain statements to begin in specific columns. ECF No. 1539 at 96. Barbara Frederiksen-Cross agrees that a “a programmer might align things visually to make the program easier on the eye, ” but disputes that there is a “constraint in COBOL as to what column” the programmer must choose. ECF No. 1543 at 96-97.

For example, “in COBOL, you have to say ‘End-If' instead of just ‘If'”. ECF No. 1539 at 108.

For example, in the database context, if a connection fails and there is an error, “logic would dictate you have to handle that error, ” and that “would be unprotected because it's constrained by the logic of needing to deal with the database.” ECF No. 1539 at 103.

For example, Owen Astrachan testified that a programmer would not call a standard action like “FETCH” a random name like “bowtie” or “go get ‘em, ” even though the programmer has the discretion to make up such a variable name. ECF No. 1539 at 105; c.f., ECF No. 1536 at 15-16 (Barbara Frederiksen-Cross opining that as long as the variable name is consistent throughout, it can be called anything). Additionally, Owen Astrachan opined that certain variable names, such as YTD (year-to-date) and SQL-STMT (sequel statement) are so common in programming that they cannot be considered creative or protectable. ECF No. 1543 167-68.

10. The file transfer log for Rimini's file shows that this file was distributed fourteen times to seven clients. ECF No. 1536 at 20.

ii. Conclusions of Law

1. It is well settled that not all copying violates the Copyright Act, but rather, a plaintiff must prove “copying of protectable expression beyond the scope of the license.” MAI Sys. Corp. v. Peak Comput., Inc., 991 F.2d 511, 517 (9th Cir. 1993) (cleaned up). “Copying may be shown by circumstantial evidence of access and substantial similarity of both the general ideas and expression between the copyrighted work and the allegedly infringing work.” Apple Comput. Inc. v. Microsoft Corp., 35 F.3d 1435, 1442 (9th Cir. 1994). “[W]orks cannot be substantially similar where analytic dissection demonstrates that similarities in expression are either authorized, or arise from the use of common ideas or their logical extensions.” Id. at 1439. Analytic dissection refers to the process of determining whether the allegedly similar features are “elements of a work that are protectable and used without the author's permission[.]” Id. at 1442-43.

2. Given the conflicting expert reports regarding the “PSPTARRY.cbl” and “RSPCMPAY.cbl” files, the Court held that an evidentiary hearing on this issue was required, and the Court had to hear from the parties' experts to determine if Rimini's file contains protected Oracle expression that Rimini is prohibited from having on its systems. ECF No. 1459 at 22.

3. The Court has reviewed each expert's opinion regarding whether the two files are substantially similar. While each expert calls their analysis something different, the Court finds both experts conducted a form of analytic dissection-each considered the matching portions of the files and filtered for unprotected expression. Though each expert's methodology is open to criticism, as was exhaustively provided at the hearing, such criticism does not undermine either expert's overall methodology. The Court finds both experts' opinions helpful to its ultimate conclusions and therefore declines to disqualify either.

4. Following the Ninth Circuit's analysis, the Court does not find by clear and convincing evidence that the matching portions of Rimini's file “RSPCMPAY.cbl” are substantially similar to Oracle's file “PSPTARRY.cbl” under the “extrinsic test.” Antonick v. Elec. Arts, Inc., 841 F.3d 1062, 1065-66 (9th Cir. 2016) (“The ‘extrinsic test' is an objective comparison of specific expressive elements.”). The Court is not convinced that the elements identified by Barbara Frederiksen-Cross that appear in both files are indicative of copying, or that at least some of them should not be filtered out as constrained or unprotectable. For example, the Court agrees that starting a comment flower box with either a (\*) or simply a (*) is not protectable expression given that every comment flower box in COBOL must start with one or the other. See ECF No. 1543 at 166. While it is clear that Rimini's file augments the Oracle file, Oracle presented no direct evidence of copying.

The Court need not reach the intrinsic test. See Smith v. Jackson, 84 F.3d 1213, 1218 (9th Cir. 1996).

5. Oracle seeks a finding that Rimini file “RSPCMPAY.cbl” is a derivative work. Like the Court discussed above, in Rimini II, the Court determined for the first time what constituted a derivative work in this context. Rimini II, ECF No. 1253 at 51-53; Rimini St., Inc. v. Oracle Int'l Corp., 473 F.Supp.3d 1158 (D. Nev. 2020). Under the law of Rimini II, the Court would likely find that the Rimini file is a derivative work. However, because the definition of derivative work was neither decided nor argued in this case, and the Court's ruling on derivative works in Rimini II was issued after the operative Permanent Injunction, the Court declines to find the Rimini file is a derivative work in these contempt proceedings.

6. If this file is not derivative work, the Court cannot find by clear and convincing evidence that it was a violation of Paragraph 5 of the Permanent Injunction for the file to be on Rimini's systems or for Rimini to have delivered it to seven clients fourteen times. See ECF No. 1166 ¶ 5 (“Rimini Street shall not reproduce, prepare derivative works from, or use PeopleSoft software or documentation on, with, or to any computer systems other than a specific licensee's own computer systems.”).

7. Accordingly, the Court discharges its Order to Show Cause on Issue 5.

E. Issue 6: Easter Seals

i. Findings of Fact

1. On January 3, 2019, Rimini Senior PeopleSoft Support Engineer Jeanie Ong delivered file “RS18F07EASGA.zip.txt” to Easter Seals. DTX-0610-001; OREX_0090. This .zip file contained files used to provide Rimini's annual update for IRS Forms 1099-MISC, used for reporting miscellaneous income, and 1099-INT, used for reporting interest income. ECF No. 1538 at 58-59. The .zip file contained four .pdf files, which were Rimini's instructions and notes to the client applying the update; five GIF (image) files of the tax forms and instructions; two SQR files, “Rsi1099m.sqr”, which prints IRS Form 1099-MISC, and “Rsi1099i.sqr”, which prints IRS Form 1099-INT; and four DMS files, “data mover scripts” used to do “table updates.” ECF No. 1538 at 59-60; DTX-0610-001; ECF No. 1527-5 at 63 (DDX-562).

“This is a zip file that contains [Rimini's] update. The RS stands for Rimini Street, 18 stands for the tax year, 2018, F stands for financials, 07 is just a sequence number, EAS is the client code for Easter Seals, GA stands for general availability.” ECF No. 1538 at 58.

“Data Mover scripts are used in the context of the database, so they allow you . . . [to] move information into the database, to modify information that's in the database, or select and extract information from the database for use by the program.” ECF No. 1543 at 119. Barbara Frederiksen-Cross further testified that a DMS script is a “proprietary Oracle source language, ” but did not provide any documentation for the proprietary nature of the language. ECF No. 1536 at 23.

2. The “Modification Log” for file Rsi1099i.sqr shows that it was last modified February 28, 2018. DTX-0619-002 (“Added code to print data in 2018 and Greater 1099-INT form layout.”); ECF No. 1538 at 61. The “Modification Log” for file Rsi1099m.sqr shows it was last modified March 22, 2018. DTX-0620-002 (“Added code to print data in 2018 1099-MISC and Greater form layout.”); ECF No. 1538 at 62-63. Both of these file revisions occurred prior to the Permanent Injunction going into effect.

3. It is not entirely clear from the record before the Court how Rimini developed these two SQR files. Rimini's Vice President of PeopleSoft Development Jim Benge testified that the files were not created using Oracle tools but were “created from scratch using a standard text editor like UltraEditor or NotePad, ” third-party tools, like a word processor, for writing code. ECF No. 1538 at 60N61. Rimini points to its Technical Specification document for update “FSCM100126, ” which revises the IRS 1099-INT SQR file, and shows “Development was completed in the EAS environment.” DTX-0602; ECF No. 1538 at 66-67. Similarly, Rimini's Technical Specification document for update “FSCM100127, ” which revises the IRS 1099-MISC SQR file, shows “[d]evelopment was completed in the EAS environment.” DTX-0603; ECF No. 1538 at 66-67. However, Jim Benge also testified that “development” consisted of Rimini making revisions to the SQR files on Rimini systems, after which, the engineers transferred the files to Easter Seals environment and completed unit testing. ECF No. 1538 at 67-71; DTX-0602-003; DTX-603-003. These SQR files were initially created in 2011 (see DTX-0619-002 & DTX-0620-002), but the record is not clear that these specific SQR files were created using the prohibited generic environments Rimini used to develop its updates prior to 2014. It is undisputed that Rimini maintains these SQR files on its systems. ECF No. 1538 at 67, 72.

Oracle's expert testified that she did not know whether the SQR files were written within the PeopleTools environment or in a text editor. ECF No. 1537 at 77.

A “technical specification” or “tech spec” is “[g]enerally prepared by the development team, [and] it's a document that describes the objects that are going to be affected and what changes to them are necessary.” ECF No. 1538 at 65. It is Rimini's position that all technical specification documents are its work product. ECF No. 1538 at 66.

This “technical specification” document provides that the update occurred on March 1, 2017. Jim Benge testified this was a typographical error. ECF No. 1538 at 70-71.

These technical specification documents also refer to 6 GIF files. Like above, these GIF files are image files of the IRS forms that Rimini would download from the IRS website. ECF No. 1538 at 67. These GIF files are not the basis of Oracle's contempt claims.

4. The SQR files contain no Oracle code. ECF No. 1536 at 24; ECF No. 1537 at 76; ECF No. 1539 at 174, 178. The SQR programs do include such commands as “#include”, which is a “directive to the pre-compiler to do something when this code is on the client's PeopleSoft environment.” ECF No. 1539 at 178-80. Because Rimini does not have any PeopleSoft software on its systems, this process would only occur in a client's environment. ECF No. 1537 at 82.

Jim Benge testified that he knows the update contained no Oracle protected expression because the files were sent to Easter Seals by email, and Rimini would not have been permitted to send the update in that manner if it contained Oracle files. ECF No. 1538 at 60.

5. The record supports a finding that updates FSCM100126 and FSCM100127, which included both SQR files, were unit tested in Easter Seals environment. See DTX-0602-003; DTX-0603-003. Unit testing would involve the Rimini employee navigating through Easter Seal's PeopleSoft environment to run the program and print the 1099 forms. ECF No. 1538 at 68. The record also supports that these updates were quality assurance (“QA”) tested. See DTX-0605; DTX-0606; ECF No. 1539 at 21-24. To QA test, a Rimini employee enters each client's environment and tests that the update, and/or bundle of updates, creates the expected outcome. ECF No. 1539 at 9-10.

6. Contained within the “RS18F07EASGA.zip.txt” update bundle sent to Easter Seals, were four DMS files: RS18F07.DMS; FSCM1001301.DMS; FSCM1001302.DMS; and RS18F07.DMS. See ECF No. 1527-5 at 63 (DTX-562). Two files-FSCM1001301.DMS and FSCM1001302.DMS-were modified on June 19, 2018, and June 22, 2018, as part of update HCM100130. DTX-0604-001. Rimini's technical specification document for update HCM100130 provides that “development” and “unit” testing occurred in “OAKs environment.”DTX-0604-002. Jim Benge testified that “development” in this technical specification means that the files “were transferred to City of Oakland's environment, put into development folders in City of Oakland's environment, and then tested there, ” but that the files were all Rimini work product. ECF No. 1538 at 200. It is not clear from the record how Rimini developed these DMS files: Oracle contends that Rimini must have used PeopleTools to write the scripts to capture the PeopleSoft database tables and entries recited therein” (ECF No. 1536 at 30-31; ECF No. 1543 at 119-2058), while Rimini contends that the scripts were written in a “standard text editor” on its own systems and are Rimini's work product (ECF No. 1538 at 200). To test and verify that the DMS files are working properly, the files must be tested in a PeopleTools environment. ECF No. 1543 at 11920, 122.

The record is unclear as to what client OAK refers-either City of Oakland (ECF No. 1538 at 200), or Oakland County, Michigan or Maryland (ECF No. 1543 at 121)-however, this distinction does not change the Court's analysis or factual findings as it is a Rimini client other than Easter Seals.

7. Rimini's update RS18F07 is a modification that extends the features and functionality of the client's PeopleSoft software. ECF No. 1536 at 24-25. The SQR programs “depend on the PeopleSoft environment and the presence of that PeopleSoft code in the program when run in order to be able to perform their operation. Without the PeopleSoft environment they” would not and cannot run. ECF No. 1536 at 24; ECF No. 1539 at 177-78. The DMS scripts rely on the framework and infrastructure of the PeopleSoft environment for their operation and cannot be run without using PeopleSoft. ECF No. 1543 at 116-17; ECF No. 1543 at 119. The parties agree that when Rimini's update is run on a client's environment, that client's environment is a derivative work. ECF No. 1539 at 177-79.

8. On November 15, 2018, Rimini emailed client EZCORP, Inc. update RS18F07, as attachment file “RS18F07EZPGA.zip”. OREX_0432 at 1. On November 28, 2018, Rimini emailed clients Texas Children's Hospital (OREX_0430), and Pikeville Medical Center (OREX_0431), update RS18F07. On December 20, 2018, Rimini emailed client The NASDAQ OMX Group Inc update RS18F07. OREX_0429. The record is not clear as to whether the updates emailed to other Rimini clients before Easter Seals were the same update eventually emailed to Easter Seals in January 2019. Jim Benge testified that each of these updates were different; they were the same 1099 type update, but each contained “content customized to each client, ” and “documentation that's specific to each client.” ECF No. 1538 at 204.

The Court notes that while Barbara Frederiksen-Cross does not think it is “credible” that Rimini wrote the DMS files without Oracle tools, she did not say that Rimini “couldn't” have done so. ECF No. 1543 at 120-21.

9. The Software License and Services Agreement between Oracle and Easter Seals includes the following pertinent provisions:

1.1 PeopleSoft grants Licensee a nonexclusive, nontransferable license to:
(a) . . .
(b) access and use the Software and provide access to Designates;
(c) modify or merge the Software with other software, and use such modified or merged software and otherwise create and use derivative works.
...
2.1 Licensee shall not:
...
(k) Except as expressly provided herein, or in any Schedule referencing this Agreement, use the Software to create new applications, modules, products or services.
...
4.1 The Software and Documentation contain valuable intellectual property rights and proprietary information. PeopleSoft (or its licensors) retains title to the Software and Documentation, and all copyright and other rights to all portions of the Software and Documentation, and all modifications and alterations thereto, and derivative works thereof (collectively the “Modifications”), and all copies of any of the foregoing. Licensee is granted license rights to use such Modifications, with such rights consistent with those delineated in this Agreement. For such portions of the Modifications that do not contain PeopleSoft intellectual property, this license grant is not revocable. Except as specified herein, Licensee does not acquire any rights, express or implied, in the Software and Documentation, other than as provided in this Agreement, and has no right to commercialize or transfer any Software or Documentation, in whole or in part, or any Modifications thereto. No license, right, or interest in any PeopleSoft trademark, trade name, or service mark, is granted pursuant to this Agreement.
...
14 Definitions
...
Designates” means Licensee's customers, suppliers, vendors, benefits providers and other such third parties providing goods or services to Licensee that Licensee may provide with a right to access the Software to facilitate Licensee's use of the Software consistent with the terms of this Agreement. In no event shall a Designate have the right to (i) install the Software on a server workstation or other computer for the purpose of processing the designates internal data, (ii) access or use the
Software to run its internal data or support its internal operations except as such access or use relates to Licensee's use of the Software consistent with the terms of this Agreement, or (iii) access the source code for the Software for purposes other
than providing services to the Licensee. A breach by a Designate will be considered a breach by Licensee.
DTX-0608.

The Court notes that Rimini's developers do not generally look at the licensing agreements its clients have with Oracle. ECF No. 1538 at 198.

i. Conclusions of Law

1. In its Order to Show Cause, the Court held that if update RS18F07 was developed for Easter Seals, in Easter Seals environment, and Easter Seals is permitted under its license to create derivative works and have a third-party servicer create those derivative works for it, then it could not find Rimini's conduct was a violation of the Permanent Injunction. However, because the Court lacked the necessary information to make such findings, an evidentiary hearing was necessary on the issue. ECF No. 1459 at 24.

2. Oracle seeks a finding that the individual update provided to Easter Seals is a derivative work. Like the Court discussed above, in Rimini II, the Court determined for the first time that a stand-alone update is a derivative work when the update substantially incorporates protected material from the preexisting work, i.e., it was created using Oracle tools and the update could not be used with any software programs other than PeopleSoft. Rimini II, ECF No. 1253 at 51-53; Rimini St., Inc. v. Oracle Int'l Corp., 473 F.Supp.3d 1158 (D. Nev. 2020). Under the law of Rimini II, the Court would likely find that Rsi1099m.sqr, Rsi1099i.sqr, and the DMS files are derivative works. However, the definition of derivative works in this context was neither decided nor argued in this case, and the Court's ruling on derivative works in Rimini II was issued after the operative Permanent Injunction. Further, Oracle's argument goes directly to whether Rimini's support Process 2.0 is unlawful, which is at issue in Rimini II. Therefore, the Court declines to find the SQR or DMS files are derivative works in these contempt proceedings.

3. If these files are not derivative works, the Court cannot find by clear and convincing evidence that Rimini's development or testing of the update for Easter Seals violated Paragraphs 4 or 6 of the Permanent Injunction.

4. Having reviewed the license agreement between Easter Seals and Oracle, the Court finds that Easter Seals may create derivative works and is permitted to have a third-party servicer, like Rimini, develop those derivative works for it. And each of the clients who also received the RS18F07 update received it before Easter Seals, so the Court cannot find that Rimini breached the “commercialization” provision of the Easter Seals license. While the Court is concerned to see what appears to be Rimini using one update for several clients, it cannot find by clear and convincing evidence that Rimini's conduct violates the Easter Seals license.

5. Even if the Court were to find that Rimini's conduct with Easter Seals was a violation of the Permanent Injunction, the Court cannot find that, given the law of this case, Rimini was not substantially complying with the Court's Order. At base, the underlying case found that Rimini was using generic development environments to develop and create updates used to support multiple Rimini clients. Conversely, Rimini's conduct here is exactly what is at issue in Rimini II-Rimini writing an update on its own system that it may then develop and test in several different client environments, each siloed from another. Further, given that Rimini has filed a separate suit seeking declaratory judgment as to the lawfulness of its support Process 2.0, the Court cannot find that any potential noncompliance is not a result of a good faith and reasonable interpretation of the Permanent Injunction at this time.

6. Accordingly, the Court discharges its Order to Show Cause on Issue 6.

F. Issues 7 and 9: J.D. Edwards Source Code

i. Findings of Fact

1. In its Order to Show Cause, the Court held that because the definition of “source code” in paragraph 8 of the Permanent Injunction, disputed by the parties, was material to the Court's ruling, an evidentiary hearing on the issue was necessary. ECF No. 1459 at 25. The Court is now utterly convinced that there is no true dispute over the meaning of the term source code, but the dispute is simply a semantic distinction.

2. Source code is defined by Merriam-Webster as “a computer program in its original programming language (such as FORTRAN or C) before translation into object code usually by a compiler.” OREX_0060 at 1. Similarly, the Compendium of U.S. Copyright Office Practices, third edition, defines source code as:

A set of statements and instructions written by a human being using a particular programming language, such as C, C++, FORTRAN, COBOL, PERL, Java, Basic, PASCAL, LISP, LOGO, or other programming languages. These statements or instructions are comprehensible to a person who is familiar with the relevant programming language, but in most cases a computer or other electronic device cannot execute these statements or instructions unless they have been converted into object code. This conversion is performed by a separate program within the computer, which is known as an interpreter, assembler, or compiler.
OREX_0139 at 413; ECF No. 1536 at 101.
3. Conversely, the Compendium defines “object code” as:
The representation of a computer program in a machine language. It typically consists of the numbers zero and one (i.e., binary coding), the numbers zero through seven (i.e., octal coding), or a combination of letters and numbers (i.e., ASCII or hexadecimal coding). Object code is comprehensible to a computer or other electronic device, but it is not intended to be read by human beings, and as a general rule, it is not directly comprehensible to human beings.
OREX_0139 at 413; ECF No. 1536 at 102-103; ECF No. 1542 at 63 (discussing that closed code refers to code that is “compiled or obfuscated in a way that it's not easily able to be reviewed or modified.”).

4. Rimini agrees that there are two types of code-human readable code, what it calls “open code, ” and compiled code, what it calls “closed code.” ECF No. 1544 at 24. The Court finds by clear and convincing evidence that Rimini's “open code” means “source code” and “closed code” means “object code.” ECF No. 1542 at 148; ECF No. 1543 at 18. As the U.S. Copyright Office uses the terms source code and object code, the Court shall use those terms herein.

The Court notes that Rimini's own “Dictionary of Common JDE Terms” does not define open code or closed code. OREX_0062.

5. A licensee is delivered source code and object code as part of its J.D. Edwards software. ECF No. 1537 at 90, 92; ECF No. 1543 at 18. The licensee also is delivered programs (i.e., Object Management Workbench), that allow the licensee to modify J.D. Edwards source code (which necessarily requires copying) to customize the software for its specific business needs. ECF No. 1537 at 97; ECF No. 1542 at 59, 210-11.

6. The J.D. Edwards license agreement provides in pertinent part:
License Grant
...
2. J.D. Ewards grants to Customer the right to modify the Licensed Products to use any development tools contained in the Licensed Products to create software (“Derived Software”). Such Derived Software is for internal use only and is subject to the terms and conditions of this Agreement. J.D. Edwards shall retail sole ownership of portions of any Software contained in the Derived Software.
License Restrictions
1. Access to the Software is limited to those categories below who have been licensed as a User (collectively “Customer Representatives”):
(i) employees of Customer;
(ii) independent contractors engaged by Customer who require access to the Software to perform tasks; and
(iii) distributors, vendors, and customers of Customer[.]
...
3. For any access to the Software other than by an employee of Customer, Customer shall not provide access to source code and all provided access shall be restricted to screen access for the functions required. ...
7....Customer shall not, cause anyone else to:
(i) reverse engineer, disassemble, decompile, or otherwise attempt to discover the source code of any part of the Software, . . .
...
(iii) copy the Documentation or Software except to the extent necessary for Customer's archival needs and to support the Users. All such copies shall be subject to this Agreement and contain all proprietary legends that appeared on or in the original[.]
OREX_0067 at 1.

This license agreement for Rimini client Giant Cement Holding, Inc. is considered a “JDE Legacy license.” ECF No. 1543 at 20.

7. When Rimini provides clients with tax and regulatory updates, Rimini modifies J.D. Edwards source code using tools provided by Oracle for use with the Software. ECF No. 1542 at 58-59; OREX_0063 at 1. This necessarily makes a copy of the source code. ECF No. 1542 at 79. To support clients, Rimini might also access and view the J.D. Edwards source code, but not modify it, which also necessarily makes copies. ECF No. 1542 at 61-62. When providing functional support-for example, when a client asks, “How do I do X?”, when “providing a parameter or configuration change, ” or when “training the clients how to use the software appropriately”- Rimini might not need to modify J.D. Edwards source code. ECF No. 1542 at 61.

8. Rimini created a 49-page “Technical Design Specification” document for J.D. Edwards update “JDE105328” on September 13, 2013, and revised it in July and August 2018. OREX_0080. Technical Design Specifications might “contain Rimini Street created code” and “markers, ” or “snippets” of Oracle code to “reference the Oracle systems” and show the Rimini developer where to insert the Rimini created code when working in the client's environment. ECF No. 1537 at 129-30; ECF No. 1539 at 145-46; ECF No. 1542 at 56-57, 181-82.

A Technical Design Specification document is an “internal Rimini Street document used by the tax and regulatory team” to show Rimini's developers the “design solution” and “describes the process that went into making [the] changes.” ECF No. 1542 at 55-56; ECF No. 1539 at 144.

Craig Mackereth testified that because each client's code will be slightly different dependent on the modifications in each, Rimini engineers are unable to use code line number for markers. ECF No. 1542 at 181-82. Oracle's expert Barbara Frederiksen-Cross opined that Rimini could have used a “narrative explanation” rather than use snippets of the actual Oracle code. ECF No. ECF No. 1536 at 124.

9. It is undisputed that the Technical Design Specification document for update JDE105328 contains snippets of Oracle code from J.D. Edwards source code files R89078652 and P06767. ECF No. 1536 at 116, 125-26; OREX0080. For example, the characters in bold appear in Rimini's Technical Design Specification, and it is undisputed that they are from the Oracle code files: . .

Update JDE105328 was given to Rimini client Rollings, Inc. in December 2018. OREX_0147; OREX0148; OREX_0149.

VArpt_mnOrigRoth457b…………TH0=”0” Math N……….c To String
...
** Add code to lines before the “If $CT3 <> $T3 OR” conditional block**
...
** Add code before the “Write F06767 RECRCU code line **
OREX_0080 at 11, 36-38. The parties agree that the snippets or segments of code contained within the Technical Design Specification document are not complete lines of code and cannot be run or executed on their own. ECF No. 1537 at 130; ECF No. 1539 at 147; ECF No. 1542 at 57.

10. The parties agree that the snippets of Oracle code include enough information to “dispositively identify the corresponding underlying Oracle lines.” ECF No. 1537 at 132; ECF No. 1539 at 149. Oracle's expert Barbara Frederiksen-Cross did not quantify how many snippets of Oracle code were contained within the Technical Design Specification out of approximately 13, 000 lines of code in both Oracle source code files. ECF No. 1537 at 131. Rimini's expert Owen Astrachan opined that not only are the snippets “not code” but they are “absolutely de minimis.” ECF No. 1539 at 149-50.

Owen Astrachan testified that some of the “markers” in the Technical Design Specification are partial or complete variable and function names from the Oracle source code files. ECF No. 1542 at 27-29.

ii. Conclusions of Law

1. In its Order to Show Cause, the Court considered several issues related to J.D. Edwards software. As to J.D. Edwards EnterpriseOne, Oracle alleges that whenever Rimini uses the Object Management Workbench or “promotes” source code files between client environments (i.e., from a development to a testing environment), Rimini is violating Paragraph 8 of the Permanent Injunction. Similarly, as to J.D. Edwards World, Oracle alleges that Rimini is violating Paragraph 8 of the injunction when its developers display source in source editors and when they promote source code from one environment to another. ECF No. 1459 at 24. Because the parties dispute what type of “source code” Rimini is prohibited from copying, per paragraph 8 of the Permanent Injunction, the Court ordered an evidentiary hearing on the issue. ECF No. 1459 at 25.

2. Rimini argues that Paragraph 8 of the Permanent Injunction only enjoins it from copying what it calls “closed code” or compiled “object code.” It is clear to the Court that Rimini's reading of the Permanent Injunction does not follow the case history. First, it is clear that the J.D. Edwards license agreements authorize a third party like Rimini to copy the J.D. Edwards software application and related documentation for the licensee's archival needs and to support the licensee's use. ECF No. 880 at 27-28. It is also clear that Rimini is not authorized to make copies of J.D. Edwards software application and documentation to access the software's source code to carry out development and testing of software updates, to make modifications to the software, or to use the customer's software or support materials, to support other customers. ECF No. 880 at 28. In this case, Rimini violated the Copyright Act and the J.D. Edwards software agreement not because it was copying object code, or closed code, but because Rimini was copying J.D. Edwards source code in one client's environment to support other customers. It was because of this unlawful conduct that the Court approved Paragraph 8 of the Permanent Injunction. Second, the Court finds by clear and convincing evidence that all parties to the Permanent Injunction understand that source code means human readable code, not compiled object code. See OREX_0068 at 3-4 (Rimini Practice manager, Global J.D. Edwards Service Delivery referring to source code); OREX_0069 at 1 (Rimini Senior J.D. Edwards Support Engineer/ Developer referring to “source code changes”).

The Court declines to find Rimini acted in bad faith because the ultimate determination of whether Rimini may lawfully copy source code under the J.D. Edwards license agreement was not previously before the Court in this case.

3. However, the Permanent Injunction only applies to conduct previously held unlawful. In this case, whether Rimini is ever permitted to lawfully copy source code under a specific provision of the J.D. Edwards license has never been interpreted or decided by this Court. Having considered the provisions of the J.D. Edwards Legacy license agreement, the Court is not convinced at this time that Rimini may never copy source code when doing so is solely to support the needs of the client. And the Court has not before considered what “screen access” means and whether Rimini's support Process 2.0, in which Rimini remotely accesses the client's environments, is permitted given this provision. These issues are squarely before the Court in Rimini II and therefore, the Court declines to reach them at this time.

The Court further declines to reach the parties' arguments regarding third party support provider Spinnaker. Whether Spinnaker, or any other third-party support provider, may conduct their business in a particular way has no bearing on whether Rimini is subject to and/or violating the at-issue Permanent Injunction.

4. Finally, the Court finds by clear and convincing evidence that Rimini violated Paragraph 8 of the Permanent Injunction when it copied snippets of Oracle source code from files R89078652 and P06767 into its Technical Design Specification document for update JDE105328. See ECF No. 1166 ¶ 8 (“Rimini Street shall not copy J.D. Edwards software source code to carry out development and testing of software updates[.]”). However, the Court also finds that the snippets of code are de minimis when compared to the total overall lines of code from those two programs. As de minimis copying is not prohibited by the Copyright Act, see Newton v. Diamond, 388 F.3d 1189, 1193 (9th Cir. 2004), the Court finds that Rimini could have had a good faith and reasonable belief that copying such a small amount of source code was permitted under the Permanent Injunction. The Court now makes clear that Rimini is not permitted to copy even snippets or partial segments of Oracle source code into a Technical Design Specification document. Future copying of this nature will result in the Court finding Rimini willfully violated the Permanent Injunction and sanctions of the highest order.

5. Accordingly, the Court discharges its Order to Show Cause on Issues 7 and 9.

G. Issue 8: Oracle Database file “prvtsidx.plb”

i. Findings of Fact

1. It is undisputed that file “prvtsidx.pbl” was found on Rimini's systems and was initially produced by Rimini “as part of a production that came from a J.D. Edwards 9.0 install.” ECF No. 1536 at 134.

2. In the Court's Order to Show Cause, it ordered an evidentiary hearing as to this file believing it to be a J.D. Edwards file. See ECF No. 1459 at 24-27. But prior to the hearing, the parties agreed that this file is more appropriately considered an Oracle Database file and brought the issue to the Court's attention. ECF No. 1503 at 5; ECF No. 1536 at 134-35. While Rimini sought the Court to exclude this issue from the hearing due to the misidentification of the file, the Court held that it would be beneficial to allow the parties to argue and present evidence on the issue at the hearing. ECF No. 1503 at 5.

3. It is undisputed that this file was sent to Rimini by its client, Australian Bureau of Statistics. OREX_1342 at 5, 7-8; ECF No. 1536 at 136-37. Australian Bureau of Statistics uploaded the file to the SalesForce system, which created a copy of the file on Rimini's system. ECF No. 1536 at 136, 139; ECF No. 1537 at 136.

4. From the communications between Rimini and Australian Bureau of Statistics, the Court finds that Rimini opened the .zip file and opened the .plb file, thereby creating additional copies of the Oracle file on Rimini's systems. ECF No. 1536 at 138-39; OREX_1342.

5. From the SalesForce communications, the record does not support a finding that Rimini ever informed Australian Bureau of Statistics not to upload such files to its systems. See OREX1342; ECF No. 1536 at 140.

6. Rimini's client, Australian Bureau of Statistics, holds a license to Oracle Database and is governed by the Oracle License and Service Agreement (“OLSA”). See DTX-803; DTX-804. Section C of the OLSA provides in pertinent part: the licensee has a “limited right to use [Oracle Database] . . . solely for [the licensee's] internal business operations and subject to the terms of this agreement[.] . . . [The licensee] may allow [its] agents and contractors (including, without limitation, outsourcers) to use the programs for this purpose[.]” DTX-804 at 5. Section D of the OSLA provides in pertinent part: the licensee “may make a sufficient number of copies of each program (other than for Siebel programs), for [its] licensed use[.]” DTX-804 at 5.

ii. Conclusions of Law

1. The Court previously held that Paragraph 15 of the Permanent Injunction does not prohibit all copying of Oracle Database, specifically, when copying of Oracle Database is necessarily done while Rimini is making permitted copies of other Oracle Enterprise Software. ECF No. 1459 at 28; ECF No. 1166 ¶ 15 (“Rimini Street shall not reproduce, prepare derivative works from, or distribute Oracle Database software.”).

2. On Summary Judgment, the Court held that when Rimini downloaded Oracle Database files from the Oracle Technology Network website, its use of those files was governed by the Developer License not the OLSA. ECF No. 476 at 13. The Court also found that even if the OLSA governed, Section C of OLSA does not expressly authorize Rimini to make copies of the licensed software, and Section D only permits the licensee to make a copy of the software, not third-party support providers. ECF No. 476 at 14-15.

3. The Court finds by clear and convincing evidence that when Australian Bureau of Statistics uploaded Oracle Database file “prvtsidx.pbl” to SalesForce a copy of the file was made on Rimini's systems. The Court also finds by clear and convincing evidence that when Rimini opened the file, another copy was made on Rimini's systems. The Court recognizes that the situation before the Court is strikingly different from that held unlawful on summary judgment- here, Rimini's client sent the file to Rimini, and therefore, Rimini's conduct is governed by the OLSA, and Rimini used that file to support its client's sole internal data processing operations. However, in doing so, Rimini still acted outside the plain meaning of the OLSA, as previously held, and against the direct rulings of this Court. Accordingly, the Court finds that Rimini's conduct is a violation of Paragraph 15 of the Permanent Injunction.

4. Initially, Rimini's conduct was not willful-the prohibited material was sent to Rimini by its client. However, Rimini's conduct became a willful violation of the Court's order when it opened the .zip and .plb files rather than immediately quarantine the files and inform Australian Bureau of Statistics not to send Oracle copyrighted files to Rimini.

5. Based on the evidence presented, the Court finds that Rimini is not substantially complying with the Court's Order. Rimini has been on notice since 2014 of the Court's interpretation of the OLSA and Rimini's responsibility to operate within that license agreement when working for its clients.

6. The Court cannot find that Rimini's violation of Paragraph 15 of the Permanent Injunction was the result of a good faith and reasonable interpretation of the Permanent Injunction. The Court laid out in detail how the OLSA is to be applied and Rimini failed to follow the Court's explicit rulings on file since 2014.

7. Accordingly, the Court finds Rimini in contempt of Court on Issue 8.

H. Issue 10: Rockefeller Group International and Home Shopping Network

i. Findings of Fact

1. Rimini update HCM200105 was designed to solve “quarterly tax reporting” issues for “certain tax jurisdictions, for example, Oregon transit tax.” ECF No. 1538 at 73. This update created new reports that had not previously been created. ECF No. 1538 at 73.

2. Update HCM200105 consists of several files: a Rimini written SQR file “rsiqtrtx.sqr”; a Data Mover script, “HCM200105.DMS”, containing Rimini written “sequel statements”; and several “online objects.” ECF No. 1538 at 75-76; DTX-1000. To create the objects, Rimini uses “the design tool that is included with the [PeopleSoft] software, ” and the creation must “be done within the client environment.” ECF No. 1538 at 76. Data mover scripts are “scripts that are very much like Sequel Scripts, SQL scripts, that are executed through a PeopleSoft tool called Data Mover.” This DMS script was written using a text editor, such as NotePad, on Rimini's systems and not using any Oracle tools. ECF No. 1538 at 87-88. Rimini wrote the SQR file “rsiqtrtx.sqr” using a text editor on its own systems, the file resides on its systems, and does not contain any Oracle code. ECF No. 1538 at 77.

The parties refer to this file as “rsi quarter tax.” ECF No. 1537 at 56. This file generates a report to summarize tax withholding for the Oregon transit tax. ECF No. 1538 at 76. The SQR file modification log provides that this file was originally developed in September 2018. ECF No. 1538 at 80; DTX-1008-002.

The parties dispute the effect of “#include” statements in the code, which pull Oracle files into the Rimini program when run in a PeopleSoft program but do nothing until inserted into the Oracle program. ECF No. 1536 at 26. The Court is concerned that such programming statements would mean that the SQR file is a derivative work. However, as the Court declines to reach this finding, discussed below, the Court declines to delve further into this issue.

3. Rimini created a “development instruction” (“dev instructions”) document for this update, which is the Rimini developer's notes and guidance on how to create this update and/or change in a client's environment. ECF No. 1538 at 77; See OREX_0053. The dev instruction resides on Rimini's systems. ECF No. 1538 at 78.

The lawfulness of dev instructions is not before the Court. See ECF No. 1459 at 15.

4. This update was previously created and tested for at least one client, Santa Clara Valley Water District, before Rockefeller Group International and Home Shopping Network. ECF No. 1536 at 78, 98; ECF No. 1538 at 79; OREX0127. During this initial development, Rimini created file names and field types; what Rimini considers its “know-how.” ECF No. 1538 at 81.

5. To develop this update, Rimini developers followed the 13-step dev instructions. This entailed Rimini engineers transferring the Rimini written code files, that were written on Rimini's systems, to the client's development environment. ECF No. 1538 at 84-85, 91. The developer then used tools within the client's PeopleSoft environment, such as Application Designer, to edit the code and/or create objects within the environment. ECF No. 1538 at 84-86. The Rimini developer unit tested the update and if errors occurred, corrected any mistakes made using the Application Designer tool in the client's environment. ECF No. 1538 at 92. After ensuring functionality, the developer turned the update over to the Quality Assurance team for additional testing. ECF No. 1538 at 93. This 13-step process was followed for each client, in each client's separate, siloed environment. ECF No. 1538 at 93.

“Quality Assurance” (“QA”) is the process of ensuring that what Rimini developed, i.e., the tax and regulatory update, is working correctly and/or as expected in each client's environment. ECF No. 1539 at 8.

6. The parties agree that with respect to this specific update, no Oracle files were ever intermingled from the three separate, siloed client environments-Santa Clara Valley Water District, Home Shopping Network, and Rockefeller Group International. ECF No. 1537 at 58.

7. When Rimini developed the update and followed the 13-step process outlined in the dev instructions, copies of Oracle's PeopleSoft software were made in each client's separate environment. ECF No. 1537 at 57-58, 62-64; ECF No. 1539 at 185.

ii. Conclusions of Law

1. In its Order to Show Cause, the Court held that as to update HCM200105, delivered to Rimini clients Rockefeller Group International and Home Shopping Network, it was not clear whether the update was sent directly to these clients or developed and tested in each client's environment. The Court therefore determined that an evidentiary hearing was needed to determine whether Rimini's conduct violates the Permanent Injunction. ECF No. 1459 at 27.

2. Based on the record before it, the Court cannot find Rimini violated the Permanent Injunction. While it is clear that Rimini wrote a file and then sent that file to several customers, nothing before the Court shows that Rimini used one client's PeopleSoft environment, under color of that client's license, to create those files. The record before the Court shows that Rimini wrote both the DMS and SQR files contained within update HCM200105 on its systems using a text editor and not using any of Oracle's tools. Nothing before the Court shows that Rimini made changes to the DMS or SQR files on its systems based on work conducted in Santa Clara Valley Water District's environment, nor after the update was developed in either Rockefeller Group International's environment or Home Shopping Network's environment. And any copies of Oracle software occurred in each client's separate, siloed environment while Rimini was developing the update for that specific client. See ECF No. 1539 at 185, 187-88.

Oracle's expert Barbara Frederiksen-Cross opined that “the fruits of having created that RAM copy to do development, to do testing, to do the interactive process as necessary to make sure that this program, which is an extension of the PeopleSoft environment, performs its intended function in the PeopleSoft environment, is still for the benefit of any subsequent customer that receives it.” ECF No. 1537 at 63. However, Barbara Frederiksen-Cross can point to no evidence to support a finding that Rimini did use the “fruits” of the development process in Santa Clara Valley Water District's environment to support Rockefeller Group International or Home Shopping Network. This is in contrast to issue 2 discussed above, when Rimini used the City of Eugene's environment to modify its SQR file and then subsequently delivered the SQR file to other clients.

3. Oracle asks the Court to find that file ‘rsiqtrtx.sqr' is a derivative work. Like the Court discussed above, in Rimini II, the Court determined for the first time in this context that a stand-alone update is a derivative work if the update substantially incorporated protected material from the preexisting work, i.e., it was created using Oracle tools and the update could not be used with any software programs other than PeopleSoft. Rimini II, ECF No. 1253 at 51-53; Rimini St., Inc. v. Oracle Int'l Corp., 473 F.Supp.3d 1158 (D. Nev. 2020). Under the law of Rimini II, the Court would likely find that the file “rsiqtrtx.sqr” is a derivative work. However, the definition of derivative works was neither decided nor argued in this case, and the Court's ruling on derivative works in Rimini II was issued after the operative Permanent Injunction issued. Further, Oracle's argument goes directly to whether Rimini's support Process 2.0 is unlawful, which is directly at issue in Rimini II. Therefore, the Court declines to find the SQR file is a derivative work in these contempt proceedings, without prejudice to Oracle in Rimini II.

7. If these files are not derivative works, the Court cannot find by clear and convincing evidence that Rimini's development or testing of the update for Rockefeller Group International or Home Shopping Network violated Paragraphs 4 or 6 of the Permanent Injunction. While the Court is concerned to see what appears to be Rimini using one update for several clients, it cannot find by clear and convincing evidence that Rimini's conduct violates the Permanent Injunction at this time.

The parties both reference that this SQR file is a “one version for all clients, ” meaning a “one size fits all file that could be used across multiple customers.” See OREX_0052 at 2; ECF No. 1536 at 68-70. While this may be the case, the record before the Court does not support a finding that Rimini used one client's environment to create this ‘one size fits all' file.

8. Even if the Court were to find that Rimini's conduct with Rockefeller Group International and Home Shopping Network were violations of the Permanent Injunction, the Court cannot find that, given the law of this case, Rimini was not substantially complying with the Court's Order. At base, the underlying case found that Rimini was using generic development environments to develop and create updates used to support multiple Rimini clients. Conversely, Rimini's conduct here is exactly what is at issue in Rimini II-Rimini writing an update on its own system that it may then develop and test in several different client environments, each siloed from the other. Further, given that Rimini has filed a separate suit seeking declaratory judgment as to the lawfulness of its support Process 2.0, the Court cannot find that any potential noncompliance is not a result of a good faith and reasonable interpretation of the Permanent Injunction at this time.

9. Accordingly, the Court discharges its Order to Show Cause on Issue 10.

V. SANCTIONS

As discussed above, the Court finds Rimini in contempt of Court upon Issues 1, 2, 3, 4, and 8. As sanctions for such contemptuous conduct, Oracle seeks (1) compensatory damages, (2) attorney's fees and costs for successfully mounting these contempt proceedings, and (3) impoundment of the infringing copies and Rimini's computer systems, or alternatively, require that they be placed in escrow so that Oracle can monitor Rimini's compliance until Rimini demonstrates compliance with the Permanent Injunction. ECF No. 1365 at 34-35.

Oracle requests that it be permitted to reopen discovery for the narrow purpose of determining the amount of compensatory damages. ECF No. 1365 at 35. Because the Court determines statutory sanctions are appropriate, the Court denies Oracle's request.

Civil contempt sanctions are appropriate for two purposes: “(1) coercing compliance with a court order; and (2) compensating the prevailing party.” Ahearn ex rel. N.L.R.B. v. Int'l Longshore & Warehouse Union, Locals 21 & 4, 721 F.3d 1122, 1128 (9th Cir. 2013). “Compensatory sanctions are retrospective and seek to compensate the victim for the damages caused by the contumacious party's disobedience.” CBS, Inc. v. Pa. Rec. Outlet, Inc., 598 F.Supp. 1549, 1557 (W.D. Pa. 1984). Compensatory sanctions may be awarded in the form of statutory damages pursuant to the Copyright Act, 17 U.S.C. § 504, when the contemptuous behavior involves copyright infringement. See, e.g., BMG Music v. Perez, 952 F.2d 318, 320 (9th Cir. 1991) (affirming a contempt sanction in the “amount no greater than statutory damages for the resulting copyright infringement”); Adobe Sys., Inc. v. Software Tech, Case No. 5:14-cv-02140-RMW, 2015 WL 6951875, at *6 (N.D. Cal. 2015) (imposing a contempt sanction based on statutory damages for the violation of a preliminary injunction); Koninklijke Philips Elecs. N.V. v. Kxd Tech., Inc., Case No. 2:05-cv-01532-RLH-GWF, 2007 WL 9753081, at *3 (D. Nev. 2007) (finding the use of the Lanham Act to structure contempt sanctions appropriate because the statute governs a plaintiff's award in such a case and grants the authority to enforce injunctive relief); Walt Disney Co. v. Video 47, Inc., 972 F.Supp. 595, 603 (S.D. FLa. 1996) (“Where the behavior which violates the Court's Order involves copyright infringement, the Court may impose compensatory fines to be paid to the damaged [party] based upon the statutory damages provision of the Copyright Act, 17 U.S.C. § 504(c).”). The Copyright Act grants a district court the discretion to award statutory damages “of not less than $750 or more than $30,000” per infringed work. 17 U.S.C. § 504(c)(1). But if the copyright owner “sustains the burden of proving, and the court finds, that infringement was committed willfully, ” the Court has discretion to award up to $150,000 per infringed work. 17 U.S.C. § 504(c)(2).

The Court found above that Rimini willfully violated the Permanent Injunction and is in contempt of Court upon Issues 2, 3, 4, 8, and 1, in part, for its conduct involving clients G-6 Hospitality and Texas Children's Hospital. The Court also finds Rimini violated the Permanent Injunction and is in contempt of Court upon Issue 1 for its conduct involving client R.R. Donnelley & Sons, but that Rimini's conduct was not willful. Rimini's contemptuous conduct was extensive, deliberate, and pervasive-Rimini repeatedly infringed on Oracle's copyrights in essentially the same manner the Court and a jury previously determined was unlawful. And Rimini has been on notice since at least 2015 that this conduct is prohibited, three to four years prior to committing the infringing conduct. Therefore, the record clearly supports the Court's finding that a compensatory fine of $100,000 per willfully infringed work, and $30,000 per non-willfully infringed work, for a total of $630,000, is an appropriate award to sufficiently compensate Oracle for Rimini's contemptuous conduct.

Oracle also seeks an award of attorney's fees and costs. It is well settled that an award of attorney's fees and costs is appropriate in civil contempt proceedings, and the Court finds that such an award is appropriate here. Perry v. O'Donnell, 759 F.2d 702, 705 (9th Cir. 1985) (trial courts “have the discretion to analyze each contempt case individually and decide whether an award of fees and expenses is appropriate as a remedial measure.”). While the Court is holding Rimini in contempt of Court on only five of the ten issues presented at the hearing, the Court's finding of willfulness on the majority of these issues clearly supports the award. However, because Oracle has not yet presented evidence of attorney's fees or costs in connection with this motion, the Court is unable to determine the appropriate award amount at this time. Therefore, the Court orders additional briefing as set forth below. Oracle's briefing should thoroughly describe and substantiate its claim for fees and costs related to bringing Rimini's contemptuous behavior to the Court's attention. See LR 54-14.

Finally, Oracle's requested sanction of impoundment or escrow of Rimini's infringing copies and computer systems is not appropriate at this time. See 17 U.S.C. § 503 (permitting impoundment only “while an action under [the Act] is pending.”). However, the Court agrees with Oracle that Rimini cannot and should not be permitted to benefit for its contemptuous conduct. The Court therefore orders Rimini to quarantine all contemptuous files and provide notice and proof to Oracle, within 3 days of the entry of this Order, that the Court's Order has been followed. Failure to do so will result in additional sanctions.

The Court finds that this sizable statutory sanction, and what the Court anticipates will be sizable attorney's fees and costs, serves to not only compensate Oracle for Rimini's contemptuous behavior, but also compel Rimini to comply with the Court's Orders and abide by the Permanent Injunction going forward. Moreover, the Court finds that this sanction is the minimum sanction necessary to secure compliance. United States v. Bright, 596 F.3d 683, 696 (9th Cir. 2010).

VI. ORDER & JUDGMENT

IT IS THEREFORE ORDERED, ADJUDGED AND DECREED as follows:

a. Rimini is hereby found in Contempt of Court upon Issues 1, 2, 3, 4, and 8.
b. The Court discharges its Order to Show Cause upon Issues 5, 6, 7, 9 and 10.

IT IS FURTHER ORDERED that the Court will impose statutory sanctions against Rimini in the amount of $630,000.

IT IS FURTHER ORDERED that the Court will impose reasonable attorneys' fees and costs against Rimini. Oracle shall file a bill of fees and costs within 30 days of the filing of this Order. Rimini shall have 30 days from the date of Oracle's filing to object. No reply by Oracle is needed. See LR 54-14.

IT IS FURTHER ORDERED that Rimini shall quarantine all contemptuous files and provide notice and proof to Oracle, within 7 days of the entry of this Order, that the Court's Order has been followed. Failure to do so will result in additional sanctions.

IT IS SO ORDERED.


Summaries of

Oracle U.S. Inc. v. Rimini St. Inc.

United States District Court, District of Nevada
Jan 12, 2022
2:10-cv-00106-LRH-VCF (D. Nev. Jan. 12, 2022)
Case details for

Oracle U.S. Inc. v. Rimini St. Inc.

Case Details

Full title:ORACLE USA, INC.; a Colorado corporation; ORACLE AMERICA, INC.; a Delaware…

Court:United States District Court, District of Nevada

Date published: Jan 12, 2022

Citations

2:10-cv-00106-LRH-VCF (D. Nev. Jan. 12, 2022)

Citing Cases

Oracle U.S., Inc. v. Rimini St., Inc.

Issue 8: Rimini copied an Oracle Database file received from its client, the Australian Bureau of…