Unwritten Guidelines Suck

Chip Bennett has an interesting post on his site that shows results of an audit he performed on some of the most popular plugin authors to see if they declared what license the plugin is under within the plugin in the form of a license.txt file or from within the plugin header. As we’ve found out recently, due to an event that occurred with a plugin author, plugins that are in the repository MUST include the license declaration or face removal. Let’s take a look at the guidelines as they are written on the repository.

Your plugin must be GPL Compatible.

The plugin must not do anything illegal, or be morally offensive (that’s subjective, we know).

You have to actually use the subversion repository we give you in order for your plugin to show up on this site. The WordPress Plugins Directory is a hosting site, not a listing site.

The plugin must not embed external links on the public site (like a “powered by” link) without explicitly asking the user’s permission.

None of them explicitly state that license declaration has to be included within the plugin. Out of all the stats that Chip published regarding his audit, the most surprising thing of all is that out of 19 plugins written and maintained by Matt Mullenweg, none of them had proper license declaration. The bottom line here is that if you’re going to enforce guidelines, preferably written, you will have to lead by example and follow those guidelines yourself. Not doing so is unacceptable. As it stands, this looks pretty darn bad.

The good news is that the solution to this is simple. The readme.txt text that plugin authors use as a template for the repository is currently silent when it comes to license declaration. All it would take is for someone to add the necessary text to the readme.txt generator. Peter Westood weighed in with a comment that is an even better idea. Using a slug type approach for the License field so that it could easily become part of the automated checks that take place upon submission to the repository.

This specific topic has been added to the WordPress Developer meeting for February 11th, 2010. If you are interested in attending to voice your thoughts, visit the WordPress development prologue site for meeting details and the overall agenda.