FOR PUBLICATION

UNITED STATES COURT OF APPEALS

FOR THE NINTH CIRCUIT

ORACLE USA, INC.; ORACLE 

AMERICA, INC.; ORACLE 

INTERNATIONAL CORPORATION, 

Plaintiffs-Appellees, 

 v. 

RIMINI STREET, INC., 

Defendant-Appellant.

No. 22-15188 

D.C. No. 

2:10-cv-00106-

LRH-VCF 

OPINION

Appeal from the United States District Court

for the District of Nevada

Larry R. Hicks, District Judge, Presiding

Argued and Submitted February 6, 2023

San Francisco, California

Filed August 24, 2023

Before: Jay S. Bybee and Patrick J. Bumatay, Circuit 

Judges, and Richard D. Bennett,* Senior District Judge.

Opinion by Judge Bumatay

* The Honorable Richard D. Bennett, United States Senior District Judge 

for the District of Maryland, sitting by designation.
2 ORACLE USA, INC. V. RIMINI STREET, INC. 

SUMMARY**

Civil Contempt

The panel affirmed in part, reversed in part, and vacated 

in part the district court’s order holding Rimini Street, Inc., 

in civil contempt and imposing sanctions for violations of a 

permanent injunction in copyright infringement litigation 

between Rimini and Oracle USA, Inc.

The permanent injunction generally prohibited Rimini 

from reproducing, preparing derivative works from, or 

distributing certain Oracle software. The district court 

identified ten potential violations of the permanent 

injunction (Issues 1–10), and held Rimini in contempt on 

five (Issues 1-4, 8). 

The panel affirmed the district court’s finding of 

contempt on Issues 1-4. The panel held that the district court 

did not abuse its discretion in holding Rimini in contempt for 

hosting Oracle files on its computer systems (Issue 1). The 

panel declined to adopt the test set in TiVo Inc. v. EchoStar 

Corp., 646 F.3d 869 (Fed. Cir. 2011) (en banc) (holding that, 

in a patent infringement case, the district court must 

determine whether a company’s new devices were more than 

colorably different from the original infringing ones before 

deciding whether the company engaged in new infringing 

activity in a contempt proceeding). The panel also held that 

the district court did not abuse its discretion in finding 

Rimini in contempt for violating the injunction against the 

** This summary constitutes no part of the opinion of the court. It has 

been prepared by court staff for the convenience of the reader.
ORACLE USA, INC. V. RIMINI STREET, INC. 3

“cross use” of development environments (Issues 2, 3, and 

4).

Reversing the finding of contempt on Issue 8, the panel 

held that the district court abused its discretion in holding 

Rimini in contempt for creating copies of an Oracle 

Database file on its systems.

On Issues 7 and 9, the district court concluded that 

Rimini did not violate the permanent injunction but ruled 

that Rimini was not permitted to copy even snippets or 

partial segments of Oracle source code. The panel vacated 

the district court’s order on Issues 7 and 9 to the extent it 

read the permanent injunction to enjoin de minimis copying.

The panel held that the district court did not abuse its 

discretion or impose an impermissibly punitive sanctions 

award for each of six willful and one non-willful contempt 

findings. Given the reversal on Issue 8, however, the panel 

vacated and remanded the sanctions award for recalculation.
4 ORACLE USA, INC. V. RIMINI STREET, INC. 

COUNSEL

Mark A. Perry (argued), Weil Gotshal & Manges LLP, 

Washington, D.C.; Jeremy M. Christiansen, Gibson Dunn & 

Crutcher LLP, Washington, D.C.; Samuel G. Liversidge, 

Ilissa S. Samplin, and Casey J. McCracken, Gibson Dunn & 

Crutcher LLP, Los Angeles, California; Blaine H. Evanson, 

Gibson Dunn & Crutcher LLP, Irvine, California; Joseph A. 

Gorman, Gibson Dunn & Crutcher LLP, San Francisco, 

California; West Allen, Howard & Howard, Las Vegas, 

Nevada; Eric D. Vandevelde; United States Attorney’s 

Office, Los Angeles, California; for Defendant-Appellant. 

Raechel K. Kummer (argued) and David B. Salmons, 

Morgan Lewis & Bockius LLP, Washington, D.C.; 

Benjamin P. Smith and Sharon R. Smith, Morgan Lewis & 

Bockius LLP, San Francisco, California; Dorian E. Daley, 

Peggy Bruggman, and James C. Maroulis, Oracle 

Corporation, Redwood City, California; Paul D. Clement, 

Erin E. Murphy, and Matthew Rowen, Clement & Murphy 

PLLC, Alexandria, Virginia; Karen L. Dunn and William A. 

Isaacson, Paul Weiss Rifkind Wharton & Garrison LLP, 

Washington, D.C.; Richard J. Pocker, Boies Schiller & 

Flexner LLP, Las Vegas, Nevada; Beko O. ReblitzRichardson, Boies Schiller & Flexner LLP, San Francisco, 

California; for Plaintiffs-Appellees.
ORACLE USA, INC. V. RIMINI STREET, INC. 5

OPINION

BUMATAY, Circuit Judge:

This civil contempt dispute is fallout from the protracted 

copyright infringement litigation between Oracle USA, Inc. 

and Rimini Street, Inc.—now in its thirteenth year. In the 

underlying case, the district court entered a permanent 

injunction that enjoined Rimini from various infringing 

practices. Years later, the district court identified ten

potential violations of the permanent injunction (“Issues 1–

10”), and ultimately held Rimini in contempt on five. Rimini 

was ordered to pay $630,000 in statutory sanctions, plus 

attorneys’ fees. On appeal, Rimini argues that the contempt 

order should be reversed and that the sanctions should be 

vacated. 

We affirm the district court’s finding of contempt on 

Issues 1–4, reverse on Issue 8, and vacate the district court’s 

order on Issues 7 and 9 to the extent it reads the permanent 

injunction to enjoin de minimis copying. We vacate and 

remand the sanctions award to Oracle for recalculation.

I.

Oracle owns and develops copyrighted software for large 

organizations. Oracle’s enterprise software products help 

organizations perform various business functions, such as

human resources, payroll, taxes, shipping, and customer 

relations. Businesses and organizations purchase licenses to 

use specific programs and the products can be customized to 

accommodate their needs. At issue here are four of Oracle’s 

software programs: PeopleSoft, Siebel, J.D. Edwards, and 

Oracle Database. 
6 ORACLE USA, INC. V. RIMINI STREET, INC.

Oracle’s enterprise software products require ongoing

updates and technical support. For example, an update may 

reflect changes to regulations or the tax code. So along with

a licensing fee, Oracle’s licensees may pay an additional fee 

for software upgrades and support. They may also outsource 

support services to third parties, like Rimini.

Rimini is Oracle’s largest competitor for its software 

support services. Rimini supports and maintains Oraclelicensed software products for thousands of clients. Rimini’s 

clients include many Fortune 500 companies, universities, 

governments, and hospitals. Co-defendant Seth Ravin 

serves as the CEO of Rimini.

A.

Process 1.0 and Rimini I 

In 2010, Oracle sued Rimini for copyright infringement 

of its PeopleSoft, J.D. Edwards, Siebel, and Oracle Database

software. Oracle alleged that Rimini’s support process for 

its clients, known as Process 1.0, violated Oracle’s 

copyrights by “local hosting” and “cross using” Oracle’s 

products. “Local hosting” refers to Rimini creating 

“generic” Oracle software development environments on 

Rimini’s local computer systems to develop and test 

software updates and fixes for clients’ Oracle products. 

Once perfected, Rimini would then deliver the updates and 

fixes to a client’s “live” environment, run on the client’s 

systems. “Cross use” refers to Rimini creating a 

development environment under the license of one client to 

support other clients. 

In response to Oracle’s suit, Rimini argued that each of 

its clients held a valid Oracle license and no client received

a benefit it wasn’t entitled to. But in Oracle’s view, even 
ORACLE USA, INC. V. RIMINI STREET, INC. 7

when clients hold identical licenses, cross use isn’t 

permitted. Generally, Oracle believed its licenses required 

Rimini to perform work for each client only in the 

development environment for that client. 

In 2014, the district court granted partial summary 

judgment to Oracle on aspects of the copyright claims. See

Oracle USA, Inc. v. Rimini St., Inc., 6 F. Supp. 3d 1086, 1107 

(D. Nev. 2014). And in 2015, a jury sided with Oracle on the 

rest of its copyright infringement claims against Rimini. The 

jury awarded Oracle $35.6 million in damages on a 

hypothetical license theory. The jury also found for Oracle

on two state-law claims. The district court further assessed 

costs, attorneys’ fees, and prejudgment interest against 

Rimini. And the district court entered a permanent 

injunction against Rimini based on the copyright and statelaw claims, enjoining the company from infringing Oracle’s 

PeopleSoft, J.D. Edwards, Siebel, and Oracle Database 

copyrights. 

The Ninth Circuit affirmed the judgment on the 

copyright infringement claims and the costs award. Oracle 

USA, Inc. v. Rimini St., Inc., 879 F.3d 948, 953 (9th Cir.

2018) (“Rimini I”). We reversed the state-law claims, 

however, and vacated the injunction for reconsideration

under only the copyright claims. Id. at 964. The Supreme 

Court later reversed on the meaning of “costs.” Rimini St., 

Inc. v. Oracle USA, Inc., 139 S. Ct. 873, 875–76 (2019). 

B.

The Permanent Injunction

After that appeal, the district court granted Oracle’s 

renewed motion for a permanent injunction in 2018. Rimini 

appealed the issuance of the permanent injunction. In an 
8 ORACLE USA, INC. V. RIMINI STREET, INC.

unpublished decision, we affirmed the grant of the

permanent injunction except as to two aspects of the order, 

which we held were overbroad. See Oracle USA, Inc. v. 

Rimini St., Inc., 783 F. App’x 707, 710 (9th Cir. 2019) 

(unpublished) (“Rimini Injunction Appeal”). We first struck 

the provision enjoining “local hosting” of the J.D. Edwards

and Siebel software programs because those products’

licenses did not prohibit it. Id. at 710–11. We also struck 

the provision enjoining “access” to Oracle’s source code 

because “accessing” copyrighted work is not infringing 

activity under the Copyright Act. Id. at 711 (citing 17 U.S.C. 

§ 106 (2002)). 

Generally, the operative permanent injunction provides

that “Rimini Street shall not reproduce, prepare derivative 

works from, or distribute PeopleSoft, J.D. Edwards, or 

Siebel software . . . 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 . . . authorizing Rimini Street’s specific 

conduct.” Permanent Injunction ¶ 2a. 

The permanent injunction has three relevant provisions

related to PeopleSoft:

• “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[.]” Id. ¶ 4.

• “Rimini Street shall not reproduce, 

prepare derivative works from, or use 

PeopleSoft software or documentation 
ORACLE USA, INC. V. RIMINI STREET, INC. 9

on, with, or to any computer systems 

other than a specific licensee’s own 

computer systems[.]” Id. ¶ 5.

• “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[.]” Id. ¶ 6.

As for J.D. Edwards, the permanent injunction states that 

“Rimini Street shall not copy or access J.D. Edwards 

software source code to carry out development and testing 

of software updates[.]” Id. ¶ 8.

As for Oracle Database, the permanent injunction 

provides that “Rimini Street shall not reproduce, prepare 

derivative works from, or distribute Oracle Database 

software.” Id. ¶ 15. 

C.

Process 2.0 and Rimini II

In response to the district court’s 2014 summary 

judgment ruling, Rimini transitioned its client support 

process to “Process 2.0.” The transition involved two major 

changes: (1) switching from local-hosting to remote-hosting, 

and (2) switching from cross-used generic development 
10 ORACLE USA, INC. V. RIMINI STREET, INC.

environments to client-specific development environments. 

Process 2.0 requires Rimini’s clients to host development 

environments on their own systems, which Rimini can 

access remotely. Moreover, under Process 2.0, Rimini no 

longer locally hosts any Oracle environment on its own

systems. The transition to Process 2.0 was completed before 

the 2015 trial in Rimini I.

Rimini filed a new suit seeking a declaratory judgment 

that Process 2.0 was non-infringing on Oracle’s copyrights. 

See Complaint for Declaratory Judgment, Rimini St., Inc. v. 

Oracle Int’l Corp., No. 2:14-cv-01699 (D. Nev. Oct. 15, 

2014) (“Rimini II”). Although Rimini sought to consolidate 

Rimini II with Rimini I, the district court denied the motion 

and the litigation proceeded on separate tracks. Rimini II is 

currently on appeal in our court. 

D.

Contempt Proceedings in Rimini I

In 2019, Oracle sought permission to conduct discovery 

to determine whether Rimini was complying with the 

permanent injunction. After 18 months of discovery, the 

district court identified ten potential violations and ordered 

Rimini to show cause why it should not be held in contempt 

for violating the permanent injunction. 

Following a seven-day bench trial, the district court held 

Rimini in contempt on five of the ten issues:

Issue 1: Rimini possessed copies of 

copyrighted PeopleSoft files on 

Rimini’s local systems in three 

circumstances. 
ORACLE USA, INC. V. RIMINI STREET, INC. 11

Issues 2, 4: Rimini developed and tested a 

PeopleSoft update in a 

development environment for 

its client, City of Eugene, which

was later delivered to clients 

Matheson Trucking, Spherion, 

and Smead. 

Issue 3: Rimini cross used the City of 

Eugene environment to solve a 

PeopleSoft bug related to the 

printing of W-2 forms for client 

Johnson Controls.

Issue 8: Rimini copied an Oracle 

Database file received from its 

client, the Australian Bureau of 

Statistics. 

Oracle USA, Inc. v. Rimini St., Inc., No. 10-cv-00106, 2022 

WL 112187, at *17–19, *25–26, *29–30, *48–49 (D. Nev. 

Jan. 12, 2022) (“Rimini Contempt Order”). For Issues 2, 3, 

4, and 8, the district court found that Rimini “willfully” 

violated the permanent injunction. Id. at *34. On Issue 1, 

the district court found two willful violations and one nonwillful violation. Id.

On two more issues, Issue 7 and Issue 9, the district 

court concluded that Rimini did not violate the permanent 

injunction by copying “snippets” of Oracle source code from 

J.D. Edwards files because “de minimis copying” isn’t 

prohibited by the Copyright Act. Id. at *29–30. Even so, the 

district court ruled that “Rimini is not permitted to copy even 

snippets or partial segments of Oracle source code” and 

made clear that “[f]uture copying of this nature will result in 
12 ORACLE USA, INC. V. RIMINI STREET, INC.

the Court finding Rimini willfully violated the Permanent 

Injunction.” Id. at *30.

For the sustained contempt charges, the district court 

ordered Rimini to pay Oracle $630,000 in sanctions. This

represented $100,000 for each willful violation and $30,000 

for the non-willful violation. The district court based these 

amounts on the statutory damages available under the 

Copyright Act. See 17 U.S.C. § 504(c). The district court 

also imposed attorneys’ fees and costs on Rimini.

Rimini now appeals the contempt findings and the award

of sanctions. 

II.

We start by reviewing the five findings of contempt, 

which we group into three categories—local hosting (Issue 

1), cross use (Issues 2–4), and Oracle Database copying

(Issue 8). We then consider whether the district court 

properly enjoined Rimini from de minimis copying, even if 

it did not hold Rimini in contempt for such conduct (Issues 

7 and 9). And finally, we examine the district court’s 

imposition of sanctions against Rimini. 

We review these issues for abuse of discretion. United 

States v. Washington, 761 F.2d 1419, 1421 (9th Cir. 1985); 

United States v. Bright, 596 F.3d 683, 694 (9th Cir. 2010). 

We accept the district court’s factual findings unless they are 

clearly erroneous. Dolman v. Agee, 157 F.3d 708, 715 (9th 

Cir. 1998).
ORACLE USA, INC. V. RIMINI STREET, INC. 13

A.

Contempt Findings

1.

Issue 1: Local Hosting 

The district court did not abuse its discretion in holding 

Rimini in contempt for hosting Oracle files on its computer

systems—Issue 1. The district court’s contempt finding 

turned on three instances in which Rimini possessed 

copyrighted PeopleSoft files on its local systems. In each 

case, Rimini’s clients emailed the PeopleSoft files to Rimini

employees. In two instances, the Rimini client sent the 

copyrighted files unsolicited; in the third case, the client did 

not follow instructions to place files in a shared folder. In 

each case, Rimini employees did not immediately quarantine 

or report the files to Rimini’s security or compliance 

departments, as required by Rimini’s internal policies. In 

two cases, Rimini employees forwarded the copyrighted 

material to other employees and further saved the files on 

shared drives on Rimini’s computers. These two instances 

prompted the district court’s finding of a willful violation of 

the permanent injunction. The district court also noted three 

other incidents of copying of PeopleSoft files on Rimini’s 

local systems, but did not find them to be independent 

violations. 

The plain language of the permanent injunction prohibits 

Rimini from locally hosting PeopleSoft software on its

systems. Paragraph 5 of the permanent injunction provides

that “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[.]” The district court 
14 ORACLE USA, INC. V. RIMINI STREET, INC.

found that Rimini violated this part of the permanent 

injunction by “reproducing” PeopleSoft files on its local 

computer systems in these three circumstances. 

Rimini does not contest that it hosted PeopleSoft’s 

software on its computer systems, but asksthis court to adopt

the test set in TiVo Inc. v. EchoStar Corp., 646 F.3d 869 

(Fed. Cir. 2011) (en banc), to reverse the contempt finding. 

There, the Federal Circuit held that, in a patent infringement 

case, the district court must determine whether a company’s 

“new devices [were] more than colorably different from the 

original [infringing] ones” before deciding whether a 

company engaged in new infringing activity in a contempt 

proceeding. Id. at 884. If there were “more than colorable 

differences between the two devices,” the Federal Circuit 

concluded that any challenge to the company’s new 

infringing product must be in a “new infringement 

proceeding”—not contempt proceedings. Id. Rimini argues 

that we should follow this out-of-circuit case and apply it to 

copyright law. Thus, Rimini contends that we should require 

the district court to determine whether Rimini’s Process 2.0 

was “more than colorably different” from its prior Process 

1.0 before holding Rimini in contempt. 

Notwithstanding the “historic kinship between patent 

law and copyright law,” Sony Corp. of Am. v. Universal City 

Studios, Inc., 464 U.S. 417, 439 (1984), we see no reason to 

apply TiVo to the facts presented here. As we understand it, 

the Federal Circuit’s motivation in adopting the Tivo test was 

to protect against the overuse of the “severe remedy” of 

contempt and ensure that it is not “resorted to where there is 

a fair ground of doubt as to the wrongfulness of the 

defendant’s conduct.” Tivo, 646 F.3d at 881–82 (quoting 

Cal. Artificial Stone Paving Co. v. Molitor, 113 U.S. 609, 

618 (1885)). But our caselaw on contempt already provides 
ORACLE USA, INC. V. RIMINI STREET, INC. 15

robust safeguards for those accused of violating a copyright 

injunction. We forbid contempt sanctions when the 

contested action was “based on a good faith and reasonable 

interpretation” of the court’s order, when the contested 

action was in “substantial compliance” with the order, or 

when there was only a “technical violation” of the order. 

United States v. DAS Corp., 18 F.4th 1032, 1039 (9th Cir. 

2021) (simplified). 

Moreover, the Federal Circuit adopted the TiVo test for 

the design of products, which that court held are subject to 

the “policy that legitimate design-around efforts should 

always be encouraged as a path to spur further innovation.” 

TiVo, 646 F.3d at 883. Here, it’s Rimini’s conduct that is 

subject to the district court’s permanent injunction. Such an 

injunction is proper if it restrains “acts which are of the same 

type or class as unlawful acts which the court has found to 

have been committed.” Orantes-Hernandez v. Thornburgh, 

919 F.2d 549, 564 (9th Cir. 1990) (quoting NLRB v. Express 

Publ’g Co., 312 U.S. 426, 435 (1941)).

Rimini contends that the type of local hosting here is 

different from the local hosting that compelled the 

permanent injunction—which involved copying “thousands 

of PeopleSoft files” onto Rimini’s systems as part of the 

standard support process for its clients. While the volume of 

copying at issue here is far less egregious than the original 

offending activity, we do not think the district court abused 

its discretion in finding a lack of substantial compliance with 

Paragraph 5 given the pattern of local-hosting incidents, the 

internal forwarding of copyrighted material, the lack of 

internal training, the failure to adequately warn its clients of 

the copying prohibition, the delays in quarantining the

copyrighted software, and the general failure to follow its 
16 ORACLE USA, INC. V. RIMINI STREET, INC.

own internal policies. We thus affirm the contempt finding 

on Issue 1. 

2.

Issues 2–4: Cross Use

The district court did not abuse its discretion in finding 

Rimini in contempt for violating the injunction against the 

“cross use” of development environments—Issues 2, 3, and

4. 

For Issues 2 and 4, the district court found that Rimini

employees had modified and tested a PeopleSoft tax form 

update known as “rsi940a.sqr” in the development 

environment for its client, the City of Eugene, even though

the update was only sent to three other clients—Spherion, 

Smead, and Matheson Trucking. At the time Spherion and 

Smead reported problems with the tax program, Rimini 

could not access their development environments. Instead, 

a Rimini employee used the City of Eugene’s environment 

to modify and fix “rsi940a.sqr” despite nothing showing that 

the City had reported a problem with the program or that it

otherwise needed the update. Rimini later sent the update to 

another client, Matheson Trucking, with no evidence 

showing that it was developed or tested in Matheson’s 

specific environment. 

For Issue 3, Rimini sought to fix a bug in its PeopleSoft 

W-2 tax software reported by its client, Johnson Controls. 

Rather than using Johnson Controls’ development 

environment, Rimini again used the City of Eugene’s 

environment to find a solution to the bug. According to the 

district court, Rimini then sent the W-2 fix only to Johnson 

Controls that year—not to any other client at the time, 

including the City of Eugene. 
ORACLE USA, INC. V. RIMINI STREET, INC. 17

The permanent injunction prohibitsthe “cross use” of the 

PeopleSoft program. Paragraph 4 requires that Rimini “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.” Paragraph 6 likewise prohibits 

Rimini from using the “PeopleSoft software or 

documentation on one licensee’s computer systems to 

support, troubleshoot, or perform development or testing for 

any other licensee.” It specifically establishes 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.” 

Rimini makes three arguments for why its conduct did 

not violate these provisions of the permanent injunction. 

None succeed. 

First, Rimini claims the use of the City of Eugene’s 

development environment to develop the two PeopleSoft 

updates did not constitute “cross use” as litigated in Rimini 

I. Rimini asserts that “cross use” in Rimini I involved 

Rimini’s use of a generic development environment hosted 

in its computer systems to support multiple clients. In 

contrast, the “cross use” in Issues 2–4 refers to using a 

remote-hosted, client-specific environment to support 

multiple other clients. 

But even if Rimini’s characterization of Rimini I is 

accurate, we had already broadly criticized “[a]ny work that 

Rimini performs under color of a license held by a customer 

for other existing customers.” Rimini I, 879 F.3d at 957. In 

such cases, we said that such work “cannot be considered 

work in support of that particular customer.” Id. And we 

said that prohibition would apply prospectively—“[t]he 
18 ORACLE USA, INC. V. RIMINI STREET, INC.

same logic applies to work Rimini performs for unknown, 

future customers.” Id. Indeed, we did not define “cross use” 

as myopically as Rimini in the first appeal to our court; we 

said that “cross use” is “the creation of development 

environments, under color of a license of one customer, to 

support other customers.” Id. at 956. Thus, it makes no 

difference whether the development environment was 

generic and locally hosted as in Rimini I or client-specific 

and remotely accessed as here. As the Supreme Court has 

instructed, a party cannot escape “civil contempt because the 

plan . . . which they adopted was not specifically enjoined.” 

McComb v. Jacksonville Paper Co., 336 U.S. 187, 192

(1949). Under our prior definition of “cross use” and the 

plain terms of the permanent injunction, Rimini violated the 

prohibition against the cross use of development 

environments.

Second, Rimini argues that its conduct was covered by 

the licenses of each individual client. Take the City of 

Eugene. According to Rimini, the City has a license with 

Oracle that allows the City to provide access to and use of 

the PeopleSoft program to third parties. Rimini also claims 

its contract with the City requires it to provide regular 

PeopleSoft updates. From this, Rimini asserts it can use the 

City’s development environment for any client as long as it 

also uses it for the benefit of the City. Whatever the merit of

this argument, there’s a problem with its application here: 

The district court found no evidence that Rimini created the 

two software updates for the City’s benefit. Indeed, it’s 

uncontested that the City never complained of the problems 

reported in Issues 2–4. While Rimini claims that it believed 

that the City would need the “rsi940a.sqr” update and that it

was only an “accident of history” that the City didn’t 

ultimately need either update, the district court disbelieved 
ORACLE USA, INC. V. RIMINI STREET, INC. 19

that explanation. The district court found that, by the time 

Rimini created the “rsi940a.sqr” update in the City’s

development environment, the company knew that the

update was only required for clients operating in the U.S. 

Virgin Islands—not its clients nationwide like the City. 

Rimini Contempt Order, 2022 WL 112187, at *16. And the 

district court concluded that the record did not support that 

Rimini believed that the City would need the W-2 fix it 

developed for Johnson Controls. Id. at *18. Without any 

finding that Rimini used the City’s development 

environment for the benefit of the City, the City’s license 

doesn’t protect Rimini’s cross use. 

Finally, Rimini asserts that the district court’s contempt 

findings don’t meet the “clear and convincing” standard. See 

Ahearn ex rel. NLRB v. Int’l Longshore & Warehouse Union, 

Locs. 21 & 4, 721 F.3d 1122, 1129 (9th Cir. 2013) (holding 

that a contempt finding must be supported by “clear and 

convincing evidence”). But we don’t reverse a district 

court’s finding of contempt “unless [we have] a definite and 

firm conviction that the district court committed a clear error 

of judgment after weighing the relevant factors.” Peterson 

v. Highland Music, Inc., 140 F.3d 1313, 1323 (9th Cir. 1998)

(simplified). Here, the record doesn’t show that the district 

court’s view of the facts was clearly erroneous. Instead, the 

record shows that Rimini repeatedly chose to access the City 

of Eugene’s development environment to modify PeopleSoft 

when other clients reported problems with the program. 

So we affirm the district court’s finding of contempt on 

Issues 2–4.
20 ORACLE USA, INC. V. RIMINI STREET, INC.

3.

Issue 8: Oracle Database Copying

On Issue 8, we do find an abuse of discretion. The 

district court held Rimini in contempt for creating copies of 

the Oracle Database file known as “prvtsidx.pbl” on its 

systems. This time, one of Rimini’s clients, the Australian 

Bureau of Statistics, sent the file to Rimini for help 

troubleshooting a technical problem. The Bureau uploaded 

the file to the SalesForce system, which created a copy of the 

file on Rimini’s system. A Rimini employee then clicked on 

the .zip file and opened the “prvtsidx.pbl” file, which then 

created additional copies of the Database file on Rimini’s 

systems. Rimini then used the file to diagnose the Bureau’s 

problem. 

The permanent injunction does not clearly prohibit

Rimini’s copying of the Oracle Database file under the 

circumstances here. Paragraph 15 of the permanent 

injunction provides that “Rimini Street shall not reproduce, 

prepare derivative works from, or distribute Oracle Database 

software.” But, as the district court noted, “Paragraph 

15 . . . 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.” Rimini Contempt Order, 2022 

WL 112187, at *30. Thus, if Rimini’s actions were 

authorized by one of Oracle’s software licenses, it cannot be 

held in contempt.

In this case, the Bureau holds an Oracle Database 

license, which was governed by the Oracle License and 

Service Agreement (“OLSA”). The OLSA permits the 

Bureau to allow its agents and contractors “to use” the 

program in “the furtherance of [its] internal business 
ORACLE USA, INC. V. RIMINI STREET, INC. 21

operations.” Another section of the OLSA permits the 

Bureau to make “copies” of the program, but it does not 

expressly allow the Bureau’s agents and contractors to make 

copies. 

Although the district court found that Rimini only used 

the “prvtsidx.pbl” file to “support” the Bureau’s “sole 

internal data processing operations,” it still held that Rimini 

acted outside the plain meaning of the OLSA. Rimini 

Contempt Order, 2022 WL 112187, at *31. The district court 

reasoned that, while the OLSA allowed the Bureau’s “thirdparty support providers,” like Rimini, to use the Database 

file, the agreement only allowed the Bureau to make copies

of the software. Thus, the district court concluded that 

Rimini violated the OLSA by obtaining a copy of the

“prvtsidx.pbl” file.

We disagree. Rimini reasonably explains that the 

distinction between using the software and copying the 

software makes little sense in this context. Simply, one 

cannot “use” the Database software without also “copying” 

it, Rimini says. That’s because the very act of running an 

Oracle program necessarily creates a copy of the program. 

Evidence supports this view. As Oracle’s expert testified in

a related context,

Each time Rimini use[s] 

a[n] . . . environment, this use result[s] in the 

creation of ephemeral copies of Oracle 

software in the computer’s RAM. Such 

copies are necessarily created when software 

is used, because a computer-readable version 

of the software is loaded into the computer’s 
22 ORACLE USA, INC. V. RIMINI STREET, INC.

memory so that its instructions can be 

interpreted and acted upon by the computer.

Rimini St., Inc. v. Oracle Int’l Corp., 473 F. Supp. 3d 1158, 

1203 (D. Nev. 2020); see also id. at 1217 (“[I]t is impossible 

to use the software or create and test Rimini’s updates 

without making RAM copies of Oracle’s software.”).

In contrast, Oracle offers no clear and convincing 

evidence that Rimini is wrong about how third-party 

software support works. And while Oracle now suggests 

that Rimini “could ‘use’the software on its clients’ systems,”

it is not apparent from the OLSA’s plain language that this 

location restriction was intended. Indeed, Oracle points to 

no location restriction in the OLSA. And a “restriction on 

the location of copies,” or “use” of “the software on its 

clients’ systems” does not avoid the creation of copies 

inherent with any “use.” Thus, we are not confident that the 

district court’s interpretation of the OLSA satisfies the 

standard for finding contempt. See DAS Corp., 18 F.4th at 

1039 (no contempt “based on a good faith and reasonable 

interpretation” of the court’s order) (simplified). 

Oracle’s waiver argument similarly fails. Oracle 

contends that Rimini should be precluded from raising the 

OLSA defense to the contempt charge because it waived this 

point on appeal of the district court’s summary judgment 

ruling. Once again, we disagree. Previously, the district 

court granted Oracle summary judgment on its copyright 

infringement claim that “Rimini copied Oracle’s copyright 

protected software when it built 

development . . . environments for a number of Rimini 

customers using Oracle Database.” Rimini I, 879 F.3d at 

960. On appeal, we held that Rimini waived the defense that 

the OLSA authorized Rimini’s actions. Id. But the contempt 
ORACLE USA, INC. V. RIMINI STREET, INC. 23

holding at issue is based on a different situation—here, 

Rimini’s client sent Rimini a copy of the Database for help 

in troubleshooting the program. As the district court 

acknowledged, this “situation . . . [was] strikingly different 

from that held unlawful on summary judgment.” Rimini

Contempt Order, 2022 WL 112187, at *31. The district court 

also didn’t consider the OLSA defense argument precluded;

the district court instead analyzed the OLSA issue anew. 

Under these facts, we see no waiver or preclusion of the 

OLSA defense. 

We thus reverse the district court’s finding of contempt 

on Issue 8.

B.

Interpretation of the Injunction

Issues 7 and 9: De Minimis Copying

We next address the district court’s resolution of Issues 

7 and 9 even though the district court ultimately found no 

violation of the permanent injunction. 

For Issues 7 and 9, the district court analyzed Rimini’s 

copying of J.D. Edwards source code when it provided its 

clients tax and regulatory updates. For example, to provide

client support for one J.D. Edwards update, Rimini created a 

“Technical Design Specification” document that contained

“snippets” of Oracle source code. These “snippets” served

as a “reference” to show where in the Oracle product Rimini 

developers should insert Rimini-created code when working 

for a particular client. In other words, the snippets of Oracle 

source code were markers used to identify where to place 

Rimini code. Often these markers contained elided 

portions—i.e., “......”—to avoid reproducing Oracle code. 

So in the end, the source code copied by Rimini was no more 
24 ORACLE USA, INC. V. RIMINI STREET, INC.

than a handful of letters, numbers, and symbols, as shown in 

bold below:

VArpt_mnOrigRoth457b............TH0=”0”

Math N..........c To String

. . .

** Add code lines before the “If $CT3 <> $T3 

OR” conditional block **

. . .

** Add code before the “Write F06767 

RECRCU code line **

All parties agree that these snippets of source code cannot be 

used to run the J.D. Edwards program and are not functional. 

All also agree that this source-code copying was “de 

minimis.” 

The district court concluded that this de minimis copying 

of J.D. Edwards source code implicated Paragraph 8 of the 

permanent injunction which instructs that “Rimini Street 

shall not copy J.D. Edwards software source code to carry 

out development and testing of software updates[.]” 

Although the district court found that Rimini violated the 

permanent injunction, it ultimately did not hold the company 

in contempt for Issues 7 and 9 because of the de minimis 

nature of the copying. It held that, because the Copyright 

Act does not prohibit de minimis copying, Rimini “could 

have had a good faith and reasonable belief that copying 

such a small amount of source code was permitted.” Rimini 

Contempt Order, 2022 WL 112187, at *30. Yet the district 

court then went further and warned Rimini that it could no 
ORACLE USA, INC. V. RIMINI STREET, INC. 25

longer copy de minimis portions of J.D. Edwards’ source 

code: 

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.

Id. 

Rimini now challenges the district court’s reading of the 

permanent injunction to preclude de minimis copying of 

Oracle source code.

1.

Before turning to the merits of this issue, we first address 

Oracle’s jurisdictional arguments. To begin, Oracle 

contends that Rimini cannot appeal the district court’s order 

on this issue because the court did not hold Rimini in 

contempt on Issues 7 and 9 and thus Rimini prevailed below. 

At first blush, Oracle makes a good point. We rarely review

an appeal brought by the prevailing party. See United States 

v. Good Samaritan Church, 29 F.3d 487, 488 (1994) (“A

party may not appeal from a judgment or decree in his favor, 

for the purpose of obtaining a review of findings he deems 

erroneous which are not necessary to support the decree.”).

But that general rule has no force when an “adverse ruling 

can serve as the basis for collateral estoppel in subsequent 

litigation,” Ruvalcaba v. City of Los Angeles, 167 F.3d 514, 

520 (9th Cir. 1999), or when the district court’s order may 
26 ORACLE USA, INC. V. RIMINI STREET, INC. 

“bind [the appellant] in subsequent litigation,” Good 

Samaritan Church, 29 F.3d at 489. Here, the district court’s 

ruling would bind Rimini in future litigation and opens it up 

to sanctions if left unchallenged now. So the lack of a 

contempt finding does not preclude our review. 

Oracle also asserts that we lack appellate jurisdiction 

because the denial of contempt means there was no “final 

decision” under 28 U.S.C. § 1291. That is incorrect. As we 

have noted, “[m]ost post-judgment orders are final decisions 

within the ambit of 28 U.S.C. § 1291 as long as the district 

court has completely disposed of the [underlying] matter.” 

United States v. Ray, 375 F.3d 980, 987 (9th Cir. 2004) 

(quoting Sportmart, Inc. v. Wolverine World Wide, Inc., 601 

F.2d 313, 316 (7th Cir. 1979)). Thus, “[i]f a motion for civil 

contempt is denied after the entry of the judgment which was 

the subject of the contempt, the denial is final and reviewable 

because no further district court action is necessary to give 

life to the denial.” DAS Corp., 18 F.4th at 1039 (quoting 

Sanders v. Monsanto Co., 574 F.2d 198, 199 (5th Cir. 1978)). 

And because the contempt order disposed of the only matter 

left before the district court, it is “final” under § 1291—even 

if it denied a finding of contempt on Issues 7 and 9. 

Because § 1291 confers our jurisdiction, we do not 

address the parties’ arguments under 28 U.S.C. § 1292(a)(1).

2. 

On the merits, we agree with Rimini that the district 

court’s interpretation of the permanent injunction was 

improper because Rimini’s de minimis copying here is not 

prohibited by the Copyright Act. As we’ve said, “[a]n 

overbroad injunction is an abuse of discretion.” Boardman 

v. Pac. Seafood Grp., 822 F.3d 1011, 1024 (9th Cir. 2016)

(simplified). On direct appeal of the permanent injunction, 
ORACLE USA, INC. V. RIMINI STREET, INC. 27

we had struck a provision of the order enjoining actions that 

were not “an infringing activity under the Copyright Act.” 

Rimini Injunction Appeal, 783 F. App’x at 711 (striking a 

provision enjoining accessing source code because the 

Copyright Right permits “access”); see also 17 U.S.C. 

§ 502(a) (injunctions may be granted “to prevent or restrain 

infringement of a copyright”). We follow the same path 

here. 

In this case, de minimis copying does not violate the 

Copyright Act. See, e.g., Bell v. Wilmott Storage Servs., 

LLC, 12 F.4th 1065, 1074 (9th Cir. 2021) (“[I]f the degree of 

copying is merely de minimis, then it is non-actionable” 

under the Copyright Act.); see also 4 Nimmer on Copyright 

§ 13.03[A] (“[E]ven where the fact of copying is conceded, 

no legal consequences will follow from that fact unless the 

copying is substantial.” (quoting Newton v. Diamond, 388 

F.3d 1189, 1193 (9th Cir. 2004))). Because the district court 

read the permanent injunction to prohibit Rimini from 

prospectively copying any de minimis portions of Oracle’s 

source code (which would not offend the Copyright Act), we 

vacate that part of the district court’s order. 

Oracle responds that injunctions may prohibit otherwiselegal conduct. See United States v. U.S. Gypsum Co., 340 

U.S. 76, 88–89 (1950) (injunctions may cover acts “entirely 

proper when viewed alone” if doing so will prevent future 

violations). That may be true, but “‘[i]njunctive relief 

should be no more burdensome to the defendant than 

necessary to provide complete relief to the plaintiffs’ before 

the court.” Columbia Pictures Indus., Inc. v. Fung, 710 F.3d 

1020, 1049 (9th Cir. 2013) (simplified). Here, it is hard to 

see the necessity in preventing Rimini from using nonfunctional snippets of source code solely as markers to 

identify where Rimini employees should work. Enjoining 
28 ORACLE USA, INC. V. RIMINI STREET, INC.

that conduct would be overly burdensome, hamstringing

Rimini’s ability to perform its authorized third-party support 

services. Prohibiting de minimis copying like this would be 

like asking lawyers to conduct legal research without using 

pincites. Indeed, Oracle hasn’t argued that this type of de 

minimis copying is the harm that was previously adjudicated 

illegal, and it hasn’t provided clear and convincing evidence 

that using snippets of source code in this way will lead to 

future copyright violations.

We thus vacate the portions of the district court’s order 

enjoining de minimis copying of the J.D. Edwards source 

code in Rimini’s “Technical Design Specification” 

documents.

C.

Sanctions

Having affirmed four of five contempt findings, we now 

turn to the district court’s award of $630,000 in sanctions to 

Oracle. Recall the district court imposed the sanction of

$100,000 for each of the six willful contempt findings and 

$30,000 for the one non-willful finding. Rimini argues that 

the sanctions award was impermissibly punitive and asks for 

it to be vacated. Under controlling case law, the district court 

didn’t abuse its discretion. 

“A court’s contempt powers are broadly divided into two 

categories: civil contempt and criminal contempt.” Shell 

Offshore Inc. v. Greenpeace, Inc., 815 F.3d 623, 628 (9th Cir. 

2016). The main distinction between the two categories is 

their “character and purpose.” Id. at 629 (quoting Int’l

Union, United Mine Workers v. Bagwell, 512 U.S. 821, 827 

(1994)). Criminal contempt sanctions are “punitive”—

meant to punish prior offenses. Id. (simplified). Generally, 
ORACLE USA, INC. V. RIMINI STREET, INC. 29

these punitive sanctions may not be imposed without the 

constitutional protections afforded ordinary criminal 

proceedings. See Int’l Union, 512 U.S. at 826–27 (listing 

“rights to notice of charges,” “assistance of counsel,” and in 

cases involving lengthy incarceration, “right to jury trial”). 

In contrast, the purpose of civil sanctions is to “coerce”

compliance with a court order or to “compensate” the 

aggrieved party for sustained losses. Shell Offshore Inc., 815 

F.3d at 629 (quoting United States v. United Mine Workers, 

330 U.S. 258, 303–04 (1947)); see also Ahearn ex rel. NLRB, 

721 F.3d at 1128 (“[C]ivil contempt proceedings serve two 

purposes: (1) coercing compliance with a court order; and 

(2) compensating the prevailing party.”). Unlike criminal 

contempt sanctions, generally “civil contempt sanctions are 

viewed as nonpunitive and avoidable, [and] fewer 

procedural protections for such sanctions have been 

required.” Int’l Union, 512 U.S. at 831. 

We find no abuse of discretion in the district court’s 

sanctions award. The district court expressly observed that 

the purpose of the $630,000 fine was “compensatory” and 

was “appropriate” to “sufficiently compensate Oracle for 

Rimini’s contemptuous conduct.” Rimini Contempt Order, 

2022 WL 112187, at *34. So the district court’s findings 

track civil sanctions’ compensatory purpose. See Shell 

Offshore Inc., 815 F.3d at 629. The district court then based 

the sanctions amount on the statutory damages available 

under the Copyright Act, 17 U.S.C. § 504. We have already 

approved of the award of statutory damages in copyright 

contempt proceedings. See BMG Music v. Perez, 952 F.2d 

318, 320 (9th Cir. 1991) (affirming a contempt sanction 

based on the statutory damages provision of § 504, noting 

the district court’s “wide discretion” in setting the amount of 

damages within the statutory range). The district court then 
30 ORACLE USA, INC. V. RIMINI STREET, INC.

correctly observed that § 504 permits statutory damages of 

not “more than $30,000” for a non-willful infringement and 

“not more than $150,000” for an infringement “committed 

willfully.” 17 U.S.C. § 504(c)(1)–(2). Thus, the $100,000 

sanction for each willful violation and the $30,000 sanction

for the non-willful violation fit acceptable statutory 

damages. 

Rimini argues the $630,000 award cannot be considered 

a civil contempt sanction because the district court did not 

give it a chance to “purge” the sanctions through 

compliance. Rimini fails to appreciate the two purposes of 

civil contempt sanctions—compensation and coercion. It is 

true that for sanctions meant solely to cajole compliance 

with a district court’s order, the sanctions may be “purged” 

once the contemnor has come into compliance. Shell 

Offshore Inc., 815 F.3d at 629. But civil compensatory 

sanctions are different; they are “remedial”—“typically 

tak[ing] the form of unconditional monetary sanctions” paid 

to the aggrieved party. Id. So the mere fact that the sanctions

award here cannot be purged doesn’t make it punitive. And 

while the district court noted that the “sizable statutory 

sanction” along with the attorneys’ fees and cost would also

compel Rimini’s compliance with its orders, the district 

court made it clear that the primary purpose of the sanctions

was to compensate Oracle for its losses from Rimini’s 

infringing activity. Rimini Contempt Order, 2022 WL 

112187, at *34.

Under these facts, we find no abuse of discretion in the 

award and calculation of sanctions. We vacate and remand

the sanctions award, however, given our reversal on Issue 8. 

We decline to address Rimini’s arguments related to

attorneys’ fees and costs as they are premature. 
ORACLE USA, INC. V. RIMINI STREET, INC. 31

III.

The contempt findings for Issues 1–4 are AFFIRMED. 

The contempt finding for Issue 8 is REVERSED. The 

district court’s order regarding Issues 7 and 9 is VACATED

to the extent it enjoins de minimis copying not prohibited by 

the Copyright Act. The imposition of sanctions is 

VACATED and REMANDED for recalculation consistent 

with this opinion.