Over the weekend, Matt Mullenweg announced on Twitter that Apple’s App Store had blocked Automattic from shipping updates to WordPress’ official iOS app. Automattic doesn’t sell anything for WordPress.com or Jetpack inside the mobile apps, but the app included external purchasing methods that bypassed Apple’s requirement of selling via in-app purchases.
On the surface it seemed Apple was forcing a free app to add in-app purchases solely to extract its 30% cut of the revenue. The problem was if users drilled down deep enough into web help pages, they could find a window to escape the walled garden. While this seems like an unlikely way that a user would purchase an upgrade, Apple held the app’s updates hostage in order to gain full compliance from Automattic.
“There are a few convoluted ways you can get to our web app from within previews, documentation, etc.,” Mullenweg said in the Twitter conversation. “We offered to block based on user agent server-side, but that was not deemed sufficient.”
In a rare congenial response from Apple, the company apologized and reversed course 24 hours later, but not before Automattic had already acquiesced to adding in-app purchases. In a statement provided to MacRumors, Apple said the issue has been resolved, although it did not specify if this happened weeks ago:
We believe the issue with the WordPress app has been resolved. Since the developer removed the display of their service payment options from the app, it is now a free stand-alone app and does not have to offer in-app purchases. We have informed the developer and apologize for any confusion that we have caused.
The Official WordPress Apps Need to Be Separate from Automattic’s Commercial Interests
Automattic’s control of WordPress’ official mobile apps has long been a controversial issue in the open source community. Since the company heavily subsidizes the apps’ development, its agenda for the apps goes completely unrivaled. This is why the official apps contain WordPress.com and Jetpack-specific features that are unnecessary for many self-hosted site owners.
Although the apps are open source, historically, they have rarely received contribution from developers outside Automattic due to the complexity of the code. This hasn’t changed. In 2016, when version 5.7 of the apps came out for iOS and Android, it looked like Automattic was pushing forward on building an upgrade path for WordPress.com plans. At that time, features for self-hosted sites began to lag behind significantly. Automattic mobile engineer Maxime Biais said the commitment to support both was equal.
“WordPress.com features are not prioritized over self hosted,” he said. “When we can implement things for both we do it, but when we can’t (like when we don’t have the XMLRPC endpoint) we do it for WordPress.com and usually ask Core to do the changes so we can implement the same feature for self-hosted users.”
Developing the app for self-hosted users and Automattic’s customers at the same time was always a delicate balance. This situation with the App Store underscores the need for the official open source apps to be separate from the control of any commercial entity, but the reality is that these apps would not exist without Automattic. Their continued maintenance is entirely funded by the company. Unfortunately, attracting outside contributions from the broader community has been difficult given that Automattic is the only company whose products are allowed to be built into the official WordPress apps.
Prior to Apple backing off of its requirement for Automattic to add in-app purchases, the company had presumably exhausted every other option before giving in to Apple’s demands. At that point Mullenweg started crowd sourcing ideas from his followers on Twitter to look for a way forward for the community. This seemed to mark a new era for the apps where Mullenweg was willing to consider adding other companies’ products into the apps alongside his own and then passing the revenue along.
“New name: The app has always done a ton of work to support WordPresses hosted anywhere, using the XML-RPC API included in core WP since WP 2.6 was released in 2008,” he said. “That’s why we called it ‘WordPress’ and not ‘WordPress.com’ or ‘Jetpack.’
“I am a big believer in the sanctity of licenses. (Open source relies on licenses and copyright.) We agreed to this license when we signed up for (and stayed in) the app store, so going to follow and abide by the rules. Not looking to skirt it, hence doing what they asked us to.
“Allow others IAP: All of the code is open source, if other hosts or plugins wanted to support in-app purchases for their plans we could accept patches and have Automattic pass through the revenue.”
The idea of Automattic becoming the arbiter of which companies have access to selling through the official mobile apps introduces even more conflicts of interest into what was already a murky entanglement. This setup would be wholly objectionable to many in the open source community. For the sake of clarity and simplicity, WordPress’ official mobile apps need to be free from commercial interests.
John James Jacoby suggested Automattic build a new app for its own products if the company wants to add in-app purchases. Mullenweg seemed open to considering the idea.
At the moment, given Apple’s apology, the liberation of the mobile apps is no longer a matter of immediate necessity. Mullenweg seems satisfied with the outcome for now, but the original conflicts of interest in the app remain.
“I did not expect the previous tweet to get attention outside the WP community,” Mullenweg said. “My understanding was the previous decision was final, and we had already made many of the arguments people suggested privately over the several weeks the app was locked.
“We will continue to be responsive and do our best to be within both the spirit and letter of the app store rules, including closing any webview loopholes that pop up. This also made me appreciate the freedom of the open and independent web.”