[development] Drupal 7 "When it's Ready"

Aaron Winborn winborn at advomatic.com
Wed Mar 4 16:29:17 UTC 2009

I'm concerned about the sentiment in Dries' declaration of Drupal 7 will be released when it's ready. I know this has been hashed out before, for instance back in September with Disparity of Versions: Towards Creating a Sustainable Solution to the Disparity between Drupal Core and Contributed Modules (http://drupal.org/node/311893) (which was itself an eloquent continuation of a long-standing discussion).

I still strongly believe that we're shooting ourselves in the foot when we continue to use "0 critical patches" as the sole metric of a core release. Core MUST BE informed by contrib. To do otherwise is to create a divide of development that means six to nine months of the vast majority of sites waiting on critical module updates.

In the referenced thread, chx asked, "Creating a "golden" contrib has been discussed for very long. It's not clear what we would achieve and who would work on achieving that." Acquia has answered that quite well.

Acquia has stepped up to fill in this need with their official "Acquia Drupal", with its list of 21 supported contributed modules. I applaud their efforts. To quote them, they address this need: "From the thousands of Drupal modules, Acquia has selected some of the most commonly used and essential community modules for building modern, social publishing websites without programming."

Chx continued with "Also, the whole issue is IMO Drupal 6 specific. As Drupal 5 is such a fantastic release, people felt it's good enough to serve longer and redesigned the architecture of their modules. This is not something that will be repeated soon IMO. As the Drupal 7 cycle is made longer, the issue will smoothen itself out during the next half year."

I believe that lengthening the core development cycle is an answer, but still not THE answer. The unstable releases have certainly been a boon, and it's exciting to see a few modules beginning to create unstable releases; this is core informing contrib, and webchick has really stepped up to the plate to make that happen.

However, no matter the fanfare with which Drupal 7 will be released, few sites in the wild will upgrade until their required contrib modules have been upgraded to that version. Yes, Drupal 6 was exceptional in the time required before major adoption. In a nod to contrib, fields and views are going into core, which is a direct way of contrib informing core. But there will always be a new Views or CCK that takes off like wildfire, and there will often be times when adoption of a new release of core will be held up by waiting development on a new and complex contributed module. Maybe not Drupal 7, but if we don't address this concern in a systematic and thoughtful way, it will possibly happen by Drupal 8, and certainly by Drupal 9 or X.

Another show-stopping factor in creating a new metric is agreement on what metric to adopt. The team that penned Disparity of Versions were intentionally agnostic to metric in their discussions. However, no matter how these golden modules would be selected, and regardless of how that could be gamed, the reality is there will always be important contributed modules that the community depends upon.

We can look to Acquia and other companies to identify these modules for us. That's a good thing, and irrelevant to the discussion. In fact, if the community would step up and take responsibility for these issues, it would validate their efforts.

I propose that we take the tool that was not yet available at the time of the original post. We now have a publicly available metric of modules at use in the wild. Let's just take the top 10, top 5, or even top 3 modules and call those our "golden modules". Create a new "Supported modules" that dynamically consist of these modules; that can be tweaked once we have some experience with it.

Then don't release Drupal 7 until there are 0 critical issues in its queue, AND each of the Supported modules has an official release. The community already works with the modules they need to help with that effort; this gives them more incentive and validation. If a Supported module is not making sufficient progress in an acceptable amount of time, that's likely a sign that perhaps it should be removed from that tier and back into the wild of contrib, so that things are not held up unnecessarily.

I strongly believe that these simple steps will make the release of Drupal 7, and each subsequent release, the best release ever.

Aaron Winborn

More information about the development mailing list