The WordPress subreddit lit up this week with reports that MemberPress blocked users from the plugin admin if they didn’t renew their subscriptions. MemberPress is a popular membership plugin for WordPress. This is a commercial-only plugin starting at $179/year for one site, and there is no free version.
Reddit user @hamsternose opened the discussion with a first-hand account of being blocked:
So I just found out that MemberPress has changed their subscription model and will now stop working the second your license expires and you will have to be reluctant to get it working again.
This is the first WordPress plugin I’ve come across that works this way and I can’t say I’m a fan. I support updating plugins, but I don’t think it should be forced as it forces users to meet price requirements chosen by a developer.
Is this the way forward for WordPress plugin developers now?
MemberPress’ updated renewal policy is clearly outlined in the plugin’s documentation about what happens when a user’s subscription ends. The most controversial action is that customers “will no longer have access to any of the MemberPress admin screens.” The policy states:
Essentially, you will be able to continue using MemberPress on the front-end of your site indefinitely after your subscription ends. However, you will not be able to access the plugin’s administration screens or functions. Unless you renew, we will no longer be able to support changes or additions to your site.
Cutting off access to the plugin’s admin screens leaves users without the ability to manage their sites’ membership features if their subscriptions expire. This prevents users from doing things like issuing refunds to customers, adding new members, managing site memberships and activations, among other actions.
This unorthodox approach is surprising compared to the renewal policies of most other commercial plugins, which typically end support and updates for those who don’t renew. Cutting functionality in this way could be especially problematic for agencies running websites for clients using MemberPress. This is something essential for business operations and potential customers should be aware that the policy is markedly different from most other commercial WordPress products.
“I can understand a ‘no more updates for you’ policy, but stopping something you’ve paid for (at least once) isn’t good,” web developer Mauro Bono said in reply to Post Status to propose WordPress companies create a trade association to govern practices like this and violations of admin notices.
“I think companies should be allowed to do that, but I think the community will speak with their feet and move on to a product that doesn’t do that sort of thing,” said Malcolm Peralty, lead product owner Trew Knowledge. “It’s all about balance and I think it strays too far from what I think is ‘right’.”
The GPL allows companies to sell open source software. In this case, users also, perhaps unknowingly, purchase the code that disables the plugin’s admin functions as soon as they don’t pay to renew. Some may consider this a questionable business practice in the WordPress ecosystem, but it does not violate the license.
In 2017, David Marín Carreño from the Spanish WordPress community contacted the Free Software Foundation (FSF) regarding similarly structured business models for plugins. He asked if it was permissible for a plugin author to distribute a plugin under the GPL but lock access to some of the functionality using validation code, which checks against a remote server. The FSF responded:
The GPL does not prohibit such locks or schemes, as long as the recipient of the software can modify or remove them according to the terms of the GPL. It is not the lock itself that is prohibited; this prevents others from studying, modifying, or removing this GPL-prohibited lock. It would also be a violation of the GPL to add license terms that prohibit the recipient of the software from removing these feature-locking patterns.
Although the FSF validates the business model, many find the practice unsavory, as evidenced by comments on the Reddit post. In an article titled The WordPress Way, Jason Coleman, co-founder and CEO of Paid Memberships Pro (PMP) plugin, one of MemberPress’ main competitors, seemed to indirectly address MemberPress’ renewal policy, saying that some companies ” reluctantly apply the GPL license to their code. Coleman described what he sees as “the WordPress way:”
Doing things the WordPress way means making all of our software free and open source, just like the core WordPress software.
This means that the plugins we write to integrate with other plugins and third parties are hosted in the WordPress.org repository, as this will incentivize both parties to maintain the plugin.
This means that our code will continue to work as intended if your paid license expires.
This means providing simple one line code solutions to disable our upsells or additional gateway fees.
This means using WordPress coding standards so that our code is more readable for developers used to reading WordPress-based code.
MemberPress founder Blair Williams has not yet responded to our requests for comment. There may be a reason or chain of experiences that led to this renewal policy, but the plugin’s documentation doesn’t elaborate on that.
In light of recent discussions on Reddit and Twitter, Coleman’s promises to customers illuminate the contrasting values and business principles of MemberPress and PMP. This may be compelling for MemberPress customers who are looking for a different plugin after seeing the updated renewal policy.
“If a decision comes down to something that will improve the software and something that will make us more money, we choose the option that improves the software,” Coleman said.
“For us, that means embracing open source and the WordPress way, making our software available for free to get the most users and contributors, and building a business on the software we create by adding value instead of artificially limit our software and sell the processing.”