WordPress Core vs Canonical Plugins

There has been intense discussion about what should and shouldn’t go into the core of WordPress and what should be in plugins since way before Matt talked about canonical WordPress plugins in his State of the Word, but that mention has definitely caused some serious buzz. The question is whether WordPress should stay small and fast or grow and be feature rich. Both have their advantages and disadvantages.

The advantages to the “WordPress should stay small” philosophy are not limited to the WordPress download staying small (although that is one advantage). A smaller code base will make it easier to keep WordPress fast, reliable, and easy to test as well. The people that support this side of the argument would argue that WordPress could be extended to still accomplish any of the “missing” features through plugins and custom themes, and having built-in functionality that you don’t use is a waste.

The disadvantages are that many users (remember there are millions of WordPress blogs out there, many ran by people that are not tech savvy) are not comfortable with or even capable of installing plugins to solve their problems. For those people, having the functionality in the core WordPress install is probably the only way they’ll get to use it. Not to mention if 99% of people that install WordPress install a specific plugin, isn’t it obvious that the functionality provided by that plugin should be included in WordPress itself? Unfortunately, what if it’s 95%? 90%? 75? It’s hard to figure out where to draw the line. Additionally, if something is popular but doesn’t make it into core, should the programmers test against it before releasing new versions of WordPress or does that responsibility fall to the plugin author?

Obviously the advantages and disadvantages for the “WordPress should be feature rich” philosophy are the exact opposite. The problem is, both sides have valid arguments, so the real question becomes “is there something better?” I think canonical plugins may very well be the answer to that. The idea of canonical plugins is that WordPress would back a specific plugin as being the “solution” to a specific problem. For example, maybe you want to display related posts and WordPress has decided that “Efficient Related Posts” is the solution for that. They may have a list of commonly asked for features and their solutions on a page somewhere, or they may take it one step further and package the plugins with the official WordPress download.

I think that if they package some plugins with the official WordPress download, they may be very close to a great solution to this tiring debate. The advantages are that the core would stay lean, fast, and reliable. The functionality would be available to all users because it’s just a matter of activating the plugins rather than finding, downloading, and installing them. Also, the plugins that are shipped with WordPress would need to be tested with each new version, which means they’ll be stable as well. The only real disadvantage is that the download size would grow, but we live in the era of broadband. It seems a small price to pay to solve so many other problems.

About Aaron D. Campbell

Owner and lead developer at BlueDog, Aaron has 10+ years of web development experience, it a regular core contributor to the WordPress project, and has released many WordPress plugins.
This entry was posted in Wordpress and tagged , . Bookmark the permalink.

2 thoughts on “WordPress Core vs Canonical Plugins

  1. Utahcon says:

    One of the greatest advantages of WordPress is the fact that it is so lightweight and open. This is the reason there are so many plugins. By leaving the features to the users and community the WordPress Dev Team can focus on making the core product more reliable, secure, and faster. The users and community can then create a plugin to do anything they would like with the assurance that they don’t have to accept something as, this is the way it is.

    I am all for WordPress sponsoring plugins as the semi-official plugins. Meaning these are the plugins most people use, and we will spot check that they still work, but you don’t want the Core Dev Team spending more time making sure they don’t break plugins. That is the job of the developer of the plugin. Automattic has always been open about their process of development and generous in getting betas and RCs available so that developers can in fact test their own plugins against the latest and greatest architecture.

    Furthermore the WordPress Dev Team should focus on not breaking current functionality, which would alleviate a lot of the breaking plugins.

    Great article.

  2. Peter Kahoun says:

    I also think including (or promoting) feature-packages as separable plugins is the best way to go. (Other option is not to include such plugins into the main wp package but to promote them and offer them to simple automatic installation on the plugins page in administration.) Actually, it’s hard for me to believe WP could turn to approach like this.

Leave a Reply

Your email address will not be published. Required fields are marked *

Note: If you are replying to another commenter, click the "Reply to {NAME} ↵" button under their comment!