ACF PRO and the Great Backward Compatibility Debate

The developer release of Advanced Custom Fields PRO two weeks ago caused quite a stir in the WordPress community. It sparked a debate about backward compatibility, business models, and developer entitlement with free plugins. However, for me this debate actually highlighted wider issues around WordPress site development and perhaps more importantly the community.

So in case you didn’t know, Advanced Custom Fields (ACF) is a free plugin that has over 2 million downloads on the WordPress plugin repository. It is one of those tool plugins that almost every site can benefit from, saving a developer coding time and giving a user much larger control of custom data of their WordPress site. It is currently at version 4.3.8 for the free version, which interacts with a number of premium add-on plugins for richer functionality.

Elliot Condon, the Melbourne based developer of ACF, announced the arrival of ACF PRO, which effectively is an improved version of the free version plus the inclusion of the three previous premium add-on plugins. Version 5 of the free version has yet to be released, although it has been available for beta testing on Github since March. This announcement triggered many people to panic over a perceived lack of backward compatibility with version 4 and potential site breakages. This panic had actually already happened on Twitter back in April, and Elliot had taken the feedback criticism on board:

So if an install had been upgraded to v5 and there were the premium add-ons present, the plugin would rollback to v4, allowing developers to migrate fully to ACF PRO if they so wished or leave the plugin at v4 – fully functional.

Then came a post from Chris Lema about backward compatibility in plugins, directly aimed at ACF and the move to the new model, that frankly fuelled the ACF panic fire again needlessly. Now Chris is a well respected figure in the WordPress community and of course is entitled to his opinion on these things but certain aspects of the post were unnecessary. The majority of his criticism of ACF came from his bad historical experiences with the plugin, and not directly related to the v5 and PRO. He makes a bold statement that the issue is about how the upgrade breaks things, citing this post from the ACF website. I’m not sure I understand the fuss on that one. Elliott recommends you back up your database. Good advice, WordPress does the same for manual core updates. He then lists changes to registering fields via code but goes on to mention v5 handles compatibility. Ok, great. Some other small amendments but no big breaking changes. Hmmm. The update route from v4 was clearly documented as well.

The biggest issue is the need to purchase PRO, install it and deactivate the free and premium add-ons, if you choose to do so. I appreciate that on a large scale that is time consuming. But it isn’t a necessary step to keep the plugin running or stop it from breaking. One of the most worrying things I have heard repeatedly in the comments and on Twitter is the fear about clients updating the plugin and breaking it. To me the worry should actually be about letting clients update plugins, especially essential tool plugins for a site. As developers we should be in a position to mitigate these risks by doing a number of things:

  • Preventing end clients from updating plugins. Would you really feel comfortable letting a client update WooCommerce for example?
  • Having support contracts in place with clients to handle the testing and deployment of WordPress core and plugin updates, so the worst case scenario is covered by an invoice.
  • Simply, if a client is serious about their website then you should be too. Have staging environments, test things locally, don’t suck it and see.

Unfortunately Lema’s post, the subsequent comments and related posts, displayed a side of the WordPress community I had hoped didn’t exist. The clique. Too quick to take up the pitchforks.

For me, Andrey Savchenko (Rarst) hit the nail on the head in his comment on the Post Status followup piece regarding this furore over backward compatibility:

But the pestering of developer for it is unseemly, mean, and entitled.

I can’t help thinking that the reaction from the community would not be quite the same if it was a different plugin, a different developer.

Of course this is only my perspective on the debate and I generally respect and value the opinions of the authors quoted here. But I believe that, as developers, we need to take more responsibility for our work when using free (or even premium) plugins, and as a community not instantly turn on a developer, who has spent countless hours on a widely used free plugin, when things change.

About Iain

I am a WordPress and PHP developer building my own plugins and working with Delicious Brains. I like to blog about things, especially WordPress.

  • I just logged in to a client site that uses ACF (regular, not Pro). The plugin reports being up to date. It is not alerting my client to upgrade to Pro.

    Seriously, what exactly is the problem here? Are clients pestering developers about why they aren’t upgrading this plugin to Pro?

    As a developer, why can’t I just leave existing installs at 4 and make all my new projects with Pro? I agree with you, Iain. The WP clique around certain WP personalities is becoming annoying…

    • Thanks for your comment Glenn. Exactly, all my new projects are using Pro. What a support headache?!

    • smutek

      …that frankly fuelled the ACF panic fire again needlessly.

      I also use ACF a lot. It was, and still is, one of my most valuable tools. I’m super grateful to Elliot for creating it and making it available at a reasonable price.

      I freaked out a bit when I read Chris’s article, yet here we are 6 months later and ACF 4 is still being given away for free, it’s still fully functional and capable, the add ons are still being sold, nothing is breaking, and no one is being forced to upgrade.

      Every time I receive a notification of a new comment on that post I am reminded that none of the key points that I took away from that article ended up being accurate.

      • John B. Manos

        Time and again, I am seeing the same thing about that guy’s posts.