Jacob Gube of SixRevisions.com has published his take on ten features that are missing from the core of WordPress. According to Jacob, these features should be adopted into the core of WordPress for the benefit of all. I agree with some of his reasoning on moving features into core but it’s a mindset that I’ve been trying to stay away from. First of all, I as an individual user don’t really know what the WordPress userbase deems useful or worthy of being in the core of WordPress. Secondly, apart from the search in WordPress sucking, just about everything else on his list relates to a specific use case of WordPress and since everyone seems to use WordPress in a different way, these features could end up as useless bloat for many people. However, WordPress already has a number of features that I rarely ever use but I don’t want to see any more of them added to the core software.
This is one of the reasons why I now support the idea of core plugins. Keep the core of WordPress light, add hooks, functions, better APIs and let the third parties do the rest. Keep WordPress flexible and modular instead of weighed down. Unfortunately, there are thousands of plugins, multiple ones that perform the same subset of features, some that are outdated, etc. Having those features in core eliminates that worry but at the cost of modularity. As someone brought up in the comments, the idea of WordPress Installation Profiles seems like the answer to this problem as certain branches of the software could either ship with a predefine list of plugins for that use case or have those plugins built in. Those WordPress branches would need to mirror the development of WordPress though which means the core team most likely will not maintain them. The installation profile idea has been brought up on the WP-Hackers mailing list a few times before with the outcome being that WordPress.org will not create and maintain these new branches but nothing stopped anyone else from doing so. Dougal has a few tips and a link that explains how to use the install.php file to create automated WordPress customizations.
The bottom line is, if you think a particular plugin should be added to the core of WordPress for the benefit of all, you’re probably wrong. Think about the big picture before you come to any conclusions.
Here’s the 10 features:
1. Web Caching
2. Pagination with Multi-Page Navigation
3. Displaying Related Posts
4. Custom User Role Permissions
5. Social Media Integration for Popular Web Services
6. Site Statistics
7. Web Form Builder
8. Minification of Source Code
9. Better Site Search
10. Content Rating
Of those, 3 are already there, 6 are better served as plugins, and only a better search should be core code. IMO, of course.