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 WordPress.org 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.