Core Plugins

January 11th, 2010

In the past year or so, you may have heard of the term ‘Canonical Plugins‘ being used throughout the community. Back in early December, a poll was published that goes into more detail regarding the idea of Canonical Plugins and what to call them. The poll has since closed without making the results viewable but from what I understand, the name for these plugins going into the future will be ‘Core Plugins‘.

Core plugins are community developed and encourage collaboration with multiple developers to satisfy the most popular functionality requests that would not make it into the Core of WordPress. These plugins would be developed alongside the core of WordPress to ensure compatibility, coding standards are met, secure code, etc. To highlight these plugins, a screen would be added to the plugins page in the back-end of WordPress to highlight these special plugins. Everything sounds great right? Let’s take a look at some of the possible unintended consequences this could have on the community.

New Labeling – By the very nature of a plugin being labeled ‘Core’ puts the plugin above all others without the special label. All other plugins become inferior even if some of those plugins are better.

Interruption Of The Free Market – There are over 7,000+ plugins on the repository. It’s hard to figure out which plugins one should use. Some functionality such as Twitter can have up to 10 or more different plugins. All of them could suck or one could be a gem. The free market principles of the repository enables the end-user to make that choice for themselves. The free market takes care of good and bad plugins. Core plugins sort of take that choice away for specific functionality. For example, you have a Core Twitter Plugin and 5 other plugins. Even though the core plugin doesn’t do something 3 or 4 of the other ones do, why use them when you know the core plugin is going to be secure or give you that feeling of being safe?

Do Developers Want To Collaborate? – As far as I can tell, there is no concrete discussion that showcases the fact that plugin authors want to collaborate or bring people on board to help out with development. Most developers like to code on there own as they know there own code the best. I would love to hear from plugin authors on whether they want to collaborate with other people for their own plugin or someone else’s.

Discouraging Development – If we have 10-20 core plugins that cover the gamut of the most popular functionality requests for WordPress, what motivation or incentive is there to whip up a plugin that no one will pay attention to? I suppose as a plugin author, you could deal with the lack of attention or eyeballs on your plugin or you can scrap the idea and work on the core plugin that provides the same functionality.

Those are just some of the unintended consequences being discussed but the entire idea of core plugins leaves me scratching my head as I ponder 100 different questions about the process. Here are a few.

What makes a plugin a core plugin? or Will any existing plugins be given the Core label or will they all be made from the ground up?
Who decides what features get added or denied to the plugin?
Who supports the core plugin?
How does a plugin be removed from core status?
Who gets to choose who the collaborators are?


While the idea of core plugins sounds great on paper, encouraging collaboration and all, I wonder just how well this idea will be executed and what the response will be like from plugin developers. Earlier today, I briefly attended a chat that was taking place to discuss the infrastructure that is being developed specifically for these core plugins. This infrastructure would also benefit all other plugin authors as well. What I don’t understand is, if completely revamped the plugin repository, plugin trac, the support area, improved collaboration, etc, wouldn’t this negate the need for core plugins to begin with? Also on the subject of collaboration, I’ve had the opportunity to chat with a number of plugin authors, many of whom have popular plugins and they have told me that they work behind the scenes with other plugin authors to ensure compatibility with one another or to tell each other of improvements. I’m sure collaboration tools could be developed to make this process easier instead of making them all go the core plugin route.

I’m usually not the one to Poo Poo an idea before it’s had a chance to prove itself but I have to admit, there are a bunch of legitimate concerns regarding core plugins addressed in this excellent post by OneFineJay. Could it be that the unintended consequences will not come to pass and everyone will love the way the core plugin idea was executed? Unfortunately, the core plugin idea is in full swing and will happen no matter what anyone in the community has to say. So at this stage of the game, I think I’ll just have to sit back and watch it all unfold this year along with the rest of you to see if it becomes a boon or bust for the WordPress community. I’m hoping for boon!

*Update* Check out this comment from Matt.




  1. Carl Hancock says:

    I don’t think there is anything to add. You summed up the situation nicely Jeff. My fear is that core plugins will result in less community despite the fact they are intended to promote community.

    Developers aren’t going to want to compete against a core plugin which result in less options for the end users. Competition breeds innovation so less competition also means less innovation.

    Are people overreacting? I hope so. I hope turns out to be nothing, because the alternative will be a drastically altered WordPress landscape. I guess only time will tell.

    • Jeff Chandler (171 comments.) says:

      Heh, and the level headed comment by Matt on OneFineJays blog post calms me down again. He has a way of doing that. But Michael is right, either done by the community or those who don’t know enough of the situation, Core Plugins have been marketed as a way of dealing with the 100 plugins for specific functionality problem and if that is not the way it’s supposed to work, then maybe this is a good experiment to take place. I like Matt’s idea of something from core, something new, and something old. Will be quite interesting just to see how it takes off.

      • WPblogger (2 comments.) says:

        Jeff, the only problem is what about when that expands and affects a plugin you care about?

        Once Core Plugins are in place, it will naturally expand out and drastically alter the landscape of the plugin community.

        And, since the same can be said of Themes that’s said of Plugins (there are a lot of bad ones) it doesn’t seem like leap to think they’ll expand this practice into themes as well.

        So what we’ll end up with is a list of approved plugins & possibly themes which won’t compete on their own merit, but whether they’ve been able to acquire the core tag.

    • Otto (215 comments.) says:

      We shouldn’t have WordPress developers competing against each other. We should have them collaborating with each other, and competing against functionality offered by other CMS systems.

      • Lars Tong Strömberg (14 comments.) says:

        I think you underestimate the driving forces of a free market if you don´t think WordPress developers should compete against each other. Competition is always good and spurs innovation.

        As long as the criteria for how to become a “core plugin” are transparent and open for everyone to try to achieve, I don´t see any problem in having a “pro plugin” category. A label like that everyone would like to achieve and brand their plugins with, would only be good.

        However, if core plugins are non-competitive, closed, “there can only be one core plugin for this” etc. as a concept interrupting the free market and competition, THEN this could be a problem in the long run.

        Hopefully Matt and everyone at Automattic will understand this.

  2. scribu (42 comments.) says:

    To highlight these plugins, a screen would be added to the plugins page in the back-end of WordPress to highlight these special plugins.

    I’ve heard nothing of the sort. Could you cite your source?

  3. WPblogger (2 comments.) says:

    You’ve summed up the issue quite nice. However, I think you’ve also highlighted another major issue with this statement:

    So at this stage of the game, I think I’ll just have to sit back and watch it all unfold this year along with the rest of you to see if it becomes a boon or bust for the WordPress community. I’m hoping for boon!

    Sitting back while the powers that be drastically alter the community’s landscape isn’t going to do anyone any good.

    Adii mentioned on Twitter that he’s staying out of the fray because these discussions go nowhere.

    Maybe I’m a bit naive but I thought WordPress was supposed to be based on a community.

    This episode (and a few others recently) only prove that there are a handful of developers (the majority of whom are Automattic employees) that determine how a open source platform that servers millions of sites acts & behaves.

    The phrase “out of touch” is thrown around a lot in political discussion but I think it fits perfectly in this instance.

  4. bubazoo (213 comments.) says:

    I’m having a problem upgrading plugins and WP thru the admin interface ever since 2.90 was released. 2.91 didn’t seem to fix the issue.

    The problem seems to be, after the unpack, it doesn’t have file permissions to write the new files, so for now, I had to chmod /wp-content/upgrade and /wp-content/uploads to 777, which I
    realize is unsafe, but if I give the directory and all its contents
    755, then it doesn’t have write permissions to upgrade WP or the various plugins from the admin interface.

    Does anyone know what could be causing this?

    My old host, hastyhost, went out of business, so they copied my account to a new server at XE solutions, ever since that was done, I’ve had this problem. XE solutions tell me I should contact wordpress support about this, because they don’t know whats causing the problem. wouldn’t you think they would know how to configure their own servers?

    I was thinking maybe it had to do with suexec not being installed, or whatever that PHP module is called that allows you write access to your files with 755 set, but the hosting provider says it is installed, so I don’t know what else to do but ask for help on this


    • gestroud says:

      With all due respect, rather than sidetracking/hijacking this post with support questions that have nothing to do with the initial post, you’d be better off asking in either of these two places:


    • Victor Teixeira says:

      @bubazoo: I have this same problem with my host. Actually I think all cpanel based webhosts have this problem.

      It’s something related to file ownership.
      Your host can chown the files and directories of your wordpress install and everything will work but the problem is that once it’s done you will not be able to edit any file properties through FTP.

      This is my experience.

  5. Lars Tong Strömberg (14 comments.) says:

    Great post. Indeed thinking this through thoroughly sounds like a very good idea because interrupting free market thinking and actions is always risky.

    If “Core Plugins” were plugins that met a higher compatibility/licensing criteria, stricter coding standards and higher overall security implemented, etc. I would be find with such a concept as long as everyone has the possibility to participate in it.

  6. Joshua says:

    Do Developers Want To Collaborate?

    I have no problem collaborating. Haven’t you seen so many collaborations out there to throw such a question?

  7. Otto (215 comments.) says:

    Oh for crying out loud…

    New Labeling (superior vs. inferior): How do you define “superior”, or even “better”? Well, IMO, a Core plugin would be superior, by definition. Why? Because it is more or less guaranteed to be supported in the long term. Mere code quality does not a great plugin make, things like longevity, how it will handle upgrades, support base for bug reporting… these are all markers of superiority as well.

    Interruption Of The Free Market: Nonsense. A user can still choose to use any plugin he likes. Okay, yes, so maybe plugin developers will contribute to the core plugins instead of developing their own… That’s a good thing. That is, in fact, the whole point. We *want* people to contribute to a common plugin ecosystem instead of having a fragmented market of poor plugins.

    Do Developers Want To Collaborate? Well, honestly, I’d say that most small scale plugin development is need-driven. Somebody needs a plugin for something, they look for one, can’t find it, then write their own. If there was a well-supported plugin with a thriving community around it, then perhaps they’d join that community, contribute their ideas and/or code, and improve the existing plugin for everybody. I’d like that much more, wouldn’t you?

    Discouraging Development: There’s 7000 plugins in the directory now, and most of them are at under a couple hundred downloads. What motivation do those authors have to keep their plugin going, or to maintain it, or to support it?

    I think that some of these objections are being made by people who don’t understand that the fundamental concept is more than just a “plugin showcase” area. Along with it goes new tools and systems to make collaboration on plugins easier. I’d be surprised if a plugin was allowed to become “Core” until it has multiple committers and developers on it. The point is to make well-supported, well-written, community-driven plugins, and to give authors incentive to collaborate on those plugins.

  8. Dan Cole (5 comments.) says:

    I would love to collaborate with other plugin authors. Personally I don’t have the time to go solo, because development and support can be a lot of work.

    I think the lack of collaboration is due from shyness and fear. Would another developer be willing to add me to his project or would he reject me? Should I allow other developers on… 1) They could do nothing and get credit. 2) They could do things too differently or be too aggessive. 3) What if we don’t get on the same page? There are a lot of unknowns and things to work out.

    With managing core plugins, developers can contribute how ever much they want to (no obligations). Decisions can be moderated, if need be, by independent developers who are respected. Anyone can join in or leave. Plugin code is more likely to get reviewed and fixed. Core plugins are, in general, more likely to have a higher quality of code over time.

  9. that girl again (41 comments.) says:

    Why do you say ‘unintended’ consequences? What makes you think that Automattic don’t want to reduce the plugin repository to a more manageable size, discourage lazy or mediocre coders, weed out anyone who wants to make a profit, and cherry-pick the good boys to work for them?

    Theme developers have already tasted the wrath of Matt; now it’s the turn of the plugin guys. Good luck everyone, you’re going to need it.

    • scribu (42 comments.) says:

      weed out anyone who wants to make a profit, and cherry-pick the good boys to work for them?

      That’s total bullshit. Stop spreading FUD.

      • that girl again (41 comments.) says:

        Care to explain why it’s FUD, or are you just here to increase your comment total?

        • Dave (15 comments.) says:

          Actually I think the burden of proof is on you.

        • Dave (15 comments.) says:

          Though that actually was a pretty nuanced comment for She of WordPress Wank. The first part almost makes me think you like the idea! I’m just not sure where you are coming from with the anti-profit part. I don’t think Matt is kidding about being a free-market ideologue himself, though like anyone I suppose his belief system need not be internally consistent.

  10. Dave (15 comments.) says:

    I don’t think us non-geek types would have nearly as hard a time figuring out which plugins were the best and most reliable if it were possible to do a Google search and find good, comparative reviews somewhere out in the plethora of WordPress-focused blogs. Instead, coverage of new plugins — or anything else — rarely goes beyond “Here’s this nifty new plug that does X.” (Weblog Tools Collection has published a few good reviews which are exceptions to the rule.) But since that doesn’t seem likely to happen, maybe instead the plugin repository could be remodeled to add user reviews a la customer reviews or Rotten Tomatoes.

  11. shawn says:

    I for one love the idea of core plugins.

    It is so frustrating when you first start out with wordpress and so many choices for plugins. I can’t count how many times I have installed a plugin, only to have my sysadmin tear me apart for ‘putting that piece of trash’ into the system. I get really tired of hearing about xss, non-sanitized inputs, and other issues.

    At the very least it would provide a better mechanism for having more secure plugins out there. I mean unless you are a coder, or have a sysadmin review everything, there is no way to tell a good plugin from a bad plugin.

    Then there is the whole issue of plugin replication where there are a dozen plugins that do virtually the same thing. Trying to figure out which one ‘may survive’ due to popularity etc can be almost impossible.

    I’m pretty new to wp, less than 4 years now, so I keenly remember the days of googling for plugins, and virtually flipping a coin as to what I installed. And then to only find out that the plugin is no longer supported.

    Now I have given up and much more prefer to have custom plugins written, where I can reach the coder and simply pay for updates in the future if they are needed.

    I can only imagine how much easier it would be to have core plugins with dev staffs that can be hired out to maintain or add functionality to them. Being core would mean the exposure of problems would be greater, as more people would be looking into them.

  12. Victor Teixeira says:

    Core Plugins is a must need stuff.

    If it’s not implemented now, in the near future all the good, professional grade plugins will become Premium and will only be available behind the Pay wall.

    This is something to protect all of us, wordpress users.

    I’m in the middle of a problem: I’m developing a wordpress based website, a huge one, and I need a cms plugin to create fields and custom write pages.
    My problem: the plugin I chose was not yet upgraded to work with 2.9 and it’s really broken. And I don’t know if the developer will upgrade…

    So this kind of problem should go away with the introduction of Core Plugins.

    I really think that a Core plugin for this kind of CMS stuff is a must need.

    PS: at this time I’m evaluating the possibility of using another platform for this website since depending on plugin authors is a huge risk for me and my client.

    For now I’m evaluating Drupal (CCK is going into core on drupal 7) and Symphony, this one is not a huge player but I think everyone should take a look – it can be the CMS future –

  13. Dave (9 comments.) says:

    As usual, Matt’s comment is intelligent, well thought out, and very… calming…

    Really, do you honestly think ‘core plugins’ or whatever they are called will stifle development? Leaving important features out, as they currently are, only makes it harder for new users to get started. If a developer doesn’t want to collaborate with other developers (your third point) I’m not sure I want to depend on them for plugin updates (as has been the problem with the on-again off-again status of PodPress).

    If you don’t like it, fork it!

  14. Stephen Cronin (30 comments.) says:

    So what’s the difference of your plugin being superceded by a core plugin from your plugin being superced by similar functionality being added to the core?

    Maybe it’s a little more likely, but that’s a ‘risk’ us plugin developers have always had to face.

    I think it’s a good thing. If it happens to me (it won’t because none of my plugins would fit the criteria for a core plugin), then I’ll either join the team working on the core plugin or make my plugin even better!

    • Dave (9 comments.) says:

      I agree. If you are writing GPL software, isn’t it the best compliment when somebody takes the code and includes it in their own GPL code?

  15. NG (1 comments.) says:

    The label “Core Plugins” is actually positive. This means those plugins are practically guaranteed to be reliable, and if they are not they are fully support by the core developers to fix them if they are broken. Reliable support, and continued support, of plugins that are critical for many WordPress end users is a necessity to keep them using WordPress.

    There was a time when Microsoft integrated their web browser into the core programming of their operating system, which was believed to discourage competition in the browser market, so the United States government tried to force Microsoft to unbundle their web browser, and when Microsoft said they could not, the government labeled them a monopoly, which now hobbles some of their innovative ideas, much like it did to IBM before them.

    The approach WordPress is taking is to take some of the features out of the core of WordPress, which is starting to get bloated, and put it into a select few Core Plugins, which by their very nature can be activated, or deactivated and deleted, so the end user has a choice.

    Programmers exist to solve problems, and the better their solution to a problem, the more likely someone is to use their solution, aka WordPress plugin.

    If Core Plugins cannot solve a problem, or do a job, better than someone else’s plugin, the end user can deactivate the Core Plugin with its basic functions and lack of bells and whistles, to opt for something better, whether the other plugin is free or paid.

    I am surprised developers have any concern at all about this change. WordPress is all about the freedom to choose what is right for you, without being forced to load an overly bloated core that consumes a lot of memory.

    Google has released their Chrome OS, which touts the elimination of a lot of bloat found in other Operating Systems such as Microsoft’s.

    I am relieved to see WordPress taking this approach, which will instill confidence in end users that their needs will be addressed, and their choices will increase.

    As developers we need to make sure our plugins are high quality, which means they solve problems, don’t cause problems, and don’t overload the server unnecessarily.

    I have several plugins I wrote for myself to solve certain problems that I expected to be added to the core, but never were, and now I understand why. If WordPress added everything to the core then THAT would be a reason to start sounding the alarm, but they aren’t to make sure the developer market continues to grow.

    I agree with many of Otto’s points, especially the point about collaboration. In fact, I would like to see WordPress develop a developer collaboration tool that exists online like Google docs. WordPress has developed WordPress, bbPress, the P2 theme, so it only seems logical they should work on a developer environment to encourage developer collaboration online. Does anyone have a list of free online developer collaboration environments that already exist?

  16. Darren says:

    I don’t think ‘Core Plugins’ should take on the mantle of plugins that already exist or as a status icon, but should be features that are already in the core turned back into or into plugins guaranteed to work because they are maintained with the core. The focus of the real core could then be on streamlining the code and making the core of WordPress the best, most stable and fastest it can be.

  17. Dustin (4 comments.) says:

    I hear you. Great stuff Jeff. I have to admit, I was originally in the camp that though canonical or core plugins would be a great idea because it would allow for more minds to advance a plugin’s development. Like you said, the problem is that certain developers have particular coding styles. Certain mashups just don’t work.

    Another issue is exclusivity. If WordPress reserved their repository only for core plugins, non-core plugins made by one dedicated developer would be trumped by the commercialized mainstream. This would lead to a monopoly. So instead of All in One SEO, Head2Space and other SEO plugins competing there would be total consolidation, leading to a decline in quality.

  18. Hikari (79 comments.) says:

    Well I think “Core Plugins” should not focus entirely on end user features.

    They should be focused on API functions and filter and actions. Advanced features that everybody want on that kind of plugin would be managed by this plugin, and then other plugins would bring extension features to it and better UI.

    For exemple, if we start a community plugin that manages Menus, it would have the code to query WordPress resources (posts/pages, categories/tags, etc), the code to add CSS classes to each menu, submenu and item (as body_class works), all those with actions and filters so that they can be enhanced by other plugins.

    And then it has an UI API composed by functions that Offer everything needed to generate an admin page where menus are created, and a basic UI.

    Now, somebody can develop an advanced UI with AJAX, etc, in the same way OZH has his admin menu plugin, and somebody else develops a plugin that adds new classes to the menu. When somebody needs a feature that the community plugin doesn’t offer, he sends his code to trac and contribute with it.

    This way “Core Plugins” will not shadow our plugins.

  19. Dave Thackeray (1 comments.) says:

    I’m totally in favour of Core plugins from the standpoint of the majority WordPress user – the writer.

    To see what’s happened in the six years since Matt forked the b2 codebase is nothing short of staggering.

    Its evolution has been legendary, becoming the de facto standard for blogging and nearing that status as a CMS. As an OS platform this is an even more staggering achievement.

    Can anyone think of another application, service or product that by this point in its transformational cycle hasn’t closed off user intervention to some degree?

    WP has played a pivotal role in transforming the way news plays out. It’s actually revolutioned the art of self-expression – the millions of snazzy blogs out there are testament to that.

    And who hasn’t advanced their coding skills with their lust to maximize the potency of this platform? Thanks again, Matt.

    So let’s not forget, us men and women of intermediate and advanced WP-development status, what WP is for. That Core plugins will do nothing but improve the status of WP, which benefits us all.

    And if you need to be convinced as to why all plugin creators worth their salt will continue to be coveted, doff your cap to Seth Godin. You’ve created a tribe, and it’ll follow you to the ends of the earth if you continue to pump out quality work.


  1. […] Chandler raises some possible points of dissent among users in his post on Weblog Tools Collection, such as the fact that labeling these plugins as “official” implies that they are the […]

Obviously Powered by WordPress. © 2003-2013

page counter