WP TurnKey - Turn-Key WordPress installation and maintenance services
WordPress user since 2005 | @chip_bennett | chipbennett.net | cbnet Plugins
Okay, here it is, the draft proposal for Core Components.
WP TurnKey - Turn-Key WordPress installation and maintenance services
WordPress user since 2005 | @chip_bennett | chipbennett.net | cbnet Plugins
Andrea is correct. Core plugins would have hooks and such so that independent plugin developers could build off them for more specialized functionality. Why reinvent the wheel over and over if there is a central foundation that takes care of the basics. Isn't that kind of why people develop on WordPress in the first place?
It's also a way to grow the core developer group, by creating more opportunities to earn status as a core dev.
Re the capitalism: Frankly, being able to say you're a core dev gives people like Mark Jaquith a huge advantage in the free market. The core plugin development will give more trusted developers that kind of status, which can only improve their marketability.
Ultimately, it's the answer to the "we should have this in core" vs. "no, don't bloat it" argument.
Hi Jane!
Would love your input. If you have the time, can you give it a read?
WP TurnKey - Turn-Key WordPress installation and maintenance services
WordPress user since 2005 | @chip_bennett | chipbennett.net | cbnet Plugins
You all have some interesting ideas... I kind of like the idea of calling them "Core Components" and having them be more like extensions to the WP API rather than "promoted plugins." One of you mentioned, a page or two back, the idea of a core component for microblogging, which would simply add in API hooks that could be extended by plugins. So a Twitter plugin could create a shell API that a Twitter or Plurk or Tumblr plugin could hook into to provide functionality.
Wow, that was quite a read. I just finished going through 6 pages of posts here, and I plan to respond to a lot of what was said. ***Warning, this will be a long post***.
Also, for the sake of transparency I want to say that I'm part of the team that is coming up with a list of tools that should be supplied for all core plugins, etc, etc. Basically, the proposal that Jane was talking about.
I'd like to say that I personally have seen this discussion progress for quite some time, and I have no special connection to Automattic. Some places you should watch to keep up to date on WordPress happenings:
As for your statement that the mailing lists and chat don't count, I can't imagine why they don't. They are perfectly valid (and effective) means of communication.
- http://wordpress.org/development/
- http://wpdevel.wordpress.com/
- #wordpress-dev on Freenode IRC (especially for dev-chat meetings)
- https://irclogs.wordpress.org/ for anything you missed in the IRC channels
- The mailing lists (wp-hackers, wp-testers, and definitely wp-svn)
They're called "core plugins" and this was decided with a poll as well as discussion on the dev-chat meeting.
I currently have 18 plugins that I've released on WordPress.org, and more that I haven't had time to release. One of the most popular ones is Twitter Widget Pro. It's used by thousands of people on thousands of sites. It has over 125k downloads, and a 95.6/100 rating from 77 different people (shows as 5 stars), and the Twitter Widget Pro page on my site gets 6500-7000 visits a month. Twitter is one of the areas that was specifically talked about and almost certainly WILL get a core plugin at some point. I'm not worried at all. Why?
Simply because one of two things will happen. The first option is that the core plugin will contain all the functionality of my plugin, in which case I'll contribute to it, donate all my code, and be one step closer to being a core developer. If this happens I'm ok because I don't really make any money off the plugin anyway, it just builds my reputation as a quality programmer, which won't change. The second option is that the core plugin doesn't do everything mine does, in which case I may join and contribute some code anyway, but mostly I'll just continue to develop my plugin. The people that want the functionality mine has that the core plugin doesn't will still use mine.
The same goes for many of my other plugins. Related posts will probably be a good area for a core plugin, and I have Efficient Related Posts. It doesn't matter, I'll either join the team or keep doing exactly what I'm doing now.
This is exactly what I was trying to say. The plugin developers that have plugins in the WordPress.org repository (I'm not talking about the commercial guys that sell their stuff) usually make money because their plugins bring in customers who pay for other development. This works because the developer builds a reputation based on the quality of their plugins. The same kind of reputation is built by being a core committer and I think it will be the same for core plugin committers.
They are administering WordPress because they're part of the group WordPress is targeting. Also, doesn't it seem obvious that if picking a plugin is one of the hardest parts of administering a WordPress site (and for many of the smaller blog-type sites I think this is the case) that it should be simplified? I think you should always try to simplify the more complex parts of any system.
Right now, they just want to start with a couple plugins and try it out. Just like how Google rolls out new search functionality to a small region of users before it releases it to the general public. Then the process will be to identify specific areas that can benefit from a core plugin and create a core plugin to fill it. These areas will be chosen based on core dev as well as community input, although I'm sure added weight will be given to the core dev suggestions (and honestly I think that's rightfully so).
I really think you guys are worrying about something that *could* happen in theory, but won't ever *actually* happen. When I wrote and release Efficient Related Posts, there were two really popular plugins out there already for related posts. One of them, Yet Another Related Posts Plugin, was even recommended by Matt Mullenweg. However, I still wrote my own because the existing ones didn't do what I needed. My plugin is running on hundreds of sites and gaining popularity. I don't see how it would make any difference if Yarpp was a core plugin. Instead I'm more inclined to think that the core plugins will help elevate plugins to the next level. I think they will help to raise the bar as to the expected quality of plugins, while still allowing developers to create competing plugins (the competing plugins will just have to step up and be just as quality as the core plugin).
I think this is another way core plugins will help raise the bar for plugin development. Right now there are not all that many plugins in the repository that are extensible. I know that headspace2 is (and I have plugins that extend it) as are a few of mine. However, imaging if many of the best plugins out there had hooks and filters so that you could extend them with your own plugin, adding the functionality you wanted without re-writing the whole plugin?
I think Ryan makes a really good point. While I don't think the "ship has sailed" as some have said, I don't really think now is the time to be saying "wait wait wait...we have to talk about this." Core plugins are happening. It's possible they'll fail and go away, but I doubt it. Right now we're figuring out what tools will be helpful, what requirements should be in place etc. The best part is, the goal is to roll out the tools first to core plugins, but ultimately to all plugins hosted at WordPress.org! Every plugin developer is going to benefit.
If you can install WordPress, you should be able to decide on a plugin and install it. So you're targeting a group who can't install and administrate the software?
I don't see it as the hardest part of administering a WordPress site. That would be installing the software in the first place, making backups, and keeping it up to date. That's more worth focusing on than fixing something that's not broken.
WordPress can be installed with just a couple clicks through Fantastico, and more and more hosts are offering that option. Even GoDaddy offer WordPress installs now, and there are also services that will install WordPress for you for free. Installing WordPress is no longer difficult. You often don't need to know how to use FTP or even need to know what a database is.
On most hosts keeping a site up to date is as simple as clicking the button to auto-update in the admin panel. As for backups, I think this is a great area for a core plugin to step in and really do things right. Backups could be made on a scheduled basis as well as automatically being made before backups, plugin updates, and even plugin activation if you wanted. Backups could be listed to allow you to roll back to any date you wish, and there could even be an emergency URL that is given to let you restore from the last known good backup (an included script that doesn't use WordPress at all, but simpley restores files and resets the database from a backup).
I'm aware of that, but not knowing what a database is is just...bad. While I don't mind the barrier to entry being set at a low point, there's only so far you can go before the average WordPress user is in over their heads, but they just don't know it. That can cause real problems down the road.
Clicking a button to upgrade is easy, but there is more involved. Theme and plugin compatibility checks are generally a good idea, otherwise you can run into critical issues (such as fatal errors) after the upgrade, in some cases. I love the one-click upgrading functionality, but I think many of WordPress's users could still have problems with it. (The ones who don't need to know what a database is...) I doubt they stay on top of WordPress changelogs, which means they may have unexpected compatibility issues. If they only use a handful of plugins, and have a commercial theme with decent support, they might be okay. But compatibility issues happen, and what can really be done about that?
There is already a perfectly viable plugin for that. It's called WP-DBManager. Do we really need to push people away from an existing plugin in favor of an "official" one that might not be as good?
Really, I think my biggest problem with the "Core Plugin" thing is that it just seems like an attempt from Mullenweg and Co. to yank the rug out from under plugin developers. If you'll note my previous argument:
You haven't really addressed that possibility yet. Seeing as nobody really seems sure how core plugins are going to work yet, we might not have the problem of plugins being "stolen" like that. But the issue still remains of competing canonical plugins being created that stamp out the original, because of the unfair exposure that the core plugins get.Also, imagine working for months to create something like GravityForms, and then having the (GPL, of course) plugin pulled out from under you and "canonicalized." You work for months to create a commercial plugin, then it's made canonical, and your commercial package is largely ignored. People would likely go with the canonical version, because it's easy to find and free. That hardly seems fair.
I'm afraid that we're at the point where we need to agree to disagree on whether or not lowering the bar on choosing plugins is useful. I think it is, and you think it isn't. I feel like we both have reasonable arguments to back up our side, and I don't think either of us plans to change our stance.
As a plugin developer who doesn't make a living directly off the plugins he releases (I don't sell any plugins, I don't sell support contracts for them, etc) but who does make a living off developing WordPress sites and plugins for paying clients, I'm not worried about this. I obviously only represent one part of a fairly specific group of people, but I thought I'd clearly state my opinion.
Unfortunately, here I side very much with the "capitalist Americans" (and yes, I'm American). I say unfortunately because I'm guessing this may be another place we just agree to disagree (basically, this is just how I feel/what I believe...there's not really a line of logic to prove it's "right"). Basically, "Mullenweg and Co." have very successfully built up a brand that is both successful and trusted. They benefit from that by being able to invoke that trust in other related areas. Google does the same thing. They were so great at search that people thought their E-Mail would be good too. It was, so people assumed their apps would be good too. They are. Now Google is so far down that road that I'm inclined to believe that their new cell phone will be good too. Each time they roll their trust into another area, they risk losing that trust, with the possibility of earning even more trust. Google has done it right, so they now have an enormous amount of power, but I'm OK with that (a lot of people aren't), because they're still turning out useful stuff and offering it free. Some of their projects (like Chrome) have pushed other projects to be better, and I'm definitely a fan of that!
Hopefully Automattic/WordPress will be the same, doing good as they go along (and I think they will), but no matter what I think they've earned the right to play the trust card. If they blow it, they'll lose the trust card. However, it's in their best interest to do it right, because they get a new trust card that they can roll over into something else. Again, it's just my view of life in general, so consider it accordingly.