What should be a Plugin, and what should be in Core
I think this is worth discussing since it seems to be a core philosophical issue that comes up a bunch, with people citing text I wrote for the about page!
The general rule we’ve followed in WordPress, which has been successful for user adoption, has been that something is “core” functionality of it is something the vast majority (80%+) will appreciate, or if it something that makes WP more robust even if they don’t care about it (revisions), or if it’s something we want to promote because we think it will make WP or the web an intrinsically better place (oembed).
Something might be a hugely popular plugin but not perfect for core because: it ties in a commercial service (Akismet), it needs to update more frequently than core does (faster dev cycle), or it adds more overhead than is worth it. For the last, we can often bring in the bare minimum or framework into core and leave the rest as a plugin (podcasting support in WP, and PodPress, or SEO improvements we make).
A bonus of core is that (in theory) the code gets better reviewed, can be relied on by new plugins to be there and build on, and maintained as part of the overall package. It also often brings new folks who may have just worked on plugins before into improving core which increases exponentially the impact of their work.
Of course there is lots of common sense along the way, this is just meant as a general framework for approaching the problem.
You must be logged in to reply to this topic.