WordPress is a SABDFL*-directed project in which essentially all decision-making is top-down, yet at the same time, is a project that accepts community contributions and strives to build a community around itself.
While I do not want to get into the merits of being a SABDFL-directed, top-down decision-making project versus a community-directed, bottom-up decision-making project (since I have no inherent problem with the former), I do want to open a discussion on how community contributions are handled.
Consider the most conspicuous community contributions: plugins and themes.
The WordPress.org website provides an excellent service to and opportunity for the community, in terms of its SVN repositories for third-party plugins and themes - repositories that tie directly into WordPress, and for which update functionality is built into WordPress core.
Further, the WordPress.org website provides fairly explicit conditions under which plugin and theme contributions are allowed to reside in those repositories.
All great so far, but what happens when something goes wrong?
In the past, there have been complaints that repository approvals have taken an excessive length of time. Especially controversial was the single-handed removal of some 200 themes from the repository.
But let's look at two fairly recent (and decidedly less controversial) incidents, both involving the removal of plugins from the repository.
In the first incident, a plugin author forked an existing plugin, only to discover that his plugin had been removed from the repository without warning or explanation. Once the plugin author was able to find the right person, he pressed for an explanation, and discovered that the plugin had been removed due to an alleged security vulnerability - a vulnerability that existed not only in his plugin, but also in the original plugin from which it was forked (but that was not also removed from the repository, even though it had the same alleged vulnerability).
In the second incident, a plugin author had all of his plugins removed from the repository, due to clear violations of the guidelines for repository-hosted plugins. The plugin author, after much discussion, decided to modify the plugins so that they would no longer violate those guidelines, but was told that under no circumstances would his plugins be allowed back into the repository.
My points of contention, in both incidents, are that:
The WordPress project simply has no formal means to address any of these contentions.
- Neither plugin author was appraised of the offending nature of his plugins prior to removal
- Neither plugin author was given any warning before his plugins were removed
- Neither plugin author knew exactly whom to contact regarding the removal of his plugins
- Neither plugin author had any official means to appeal the decision to remove his plugins
It would appear that moderation of the repositories falls on the (likely over-worked) shoulders of one person, and that decisions are made far more subjectively and arbitrarily than objectively and according to explicit guidelines.
My suggestion (subject to discussion and modification) is as follows:
How would such a committe structure have helped handle/resolve the two incidents in question?
- Implement a Community Contribution committe, that will oversee the guidelines for all community contributions, including plugins, themes, core patches, documentation/codex, etc. This committee would also oversee the marketing and communication of the various means of community contributions, and would champion and facilitate such contributions.
- Implement a Community Conflict Resolution committe, that will oversee all complaints about community contributions, make all decisions regarding actions taken against community contributions/contributors, and handle all appeals of those decisions.
Let's take Alden's case (the first one):
Let's take a look at Pawan's case (the second one):
- The person alleging the security vulnerability would have reported the allegation to the Community Conflict Resolution committee.
- The Community Conflict Resolution committee would have notified the plugin author of the allegation, and provided options for resolution (and recommendations for where to seek help if needed - IRC, wp-hackers, etc.).
- The plugin author would have the opportunity both to act on the allegation, as well as notify the committee that the alleged vulnerability came from the original plugin - giving the committee the opportunity to notify the author of the original plugin about the vulnerability, as well.
- Both plugins would have been patched, more quickly, with neither plugin being yanked from the repository and with neither plugin author being offended.
In both cases, the incidents would have been handled in a far more clear, fair, objective, and desirable manner:
- The person(s) making the allegations regarding the plugins would have reported the complaints to the Community Conflict Resolution committee, which would have provided a more specific entity to whom to complain than merely posting in the general wordpress.org support forums.
- The Community Conflict Resolution committee would have notified the plugin author of the complaints, and provided options for resolution.
- The plugin author could have challenged the complaints, based on the current wording of the guidelines.
- The Community Conflict Resolution committee could then have consulted the Community Contributions committee regarding those guidelines.
- The Community Contributions committee could then have clarified/revised the guidelines, to make them more explicit
- The Community Conflict Resolution committee could then have addressed the plugin author's appeal, again providing options for resolution.
- If the plugin author had still not chosen to resolve the comlaints, the Community Conflict Resolution committee could have decided to remove the plugins from the repository.
- Had the plugin author then later decided to resolve the complaints, he could have appealed to the Community Conflict Resolution committee to have his plugins reinstated in the repository.
Thoughts?
- Neither plugin author would have had plugins removed from the repository without warning and without being given opportunity to rectify the cause for removal.
- Neither plugin author would have been left without any recourse to appeal highly subjective and arbitrary decisions.
- Both plugin authors would have known exactly whom to contact regarding the incident in question.
* Self-Appointed Benevolent Dictator For Life (see also: Ubuntu Linux/Mark Shuttleworth)


LinkBack URL
About LinkBacks



Reply With Quote
