The WP Hackers mailing list is always good for a discussion and so far I like to participate. Currently, there is a new debate concerning the development of Plugins to the core theme. Andrew, an experienced and avid developer, submitted the issue in a guest contribution on WP Tavern and brings some important points to bear.
I also would like to express my perspective on these things and discussion. WordPress in my view, is an application I enjoy and with a lot potential nowadays and I'm sure for the future. My opinion is from the perspective of a user and a developer. I will only show briefly the possibilities I like to have and how I can imagine the future of WordPress, without compromising the current path and without a start from scratch.
Core Plugins allow that the actual core of WordPress is slim and you can activate the necessary extensions with the help of the Core Plugins. You only add functionality, that you really need or needed by other extensions, such as Plugins from the community.
So far, the philosophy of WordPress: grow, expand more and more, as I also published in my Outlook 2009. This is certainly a reason because the majority of users would like more and more functions, which is already be seen on the wishlist of WordPress.
Pro & Contra
The development team at WordPress has a difficulty with decisions, what will be implemented in the core and what will not. Some eternal debates, until it is implemented. WordPress is known for rapid growth and functional diversity. From this point it is difficult to say that we take out certain areas and make them available as a Plugin. This means, however, a coupled development, which will cost more time which seems WordPress never have . I agree - the development will be slower, the effort of testing more, and the variety has no common standard. But is it not an added value if you want a lean stable system, which you can extend with the appropriate Plugins to extend the needed functions?
Likewise, I believe that the cooperation of developers would be increased if it is a sealed area and don't have to edit the entire core. It makes it easier to fix bugs and lowers the inhibitions of cooperation. That doesn't mean, it isn't Open Source, the developer in the SVN could be allowed to work on it just as it is now, with Trac and all other permissions. Is it not also the strength of Open Source, that everybody can participate to make WordPress better? WordPress is in some places still quite uneven and makes it more difficult for beginners who like to participate in the code. In the WordPress scene, there are plenty of very good developers, you can find enough volunteers, that could solve the time problem so that the team can concentrate on their part.
From my own experience of developing themes and Plugins, published or not, I know how much effort it can make to keep Plugins up to date. I can understand if you are against Core Plugins. From the perspective of the different applications and solutions that I've implemented with WordPress, I can only emphasize the advantages of a Core Plugin
Core Plugin or Classical Plugin?
In this context, there is the question of why Core Plugins, why not the classic models of the Plugins in the wordpress.org Plugin Repository? This directory shows particularly how active and strong the WordPress community is, but the variety of Plugins is immense and an examination of the code is for the individual Plugins not guaranteed (which I in fact also support, as long as they are GPL, but that's another discussion). I see the possibility of the Core Plugins differently, because they could give such security and the same standard as the core itself.
Versions and Effort
Due to many versions of WordPress, it is difficult adapt a Plugin to all versions. Since version 2.7 the interfaces and capabilities for developers are more consistent. I myself do find it difficult to adapt Plugins to older versions. It is simply no fun. But it is not the only reason, there are also the possibilities of cleaner implementation, which has been achieved in 2.7.
Similarly, the discussion on PHP5, which I also do not want to touch - we will see, what brings WordPress 2.8 or Matt has to say on Feb 14 in Jena. The WP Hackers mailing list has also an extensive discussion going on.
Back Again to Core Plugin
With the help of the Core Plugins, to return to the topic, I see opportunities for more stable code with more effort but great feedback. Plugins can relate, they can query and the performance could benefit from it. The diversity of opportunities that WordPress already offers, would be even bigger and easier to justify. Each individual Core Plugin is available via a comfortable builder.
I will use a core function as an example, which in the past was a reason of discussions, not only within the developers community - the revision function in WordPress since version 2.5.
This function is for use as a CMS and with different authors in WordPress inevitable. It is from this perspective, an added value- but at the same time it puts lots of data into the database. This is particularly unnecessary when the blog operates by one person. From my perspective, the revision in WP would be a typical Core Plugin. Which is required to be activate and you're done. I know so many WordPress users who not even know this feature, but are surprised of the big amounts of data during a backup. In the standard there is no way to restrict or disable this function - an intrusion into the configuration file is needed, or a Plugin can be used.
Therefore, I agree to Core Plugins, developed in parallel with and for the Core, likely depending on the version of the Core. I am also for the independent form of the Core Plugins and the freedom for developers in the known Plugins from the wp.org Plugin Repository.
Wonderful, you've read it up here? Already I am grateful and apologize that it was such a long article. Even though I still didn't say everything and maybe I am completely mistaken, but it is an opinion and open source is, in my view much more than taking and giving. Open Source gives also the freedom to participate, think and discuss - encourage to start discussions.