Thoughts on the preliminary injunction

My thoughts on the preliminary injunction ordered against Automattic and Matt Mullenweg.

Thoughts on the preliminary injunction
Photo by Sam Wheeler (via Wikipedia).

Those who have relied on the WordPress’s stability, and the continuity of support from for-fee service providers who have built businesses around WordPress, should not have to suffer the uncertainty, losses, and increased costs of doing business attendant to the parties’ current dispute.

A preliminary injunction has been ordered. If you’re reading it here for the first time, I’m impressed that you completely missed the news on TechCrunch and The Verge, among others.

According to the order from Judge Araceli Martínez-Olguín (AMO), Automattic and Mullenweg have 72 hours to return things to the status quo of September 20, 2024. The clock started at approximately 2:15pm PST. The order includes:

  • Removing the list of WP Engine clients from wordpressenginetracker.com;
  • Restoring WP Engine’s access to the WordPress.org API (that is, removing the block originally added in late September);
  • Restoring WordPress.org access for WP Engine employees, including Slack;
  • Removing the sign-in pledge added to the WordPress.org login screen (already done); and
  • Returning and restoring WP Engine’s access and control of the ACF listing on WordPress.org.

In addition, Automattic and Mullenweg have been “restrained and enjoined” from interfering with the above items, as well as other WP Engine plugins, and from interfering with WordPress installations hosted by WP Engine, without their consent.

The injunction is about as comprehensive as we could expect at this stage. There are likely ways to avoid the injunction, while still harming WP Engine, but the message from the judge seems clear: Automattic and Matt Mullenweg need to stop their actions while the case proceeds.

It is highly likely that Automattic and Mullenweg appeal the preliminary injunction. Should they appeal, it would be heard by the Ninth Circuit Court of Appeals. I’ve seen a number of conflicting sources, but according to the Office of the Clerk for the Ninth Circuit, a civil appeal generally takes 6–12 months to get to oral argument, and between 3 and 12 months after that point for a decision. It’s possible the court would acquiesce to an expedited schedule, but I suspect it’s unlikely, given the preliminary injunction returns to the status quo, with little “hardship” to Automattic or Mullenweg.

Beyond the above, it’s worth digging into the judge’s order in a bit more detail.

What is a preliminary injunction?

As the judge made clear during the hearing, a preliminary injunction is an extraordinary action. In defining the legal standard for such injunctions, the judge cites Winter v. Nat. Res. Def. Council, Inc.:

A preliminary injunction is an extraordinary remedy never awarded as of right.

There was never a guarantee of a preliminary injunction in this case as, in every case, plaintiffs must meet a high bar.

In Winter, the United States Supreme Court defined a four-part “sliding scale test”, which judges follow in determining when to issue a preliminary injunction. Let’s run through each of these pieces in the same manner the judge did.

1. Success on the Merits

The question at hand in the first part of the test is this: how likely is it that WP Engine will succeed in their case against Automattic and Mullenweg?

Judge AMO narrowed the scope of her consideration here[1], to keep her order relatively focused. She looked specifically at the “tortious interference” claim made by WP Engine.[2] “Tortious interference” is a legal way of saying “someone wrongfully interfered with contractual or business relationships.” In this case, WP Engine was alleging that both Automattic and Mullenweg were interfering with its relationships with its customers.

Within this single part of the test, there are five pieces to consider:

  1. Is there an existing valid contract between WP Engine and its customers? In its reply, Automattic told WP Engine to “prove” that they had valid contracts, but the judge rejects this statement, referencing the actions Automattic took to attempt to entice customers to move away from WP Engine as an implicit statement that Automattic was aware of existing contracts.
  2. Was Automattic aware of WP Engine’s contracts with its customers? Here, the judge quotes a 2017 tweet from Mullenweg, in which he clearly understands that WP Engine is “the largest dedicated managed WP host.” In a footnote, the judge notes that Automattic previously invested in WP Engine, as another way of stating Automattic must have been aware of WP Engine’s customer relationships.
  3. Is the alleged conduct by Automattic / Mullenweg “designed to induce breach or disruption” of WP Engine’s contracts? Again, the judge notes explicit statements from Mullenweg, including his now-notorious “scorched earth nuclear approach” and “distressed asset” comments.
  4. Did Automattic / Mullenweg actually breach or disrupt WP Engine’s contractual relationships? For this, the judge points to the declaration of WP Engine’s COO, Jason Teichman. Within that declaration there is ample evidence that contracts were breached.
  5. Was there resulting damage from the disruption of contracts? Referencing the Teichman declaration again, the judge says “yes.”

While the judge finds that WP Engine is likely to succeed on the merits of its “intentional interference” claim, it must now look at the arguments Automattic / Mullenweg made countering the claim. At this point, the judge dismisses the cited cases as unrelated or “inapposite.” A choice quote from the judge:

Here, Mullenweg’s “statement that he had the right to disable WPEngine’s account access and to make changes to the ACF plugin for the sake of public safety[,]” is belied by the declarations of WPEngine’s executives stating that the claimed vulnerability was minor, patched well before the fix-it window set by industry standard, and showing that [Automattic and Mullenweg] tried to pass off the rating and reviews for the ACF plugin as those for their new purportedly forked SCF plugin.

On part one of the Winter test, the judge finds that WP Engine is likely to succeed on the merits of the case.

2. Irreparable Harm

The second part of the test effectively asks: At the conclusion of the trial, could WP Engine receive adequate damages (that is, money) to make itself “whole”, or are there actions that cannot be fixed with money?

WP Engine, in its filings, makes clear that it has lost existing customers, lost potential customers, had its existing customer relationships damaged, lost market share, lost goodwill, and had its reputation harmed. Beyond that, it notes the harm to its customers and to the “larger WordPress community,” as the judge calls all of us.[3]

In comparing the statements from WP Engine with Automattic’s four arguments in response, the judge says of Automattic’s arguments: “None is persuasive.”

More specifically, on one of the arguments, Automattic / Mullenweg argue that WP Engine can’t tie any of this alleged harm to their actions, and instead say this is “standard caution” customers take around clients involved in litigation. But the judge counters (my emphasis):

[Automattic and Mullenweg] cite no authority permitting the Court to discount the ample evidence of the conduct that immediately preceded the negative effects measured by data WPEngine has proffered here. Without any such authority, the Court rejects the argument that WPEngine has failed to tie the alleged harm to [Automattic and Mullenweg’s] actions.

Automattic / Mullenweg also argue that the harm that WP Engine is facing is not irreparable because it is both quantifiable and self-inflicted. The first point is easy to dismiss, given other cited cases. On the latter, the judge notes:

[Automattic and Mullenweg’s] role in helping that harm materialize through their recent targeted actions toward WPEngine, and no other competitor, cannot be ignored.

On the second part of the Winter test, the judge finds that WP Engine has shown that it will suffer irreparable harm without a preliminary injunction.

3. Balance of Equities / Hardships

This part of the test seeks to determine the damage each party would experience if an injunction was order, weighing them appropriately. That is, the judge has found that WP Engine will suffer irreparable harm, but if a preliminary injunction is issued, what damage will Automattic / Mullenweg suffer?

The judge has already made clear that WP Engine has “significant interest” in the preliminary injunction. Turning to Automattic / Mullenweg, the judge looks at their opposition and notes that they “do not establish that they will suffer any damage that overrides WPEngine’s interest in obtaining relief.”

Looking at a specific argument from Automattic / Mullenweg:

Next, [Automattic / Mullenweg] argue that issuing preliminary injunctive relief would be equivalent to “compel[ling] specific performance by [Automattic / Mullenweg] of a contract that does not exist, and to force [Automattic / Mullenweg] to continue to provide free services to a private equity-backed company that would rather not expend the sources itself.” Finally, [Automattic / Mullenweg] assert that mandating the access WPEngine demands “would contradict the accepted legal axiom that “ ‘ a business generally has the right to refuse to deal with its competitors.’ ”

The judge makes clear that “WordPress has been, until recently, available to WP Engine on the same terms as other users…” In turn, she rejects this argument.

(A bit more on this at the tail end of this post.)

The judge finds that, on the third part of the Winter test, the balance of hardships tip in favour of WP Engine.

4. Public Interest

In considering the final part of the Winter test, the judge must take into consideration if there is any public interest for or against the injunction. In court parlance, “the public” typically means anyone who is not otherwise party to the case. For example, customers, users, or the WordPress community.

The judge firmly notes that there are clear public consequences if the existing behaviour is allowed, and an injunction is not issued. As Judge AMO states:

Maintaining that continuity and preventing arbitrary disruption stemming from a corporate dispute is in the public interest.

Further, while much of the overall order includes direct quotes from declarations, Judge Martínez-Olguín states what is my favourite quote of the entire order:

Those who have relied on the [sic] WordPress’s stability, and the continuity of support from for-fee service providers who have built businesses around WordPress, should not have to suffer the uncertainty, losses, and increased costs of doing business attendant to the parties’ current dispute.

That’s us. Judge AMO is speaking directly about the WordPress community, those of us who rely on WordPress to accomplish our jobs, those that built agencies and hosting platforms and product businesses atop WordPress. In returning to the status quo, Judge AMO allows a return to certainty, for the duration of this case.

Bonus: To bond or not to bond

In their response to the motion for preliminary injunction, Automattic asserted (emphasis mine):

… the continued maintenance and operation of [WordPress.org] incurs an estimated $800,000.00 in administrative, server and developer costs per year.

This estimate may be reasonable, but I suspect Automattic has never broken down the costs in this manner before. My suspicion is that Automattic’s Five for the Future contribution has always been “totalled” and not explicitly broken out to exclude contributions to Mullenweg’s personally-owned and operated WordPress.org website.

Whatever the cost, with a preliminary injunction the judge has the right to order a bond that, in this case, WP Engine would pay. The bond should cover any additional costs that Automattic / Mullenweg would experience with the preliminary injunction.

The problem, of course, is that Automattic / Mullenweg did not break out the incremental costs to maintaining the site for WP Engine, including all of its customers and users. Expecting WP Engine to cover the entire cost of the maintenance and oversight of WordPress.org is unreasonable to a court.

Absent a breakdown of incremental costs, and noting that the state of affairs prior to September 20 required no payment from anyone, the judge ruled that no bond must be paid. Of course, if the case proceeds to trial and WP Engine loses, they may be forced to retroactively pay such costs, should the court so decide.

Other thoughts

Outside of the actual order itself, there’s a few noteworthy aspects to the order, though perhaps a bit tangential.

Anything you say can and will be used against you

Throughout the order, the judge used Mullenweg’s public statements as evidence, just as the original complaint and motion from WP Engine did. Page 29 of the order includes several direct quotes from Mullenweg. This is somewhat notable: usually, under threat of litigation or when litigation starts, lawyers advise their clients to refrain from making public statements. Mullenweg did anything but refrain.

Repeatedly, Mullenweg stated that he was clearly innocent because he was speaking publicly. On stage, at TechCrunch Disrupt, Mullenweg justified this publicly, noting that those on the “right side” talk with the press (my emphasis):

I think the other thing that’s very telling is, you know, [WP Engine is] not on stage. They’re not talking to press. It’s all going through their lawyers, Quinn Emanuel. So when you have nothing to hide, when you, you know, on the right side, I’m doing press, I’m doing podcasts, I’m here, etc. Um when you have something to hide, you have it all go through a spokesperson and your lawyers, so.

But again, not speaking publicly to the press, on podcast, etc, is what lawyers advise. While this is a civil case, consider the Miranda warning that police now use in the US when arresting someone, which usually starts something like this:

You have the right to remain silent. Anything you say can and will be used against you in a court of law.

The fact is, anything Mullenweg says today can and will be used against him and Automattic over the course of this case. It may not be a criminal case, but his words—as CEO of Automattic, owner of WordPress.org, and as project leader, among other things—carry weight in a court of law.

I also wonder if Mullenweg’s lawyers did advise him to remain silent and pull back from his media appearances.

On September 23, WP Engine sent the initial Cease & Desist letter to Automattic. That letter was addressed to Holly Hogan, who was then the Chief Legal Officer at Automattic. The response from Automattic came from its outside law firm Perkins Coie.

However, Hogan’s LinkedIn shows that she left the company in October 2024. She has been replaced by Jordan Hinkes. I suspect Hogan accepted one of the buy out offers and left Automattic. And, as we know, Perkins Coie is not representing Automattic for this litigation—Hogan Lovells now represents them.

It seems possible that both Hogan and Perkins Coie advised their clients—Automattic and Mullenweg—in ways that were contrary to the strategy Mullenweg had in mind. The division in approach may have led to both to part ways with Automattic.

The State of the Word, on December 16, will certainly be interesting.

WordCamps and events excluded

One thing that hasn’t been overly discussed is that the WordPress Foundation has been almost completely excluded from the court proceedings and filings.[4]

But, to be clear, there are actions taken by Mullenweg that are occurring at the WordPress Foundation level, specifically via its WordPress Community Support public benefit corporation. WP Engine employees can no longer speak at WordCamps, nor can they sponsor WordPress events, including both WordCamps and meetups. These are tangible ways WP Engine was involved in the community.

I find it quite notable that WP Engine refrained from involving the WordPress Foundation in litigation—if they had requested relief from the court within this preliminary injunction to the effect of (e.g.) allowing WordCamp speaking, it would have necessitated including the WordPress Foundation as a party to the lawsuit. It would appear that WP Engine—and, perhaps, Quinn Emanuel in particular—is strategically and intentionally avoiding naming the WordPress Foundation as a party. Perhaps this changes eventually, but for now it feels like a Good Thing™ amidst the lawsuit.

An order written for the people

This was, for all intents and purposes, the first time we’ve seen how Judge Martínez-Olguín would approach written orders. While Quinn Emanuel’s writing has been pointed and written with the public in mind (not only the court), Hogan Lovells have been dull and dry. How would Judge AMO approach writing for this case, largely in the public view?

Well, I’m delighted to say that the preliminary injunction order is incredibly well-written, and written with the public in mind. The judge is certainly much better than I am at writing a comprehensive narrative, summing of the facts in a way that tells the true story.

The other thing I noticed is how effectively the judge uses footnotes.[5] Within the footnotes, the judge subtly treats some declarations as fact (e.g. the Prabhakar Declaration), while implying that others are less believable (e.g. “According to Mullenweg”). And, in footnote 9, the judge calls out both parties for… excessive footnotes! There is a standing order at the Court to not include arguments within footnotes and it appears both parties violated that order (edited for clarity):

The briefs from each side violate Paragraph H.3 of the Court’s Standing Order for Civil Cases. The Court has not considered arguments contained in these footnotes. Automattic’s opposition brief purports to incorporate by reference arguments made in its motion to dismiss. The Court declines to consider arguments not expressly advanced in the opposition brief. Future filings that fail to comply with the Court’s Standing Order, the Federal Rules, or this District’s Local Rules may be summarily stricken.

The judge is clearly doing her best to win me over, because her footnotes are exceptional.[6]

The conflation of WordPress and WordPress.org

In a few instances, the judge does something I find interesting: she conflates “WordPress” and “WordPress.org.” There are a few examples of this which, I think, in total, speak to why the judge conflates these two terms.

On page 8, the title of section (b) is:

WP Engine’s access to WordPress

On page 33, the judge writes (my emphasis):

Defendants’ first argument is three-fold: they contend that WPEngine and its customers are not cut-off from WordPress, that WPEngine’s access to WordPress through its administrative panel is not a necessity but a mere convenience (for which WPEngine implemented a work-around), and that WPEngine’s ability to download plugins was never disabled, as it retains its own repository of available plugins and software.

On page 36, the judge writes (my emphasis):

Here, however, WordPress has been, until recently, available to WPEngine on the same terms as other users, or at least on the terms that were in place up until September 25, 2024.

And, finally, on page 38, she writes (my emphasis):

These arguments ignore, however, that Defendants have recently deprived WPEngine of access to WordPress that it has had for years.

From what I’ve heard and read, Judge AMO seems incredibly sharp—while it’s possible this conflation is accidental, I expect it’s intentional.

Factually, WP Engine’s access to WordPress-the-software—that is, the ZIP file downloadable from WordPress.org—was never cut-off. However, one of the arguments put forth by WP Engine in filings and at the hearing is how entwined WordPress.org is with WordPress-the-software. They’ve noted, repeatedly, that there are over 1,500 hardcoded references to WordPress.org within the software. This deep integration is something I covered a couple weeks back, as well. Put another way, their contention is that WordPress.org is part of WordPress-the-software.[7]

I suspect that the interconnected nature of WordPress and WordPress.org will be a key argument at trial.

Trademarks at the core of this litigation

Something I didn’t notice within Mullenweg’s declaration is that he only references three trademarks owned by the WordPress Foundation, all pertaining to the term “WordPress”, for different uses. In discussing the factual background, the judge takes Mullenweg’s declaration as fact, and notes specifically: “The foundation owns three WordPress trademarks.”

That statement is mostly true, but the WordPress Foundation owns additional trademarks, including the WordPress logo trademark.[8]

Within the same factual background section, the judge states the following, using a screenshot of a tweet from Mullenweg as evidence:

It is common industry practice to refer to providing managed hosting services on WordPress as ‘managed WordPress[,]’ ” as is reflected in a post Mullenweg made on August 8, 2017[.]

It is common practice to refer to managed hosting services on WordPress as “managed WordPress”, and it’s good to see this in a legal filing from a court. Why? Well, because on July 12, 2024, the WordPress Foundation filed a trademark application for the term “Managed WordPress”, which is currently awaiting examination by the USPTO.

Personally, given its frequent usage over the past decade+, I think the “Managed WordPress” trademark should be challenged, along with the related “Hosted WordPress” trademark application.

Court orders, free labour, free speech, and precedent

I had planned to write up some thoughts about two recent retweets from Mullenweg, both of which happened shortly after the order from the judge. Specifically, from Brian Essig:

This is actually bullshit. Agree with him or not, the court is forcing an open source maintainer into providing services to a user. What’s next, a company finds a bug and a court orders a maintainer to fix it?

And from Joseph Jacks:

Important case to follow. I stand fully with Automattic.

Requiring open source projects to act in ANY specific way is unconstitutional and violates free speech.

In addition, Mullenweg posted the following on the Post Status Slack:

It's hard to imagine wanting to continue to working on WordPress after this. I'm sick and disgusted to be legally compelled to provide free labor to an organization as parasitic and exploitive as WP Engine.

But, I don’t need to write up any thoughts on this point of view, because a lawyer, Mike Dunford wrote an excellent thread outlining why he does not share the concern. I’d encourage everyone to read it. After, of course, you read all of my footnotes.


  1. In a later footnote, the judge notes that, at the hearing, WP Engine identified the attempted extortion claim as its strongest. However, no likelihood of success is identified for that claim within this order. ↩︎

  2. More narrowly, the judge looked specifically at “intentional interference with contractual relations” because WP Engine did not address “intentional interference with prospective economic relations” in its motion for a preliminary injunction. Both claims are in its original and amended complaints with the court. ↩︎

  3. Within this section is an interesting footnote, which states: “Because neither WPEngine’s customers nor the larger ‘WordPress Community’ are plaintiffs here, the Court address these facts when evaluating whether the public interest supports preliminary injunctive relief.” Putting the logistics aside, should the WordPress Community be a plaintiff in this case? ↩︎

  4. The key mentions are usually in a factual context, e.g. “WordPress trademarks are owned by the WordPress Foundation.” ↩︎

  5. She’s clearly reading my blog. Good morning, Your Honour! ↩︎

  6. Don’t you agree? ↩︎

  7. Fwiw, I agree with this contention—that is the state of things today and, I’d argue, that is an ideal state for a platform. ↩︎

  8. In totality, the WordPress Foundation has five other trademarks registered (the WordPress logo, the Openverse logo, “WordCamp” term (via WordPress Community Support PBC), “BuddyPress” term, and the “WP-CLI” term) as well as four additional trademarks filed but pending (“Openverse” term, “bbPress” term, “Managed WordPress” term, and “Hosted WordPress” term). ↩︎

Subscribe to The Delta

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe