When Moral Obligations Aren’t Legal Ones

Why the fight between Matt Mullenweg / Automattic and WP Engine isn’t as clear cut as it might seem

Written by

Matteo Greco

Published on

18 October 2024
WordPress

If you’ve been following the recent #wpdrama events, you’re likely well aware that Matt Mullenweg / Automattic and WP Engine have entered a litigation that is making waves in the WordPress community. Everyone seems to have picked their champion in this fight. I mean, I did too at first. But the more I dig into this mess, the more I’m convinced this isn’t a simple case of good guy vs bad guy. What we’ve got here is a lot more complex than it looks on the surface.

What is this really about?

Matt said that the fight against WP Engine is all about trademark issues [1]. But let’s be real here: if this thing was really about trademark infringement, and he really had a slam dunk, wouldn’t it have been easier to just sue WP Engine in an actual court of law, instead of the “court of public opinion”?

I think the root of the dispute is a big mismatch between moral vs legal obligations. Let’s look at the “accusations”.

WP Engine isn’t contributing enough to the “commons”

And, sure, that’s not nice. Morally speaking, it would be lovely if they could contribute more. It seems that some of their (former) employees would (have) like(d) to [2].

But legally speaking, there seems to be no law that forces them to contribute more to WordPress, or agreement over what should count as a contribution towards it.

Also, morally speaking, let’s not forget this: besides the code contributions that would be accounted for by 5 for the future, WP Engine is responsible for:

  1. The continued development of LocalWP and ACF (which, sure, they acquired, but hey, they spent money and keep spending it on beloved free / freemium tools)
  2. Sponsoring the development of WP GraphQL (again, a beloved free tool, even though Jason Bahl recently switched over to Automattic [3])
  3. Sponsoring WordCamps (which, sure, there’s a ROI because of the marketing exposure, but it’s still money that allows the WordPress Foundation to organize the event)
  4. And probably more.

WP Engine “hacked the code” to “divert tens of millions in revenue”

Ok, so this one needs a bit of clarification.

According to Matt, WooCommerce has a deal with Stripe to generate money, and it works by sending Automattic’s attribution code in Stripe transactions. Matt claims that WP Engine switched this code on the installs they host to their attribution code, diverting “tens of millions in revenue” [4] [5] [6]. WP Engine states quantifies it in “less than $2,000 per month” [7].

Now, morally speaking, this doesn’t look good no matter what the real number is. Even if WP Engine needed to offer an their alternative Stripe plugin “due to functionality that is not available in the Stripe connection utilized in the default WooCommerce plugin”, I have a hard time seeing what the attribution code has to do with that.

But, hey: it’s GPL code. That’s the license Matt choose, and that license grants WP Engine the ability to make this change.

Also, “hacking” GPL code sounds funny, because there’s no need for “hacking” to do this. WP Engine either changed the source code directly, or used actions and filters that are part of the software itself. Both are perfectly legit.

WP Engine is “hollowing out” their service to squeeze out more profit

I’m not a WP Engine customer, so I have no first-hand account of this. I rely on the words of the wise, and longtime WP Engine customer, Brian Coords here [8].

“The squeeze from private equity, the “enshittification”, is clearly setting in. The massively decreased performance. The recurring downtimes. The dip in support quality. The constant, aggressive emails to our clients trying to scare them into ever more expensive plans. It is happening.”

Brian Coords

If it is happening, yeah, morally that sucks too.

But, guess what? The only legal obligation is in the contracts between them and their customers. While Matt is entitled to a moral opinion on the subject, that’s all he gets. This has nothing to do with anyone but WP Engine customers.

Matt is right about one thing here: people can vote with their wallet. If WP Engine’s service has become so bad, they can leave. It’s just true for every hosting company, not just them.

Matt disables access to wordpress.org for WP Engine

And, once again, morally this sucks, because it further escalates the conflict, creates division in the WordPress ecosystem, puts WP Engine customers in jeopardy, and puts pressure on poor WP Engine employees who are just trying to do their job.

But, guess what? Legally, it’s his prerogative to do this. WordPress.org hosts a large, and presumably expensive infrastructure for theme/plugin updates, support forums and miscellaneous services. Apparently, it belongs to Matt – not even to the WordPress Foundation. If he thinks “why should I give this infrastructure to WP Engine at a loss, when they don’t give back?” – I kinda get it.

Matt takes over the Advanced Custom Fields slug on wordpress.org

And, one more time, morally this sucks, because he’s not just forking the ACF plugin under a new name but he’s also attempting to take over the 2M+ installations, who become “his customers” overnight and without consenting to this. Also further inflames the community, because it seems like Matt used a security issue in the plugin as pretext for what appears to be a premeditated action [9].

But, once again? Legally speaking, this seems to be within his rights, as he owns wordpress.org and, by extension, what’s on it. If anything, this should teach all of us who relied on the “WordPress is open source” mantra, that maybe not everything we see is, in fact, open source.

What would I do?

If I could, I’d take the two parties by their ear, and tell them to just fucking stop it. Maybe roll up a newspaper and hit them on the nose with it. That’s what I’d like to do.

But I can’t.

So here’s what I’d tell them instead.

What I’d tell Matt

Hey Matt. You don’t know me. We just said “hi” to each other once, in passing, at WCUS24 and that’s it. I may disagree with some of your decisions, but I have no beef with you. But, damn it, you ain’t making it easy!

Look, I get it. Must be hard to compete with a company that leverages your FOSS work and the expensive infrastructure you give away for free, while seemingly not paying their fair share. That’s what you’ve originally been complaining about, when you talked about WP Engine’s lack of 5 for the future contribution, the Stripe attribution code changes, and how that has Automattic “fighting with one hand tied behind their back”.

But here’s the thing: there’s no rule against it. I know it, you know it, everyone knows it. That’s why, just like in the Al Capone story you mentioned in Theo’s stream [10], you have to find a “creative” way to give them the stick. Something enforceable by law. Something like a trademark infringement.

Problem is, you’re not just hurting Silver Lake or WP Engine. You’re hurting their customers and their employees, people who are part of the community that you created and, I imagine, love and cherish. And you’re making WordPress sound like a really unpleasant place to be – something that doesn’t help attract new customers and investors or keep existing ones.

The sad truth, Matt, is that it’s really difficult to see you both as the Benevolent Dictator for Life of WordPress [11] – an open source title – and as the CEO of a for-profit company that competes with WP Engine. Anything you say on the subject is likely to sound like “Automattic CEO attacks rival company”, rather than “Open source paladin takes on private equity firm”.

If you want to come out on top in the “court of public opinion”, I think you need to up the benevolent part of BDFL by a thousand percent. And no, I’m not talking about open sourcing your personal donations [12]. It’s awesome that you’re donating a lot of money, but announcing it just sounds like you’re bragging. Nobody likes people who brag about how much money they have.

I’m talking about – and I know it would be hard to find a non legally incriminating way:

  1. Acknowledge that your actions have contributed to the instability that we – your community – are experiencing. We’re confused, maybe scared, maybe angry too. And so are some of our clients, customers and investors – some of whom are already deciding that WordPress isn’t the right place for their business [13] [14] [15].
  2. Give us more context about what you’re doing and why, possibly before you do it, with a lot more transparency and consistency. Your message has shifted from “WP Engine is evil” to “this is all about a trademark issue”. If you’re taking a legal stance because of a moral yet legally unenforceable objection, there were probably more avenues we could have gotten behind. This one just confuses and pisses us off.

And please, for the love of anything you hold dear, stop the petty and inflammatory posts. I mean, what’s up with the “Sorry, who are you?” tweet [16], huh? Or the provocative “Why is Flywheel blocked, Brian?” [17]? Just.. why? *grumbles*

What would I tell WP Engine?

Hey WP Engine people. You don’t know me. I probably nodded at you in passing near your booth at WCUS / WCEU, but that’s pretty much it. I have never been your customer, or worked with you. I have never exchanged any money with you, and have no beef with you either.

I’m sure this drama has been hard on you, especially your engineering and support team, who had to figure out how to live without wordpress.org services in a short period of time, while your customers were having troubles.

But here’s the thing. Money’s nice, we can all agree on that. And you guys are under no obligation to give any of that back, at least if you don’t lose the trademark lawsuit. We can agree on that too. But can you just be cool and give back a little more? Just a little. I’m not asking for 8%. Just a little. Just as a gesture of good will. I’m sure you’d get an ROI on that if you play your cards right with the media.

Also, I know I was surprised to find out Matt could just boot you off of wordpress.org or take over your ACF slug – but why were you [18] [19]? I mean, this guy followed you around for over a year (I’m taking his word here) with a trademark deal he wanted you to sign (the carrot, with the corresponding stick of a trademark lawsuit). I can only imagine you conducted a (multiple?) risk assessment. How could such a big dependency on wordpress.org not pop up?

Moving forward

We’re witnessing the inevitable collision that happens when one feels morally entitled to something he probably has little to no legal claim to. This saga isn’t just about trademarks, contributions, or corporate tactics – it’s a stark reminder that “should” doesn’t equal “must”.

I’d love to see Matt and WP Engine sit at a table and work out a deal, and for this drama to stop. I think it’s not doing the community, or WordPress as a product any good. But, in case that doesn’t happen soon, I explored some worst case scenarios here.

  1. WPE & Trademarks | Matt Mullenweg ↩︎
  2. “While WP Engine has treated me well personally, the focus on open-source contributions from the organization has declined during my time there” – wpgraphql.com/2024/10/07/wpgraphql-becomes-a-canonical-plugin-my-move-to-automattic ↩︎
  3. wpgraphql.com/2024/10/07/wpgraphql-becomes-a-canonical-plugin-my-move-to-automattic ↩︎
  4. Term Sheet WP Engine, Inc. – Automattic – Trademark License_09.19.2024 ↩︎
  5. The WordPress Drama Interview (this got cited in a lawsuit lol) – YouTube ↩︎
  6. https://youtu.be/H6F0PgMcKWM?si=psOHTcuvTsm7OXuo&t=486 ↩︎
  7. Complaint-WP-Engine-v-Automattic-et-al.pdf (wpengine.com) page 32 ↩︎
  8. The WCUS Closing I Wish We’d Had – Brian Coords ↩︎
  9. https://x.com/thinkverse/status/1845571601930060164/photo/1 ↩︎
  10. The WordPress Drama Interview (this got cited in a lawsuit lol) – YouTube ↩︎
  11. Benevolent dictator for life – Wikipedia ↩︎
  12. Matt Mullenweg on X: “I’m open sourcing my personal non-profit donations for the past 12 years: ↩︎
  13. You asked how we’re suffering as a result of Mullenweg’s war with WPE? I just lost a 40 thousand dollar contract over it. : r/Wordpress (reddit.com) ↩︎
  14. Overcoming clients fear around the recent WordPress drama? : r/Wordpress (reddit.com) ↩︎
  15. William Hunt on X: “@photomatt today was the day I started getting contacted by clients asking if they should move off of WordPress. I didn’t think it would happen but the hurt is real for all of us… You can still recover from this if you play the cards right but a public war is not going to win” / X ↩︎
  16. WordPress on X: “@lauraelizdunn Sorry, who are you?” / X ↩︎
  17. Matt Mullenweg on X: “@bgardner @HeyFlywheel Why is Flywheel blocked, Brian?” / X ↩︎
  18. WP Engine on X: “Matt Mullenweg, CEO of Automattic, has misused his control of WordPress to interfere with WP Engine customers’ access to WordPress.org” ↩︎
  19. WP Engine on X: “Thousands of WordPress community members have once again been blocked from accessing WordPress.org” ↩︎