Matt Mullenweg v. WP Engine

Automattic CEO and WordPress co-developer Matt Mullenweg published a post on September 21 calling WP Engine a “cancer to WordPress”. For the uninitiated: WP Engine is an independent company that provides managed hosting for WordPress sites; WordPress.com is owned by Automattic and it leads the development of WordPress.org. WP Engine’s hosting plans start at $30 a month and it enjoys a good public reputation. Mullenweg’s post however zeroed in on WP Engine’s decision to not record the revisions you’ve made to your posts in your site’s database. This is a basic feature in the WordPress content management system, and based on its absence Mullenweg says:

What WP Engine gives you is not WordPress, it’s something that they’ve chopped up, hacked, butchered to look like WordPress, but actually they’re giving you a cheap knock-off and charging you more for it.

The first thing that struck me about this post was its unusual vehemence, which Mullenweg has typically reserved in the past for more ‘extractive’ platforms like Wix whose actions have also been more readily disagreeable. WP Engine has disabled revisions but as Mullenweg himself pointed out it doesn’t hide this fact. It’s available to view on the ‘Platform Settings’ support page. Equally, WP Engine also offers daily backups; you can readily restore one of them and go back to a previous ‘state’.

Second, Mullenweg accuses WP Engine of “butchering” WordPress but this is stretching it. I understand where he’s coming from, of course: WP Engine is advertising WordPress hosting but it doesn’t come with one of the CMS’s basic features, and which WP Engine doesn’t hide but doesn’t really advertise either. But I’d hardly call this “butchering”, much less in public and more than a decade after Automattic invested in WP Engine.

WP Engine’s stated reason is that post revisions increase database costs that the company would like to keep down. Mullenweg interprets this to mean WP Engine wants “to avoid paying to store that data”. Well, yeah, and that’s okay, right? I can’t claim to be aware of all the trade-offs that determined WP Engine’s price points but turning off a feature to keep costs down and reactivating it upon request for individual users seems fair.

In fact, what really gets my goat is Mullenweg’s language, especially around how much WP Engine charges. He writes:

They are strip-mining the WordPress ecosystem, giving our users a crappier experience so they can make more money.

WordPress.com offers a very similar deal to its customers. (WordPress.com is Automattic’s platform for users where they can pay the company to host WordPress sites for them.) In the US, you’ll need to pay at least $25 a month (billed yearly) to be able to upload custom themes and plugins to your site. All the plans below that rate don’t have this option. You also need this plan to access and jump back to different points of your site’s revision history.

Does this mean WordPress.com is “strip-mining” its users to avoid paying for the infrastructure required for those features? Or is it offering fewer features at lower price points because that’s how it can make its business work? I used to be happy that WordPress.com offers a $48 a year plan with fewer features because I didn’t need them — just as well as WP Engine seems to have determined it can charge its customers less by disabling revision history by default.

(I’m not so happy now because WordPress.com moved detailed site analytics — anything more than hits to posts — from the free plan to the Premium plan, which costs $96 a year.)

It also comes across as disingenuous for Mullenweg to say the “cancer” a la WP Engine will spread if left unchecked. He himself writes no WordPress host listed on WordPress.org’s recommended hosts page has disabled revisions history — but is he aware of the public reputation of these hosts, their predatory pricing habits, and their lousy customer service? Please take a look at Kevin Ohashi’s Review Signal website or r/webhosting. Cheap WordPress in return for a crappy hosting experience is the cancer that’s already spread because WordPress didn’t address it.

(It’s the reason I switched to composing my posts offline on MarsEdit, banking on its backup features, and giving up on my expectations of hosts including WordPress.com.)

It’s unfair to accuse companies of “strip-mining” WordPress so hosting providers can avail users a spam-free, crap-free hosting experience that’s also affordable. In fact, given how flimsy many of Mullenweg’s arguments seem to be, they’re probably directed at some other deeper issue — perhaps what he perceives to be WP Engine not contributing enough back to the open source ecosystem?

WordPress.com rolls back its botched ‘experiment’

So, WordPress.com has restored the family of premium plans that it had until April this year, and has done away with the controversial ‘Starter’ and ‘Pro’ plans. The announcement on the WordPress.com blog yesterday has already garnered a high 65 comments, even as the post itself was brief and didn’t contain indication that WordPress.com had screwed up with the new plans. Excerpt:

Our philosophy has always been one of experimenting, learning, and adjusting. As we began to roll out our new pricing plans a couple of months back, we took note of the feedback you shared. What we heard is that some of you missed the more granular flexibility of our previous plans. Additionally, the features you needed and pricing of the new plans didn’t always align for you. This led us to a decision that we believe is the right call.

You might recall that when the new plans were announced in April, my blog post reacting to them became a big deal on the Hacker News forum on that day, and (probably) first drew the attention of Automattic chief Matt Mullenweg and WordPress.com CEO Dave Martin. Since then, WordPress.com has been working to adapt the ‘Starter’ and ‘Pro’ plans for different markets as well as introduced à la carte upgrades to remove ads, add custom CSS and buy more storage space. However, the company continued to receive negative feedback on the changes from the previous plans.

One vein that I really resonated with was a rebuttal of WordPress.com’s claim that the older plans were messy whereas the newer ones are clearer. That’s absolutely not true. But on July 21, they seemed to have finally really listened and changed their minds for the better. (And even then, there are many expressions of confusion among the 65 comments.)

I also want to point out here that WordPress.com is being disingenuous when it claims its new plans were an “experiment”. That’s bullshit. No experiment rolls out to all users on production, is accompanied by formal announcements of change on the official blog and, in the face of criticism, forces the CEO to apologise for a hamfisted rollout process – all without mentioning the word ‘experiment’ even once. WordPress.com is saying now that its development has followed the path of “experimenting, learning, and adjusting” when all it did was force the change, inform users post facto, then solicited feedback on which it acted (before doing that in advance), and finally reverted to a previous state.

The 5ftf blunder

Automattic owner Matt Mullenweg recently made a scene on Twitter when he called out GoDaddy as a “parasitic” organisation for profiting off of WordPress without making a sufficient number of contributions to the WordPress community and for developing a competitor to WooCommerce, which is Automattic’s ‘WordPress but for e-commerce’. (To the uninitiated, Automattic owns WordPress.com and maintains WordPress.org. WordPress.com is where you pay Automattic to host your website for you on its servers; WordPress.org is where you can download the WordPress CMS and use it on your own servers.) At the heart of the issue is Automattic’s ‘Five for the Future’ (5ftf) initiative, in which companies whose profits depend on the WordPress CMS and the community of developers and users pledge to contribute 5% of their resources to developing WordPress.org. There has been a lot of justifiable backlash against Mullenweg’s tweets, which were in poor taste and which have since been deleted. But most of the articles on the topic that I read weren’t clear or not written well about what their authors’ reasons were to disagree with Mullenweg. So after some reading around, I thought I’d summarise my takeaways as I see them, and in case you might benefit from such a summary as well.

1. 5ftf appears to mean different things to different people. This has been a recurrent bone of contention because Mullenweg lashed out against GoDaddy because GoDaddy’s contributions were not legitimate, or not legitimate enough, for him. But this is hardly reasonable. Not every entity or individual can contribute in exactly the way Automattic wishes at a given time nor can Automattic, or Mullenweg, presume to know exactly which contributions can be discarded in favour of others. In fact, I’ve been sticking with WordPress even though WordPress.com has been becoming less friendly to bloggers because a) it presents a diverse set of opportunities for me, vis-à-vis the projects and services I know how to set up because I know how to use WordPress, and b) WordPress has engendered over the decades a view of publishing on the web that is aligned with progressivist views on publishing on the internet. So in my view I contribute when I recommend WordPress to others, help my fellow journalists and writers set up WordPress websites, provide feedback on WordPress services, build (rudimentary) WordPress plugins and, within my newsroom, promote the use of WordPress towards responsible journalism.

2. Mullenweg was wrong to abuse GoDaddy in public, in such harsh terms. This was a disagreement that ought to have been settled out of view of public eyes, and certainly not on Twitter. Mullenweg is influential both as an entrepreneur more broadly as well as, more specifically, as someone whose views and policies on digital publishing can potentially affect hundreds of thousands active websites on the internet. By lashing out in this way, all he’s done is made GoDaddy look bad in a way that it probably didn’t deserve to be, and certainly in a way that it would find hard to pushback against as a company. To continue my first point, GoDaddy has also said that it sponsors WordCamps and other events where WordPress-enthusiasts gather to discuss better or new ways to use Automattic products.

(Aside: In his examples of companies that are doing a better job of giving back to WordPress.org, Mullenweg included Bluehost. Some of you might remember how bad GoDaddy’s customer service was in the previous decade. It was famously, notoriously awful, exacerbated by the fact that for a lot of people, its platform was also the gateway to WordPress. I get the sense that their service has improved now. On the other hand, Bluehost and indeed all hosting companies owned by Newfold Digital have a lousy reputation, among developers and non-developers alike, while Mullenweg is apparently happy with Bluehost’s contributions and it is also listed as one of WordPress.org’s recommended hosts.)

3. Mullenweg blundered in a surprising way when he indicated in his tweets that he was keeping score. While GoDaddy caught Mullenweg’s attention on this occasion, the fundamental problem is relevant to all of us. You want people to support a cause because they want to, not because someone is keeping track and could be angry with you if you default. Put another way, Mullenweg took the easier-to-implement but harder-to-sustain ‘hardware’ route to instituting a change in the ecosystem than the harder-to-implement but easier-to-sustain ‘software’ route. We’ve come across ample examples of this choice through the pandemic. To get people to wear masks in public, many governments introduced mask mandates. A mask mandate is the hardware path: it enforces material changes among people backed by the threat of punishments. The software path on the other hand would have entailed creating a culture in which mask-wearing is considered to be virtuous and desirable, in which no one is afraid of being punished if they don’t wear masks (for reasonable reasons), and in which people trust the government to be looking out for them. The software path is much longer than the hardware one and governments may have justified their actions saying they didn’t have the time for all this. But while that’s debatable, Automattic doesn’t have such constraints.

This is why 5ftf should be made aspirational but shouldn’t be enforced, and certainly shouldn’t become an excuse for public disparagement. I and many, many others love WordPress, and a large part of it is because we love the culture and ideas surrounding it. We also understand the problem with for-profit organisations profiting off the work of non-profit organisations. If GoDaddy is really threatening to sink WordPress.org by offering the people hosting their sites on GoDaddy an alternative ecommerce platform or by not giving back nearly as many programming-hours as it effectively consumes, Automattic should either regard GoDaddy as a legitimate competitor and reconsider its own business model or it should pay less attention to its contribution scorecard and more to why and how others contribute the way they do. Finally, if GoDaddy is really selfish in a way that is not compatible with WordPress.org’s future as Automattic sees it to be, Automattic’s grouch should be divorced cleanly from the 5ftf initiative.

What are you doing, WordPress.com?

Be sure to check out the update at the bottom.

I recently wrote that I’ve stuck with WordPress.com for so long, for all its purported limitations, because its features fully suffice the committed blogger whose content is textual for the most part and because the company behind WordPress.com is running a good business, with the right ideals. (To the uninitiated, here’s an explanation of the differences between WordPress.com and WordPress.org.) But in the last two or three days, WordPress.com has jolted both these beliefs with a surprisingly wide-ranging rejig of its paid plans.

Earlier, there were five plans: free, personal, premium, business and e-commerce. The free plan came with no custom domain and 3 GB of storage – which is great for people looking to just write and publish and because WordPress.com subdomains had tenancy: it kept them alive even if the blogs at those locations had long died and it didn’t, and still doesn’t, allow people to register a subdomain that used to be owned by someone else and has since been deleted.

But at some point late last week, WordPress replaced all of the paid plans with a single ‘Pro’ plan and reduced the storage on the free plan 6x, from 3 GB to 500 MB. It also imposed a traffic ceiling on both plans where none existed: 10,000 visits a month and 100,000 visits a month (and it hasn’t said anything about overages – so far). As these changes were rolled out to user dashboards over the weekend, many users have also reported that the changes had been imposed on their old blogs as well, whereas the norm is to grandfather old user accounts with preexisting subscriptions (i.e. allowing them to continue on those plans and restricting the new plans to new users). There hasn’t been any official announcement from WordPress.com either about what we’re seeing, whether these users’ experiences are the exceptions or the rules, or anything else.

With the benefit of hindsight, perhaps we should have seen this coming: the new full-site editing option has rendered premium themes, and thus the premium and business plans redundant; the Gutenberg upgrade allowed users on free as well as personal plans to do some of the things that were previously only possible with premium or business plans. But to be honest, the hindsight doesn’t explain why WordPress.com – whose free plan, pro-open-source stance and focus on making publishing technology more democratic made it many a modern (non-technical) blogger’s host of choice – would pull the rug out like this.

I for one am particularly bummed because neither the storage space nor the traffic cap on the free plan work for me. The Pro plan currently has only an annual payment option (the older plans had monthly options) and it costs Rs 13,800 a year. I could arrange to spare this much money every year, sure, but it’s a ridiculous amount to pay for WordPress.com’s features – especially those I will really need to use.

Imagine looking for a good-quality surgical mask to wear in a park but finding out that the most reliable vendor in town has suddenly decided to sell only chemical safety masks. The next-best thing for me to do right now is to find and move to a well-reputed, reliable managed hosting provider, but there’s a reason this wasn’t the best option to begin with, which is what we stand to lose right now: WordPress.com “being there” for bloggers who just want to blog, without being in need of any of the complicated features that businesses seem to need, and WordPress.com being both a good-spirited technology company (unlike, say, Medium or Wix) out there whose prices were entirely reasonable.

On a related note, I’m also frustrated because WordPress.com had recently reduced its paid plans’ rates for the Indian market. For example, the business plan of old cost around Rs 7,400 a year whereas the new Pro plan, which matches the business plan feature for feature (plus an e-commerce option), costs Rs 13,800 a year, i.e. effectively going from $8.x a month to $180 a year. Again, this may be great for businesses – but it’s a shit move for bloggers. Matt Mullenweg, the CEO of Automattic, which runs WordPress.com, recently said in an interview: “I’ll tell you a stat most people don’t realize. Half of all users who sign up for WordPress.com every day are there to blog.” I’ll tell you that for all of these people as well as the people who are using WordPress.com to blog (including me), the new plan is a betrayal of our interests.

Update, April 3, 2022, 7:46 pm: WP.com CEO Dave Martin responded to this blog post after it went big on Hacker News (thanks!) here. Gist: traffic limits based on honour system, region-specific plans en route (vis-à-vis the separate rates in India), à la carte options on free plan coming soon, and communication wasn’t great. I already feel a bit better than when I wrote this post. I’ve also asked Dave to adapt his reply on HN for an update on the WP.com blog – I’ve been checking it regularly for an announcement on the Pro plan and I’m sure others have been as well.

An opportunity to understand the GPL license

Featured image: Matt Mullenweg, 2009. Credit: loiclemeur/Flickr, CC BY 2.0.

Every December, I wander over to ma.tt, the blog of WordPress founder Matt Mullenweg, to check what he’s saying about how the CMS will be shaping up in the next year. Despite my cribbings as well as constant yearning to be on Ghost, I’m still on WordPress and no closer to leaving than I ever was. And WordPress isn’t all that bad either (it runs The Wire, for example). In fact, I’m reminded of the words of a very talented developer from earlier this year with whom we at The Wire were consulting. When I brought up the fact that PHP (the programming language on which WordPress is a script) isn’t very conducive to scaling, he replied, “Anything can be built on anything.” So, for all its problems, WordPress does do some other things well that other CMSs might usually struggle with.

Anyway, lest I digress further – On a post on October 28, Mullenweg described the impact of the GPL license on WordPress’s development as “fantastic” – possibly because, as Linus Torvalds, who created the Linux kernel, has noted, the GPL license enforces itself: code derived from GPL-licensed code also has to be GPL-licensed. As a result, those making modifications to WordPress for their own use could not wall themselves off, preventing fragmentation as well as, in the words of University of Pennsylvania law professor Christopher Yoo, persevere in an environment that allows “multiple actors to pursue parallel innovation, which can improve the quality of the technical solution as well as increase the rate of technological change”.

GPL stands for ‘general public license’, and is widely used on the creation, modification, deconstruction, use and distribution of software on the web. Mullenweg’s broader post was actually about him noticing how the UI of the mobile app of Wix, a platform that lets its users build websites with a few clicks, closely resembled WordPress’s own, and how there was – as a result – a glaring problem. In its composition, WordPress uses code that’s on the GPL. GPL’s self-enforcement feature makes it a copyleft license: works that are derived from GPL-licensed work also have to be copyleft and distributed on the same terms. As a result, the code behind Wix’s mobile app had to immediately be made available (by, say, making it available on GitHub) and publicly accessible. It wasn’t.

Last I checked, the post had one update from Wix CEO Avishai Abrahami and 120 comments. And all together, they illustrated how the terms of the license, though written in language that was lucid enough, were easy to confuse and the sort of impedance that poses to its useful implementation. I spent an hour (probably more) going through all of it; if you’re interested in this sort of thing – or learning something new – I highly recommend going through the comments yourself. Or, if you’d like something shorter (but also trying to be wider in scope), you could just keep reading.

The tale has four dramatis personae: the GPL license, the MIT license, Wix’s mobile app and WordPress’s code (plus a cameo appearance by the LGPL license). Code derived from GPL-compatible code also has to be GPL-compatible – a major requirement of which is that: “… you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things” (emphasis added). This is also the clause that’s missing from the MIT license. As a result, code that’s originally under the MIT license can later be licensed as GPL (i.e. its source code made available) but code that’s originally under the GPL cannot later be licensed as MIT (i.e. source code that a GPL license has made accessible cannot be hidden away by the MIT license) – unless all the relevant copyright holders are onboard with the shift.

Paul Sieminski, the general counsel of Automattic – the non-profit company that originally built WordPress – commented on Mullenweg’s post thus: “[Wix would] probably be in the clear if you had used just the original editor we started with (ZSSRichTextEditor, MIT licensed). Instead, Wix took our version of the editor which has 1000+ original commits on top of the original MIT editor, that took more than a year to write. We improved it. A lot. And Wix took those improvements, used them in their app… but then stripped out all of the important rights that they’re not legally allowed to take away. We’re just asking Wix to fix their mistake. Release the Wix Mobile App under a GPL license, and put the source code up on GitHub” (link added). So far so good.

Wix CEO Abrahami’s response – posted on his blog on Wix – though cordial, makes the mistake of being evasive and in denial at once. As many commenters pointed out, Mullenweg’s ask was simple and clearly articulated: bring the source code behind Wix’s mobile app under the GPL and upload it on GitHub. Abrahami, however, defended Wix’s decision to keep the source code proprietary by saying that it only used an open source library modified by WordPress (“that is the concept of open source right?”) for a “minor part” of the app, and that he would “release the app you [Matt] saw as well”. The latter statement should have resolved the dispute because GPL only mandates that the source code be made available when asked for – not necessarily on GitHub. George Stephanis, a developer at Automattic, added: “The source code has to be freely available to everyone that has the software. If you want a paywall, it has to treat the software and source as a unit — you can’t distribute the software, but then charge for the source code.”

Some commenters pointed out that Abrahami may have been confusing the GPL license with the Library GPL (LGPL), and as a result not be entirely clear about the “viral” nature of the GPL license. When code is LGPL-compatible, extensions to the code needn’t be GPL-compatible. For example, in the Wix case, if the WordPress-modified open-source library was LGPL-, instead of GPL-, compatible and the mobile app had used parts of it, then the app’s source code doesn’t have to be GPL-compatible. In colloquial terms, the LGPL doesn’t infect code it is associated with the way the GPL does; it is less “viral”.

Nonetheless, I’d think it’s arguably harder to know Wix’s code has to be GPL-compatible, or even to know what the license on it ought to be, if it isn’t publicly available at all times. In support: the relevant part from the license’s preamble, which I quoted earlier, is “that [the users] know [they] can do these things”. I use the word ‘arguably’ not in the legal sense but in the spiritual one – the spirit being that of the free-software movement. And this is why I’m glad Mullenweg chose to hammer this issue out in public (via his blog) instead of via email. Moreover, I’m also glad that he didn’t initiate legal action immediately either: the conversation between Mullenweg, Abrahami and all the commenters – despite the occasional passive-aggressive animus – deserved to happen instead of the groups splintering off and blocking each other. The open source community always needs more unity.

Then again, the licenses that help sustain these communities could do more harm than good if they become too restrictive – especially when they fall out of step with changing governance practices while striving to keep the open source ideals we’ve associated with Richard Stallman alive even as they don’t offer too much freedom to users, which could result in a proliferation of alternatives that deprive useful software of its coherence. For example, Yoo writes in the paper I quoted from above,

… some restrictions on what people can do with open source operating systems are necessary if consumers are to enjoy the full benefits of competition and innovation. My point is not to suggest that open source software is inherently superior to proprietary software or vice versa. Both approaches have distinct virtues that appeal to different users. Moreover, any attempt to cast the policy debate as a choice between those polar extremes [i.e. open source and modular development] is based on a false dichotomy. Instead, the different modes for producing software platforms are better regarded as occupying different locations along a continuum running from completely unrestricted open source to completely proprietary closed source. Indeed, companies may even choose to pursue hybrid strategies that occupy multiple locations on this continuum simultaneously. The diversity of advantages associated with these different approaches suggests that consumers benefit if different companies are given the latitude to experiment with different governance models, with the presence of one open source platform serving as an important competitive safety valve.

Subscribe to The Wire‘s weekly science newsletter, Infinite in All Directions (archive), where I curate interesting science news, blogs and analyses from around the web.