The excitement around distributions at DrupalCon San Francisco was palpable. Dries helped kick this off by naming distributions as one of the great growth potentials of Drupal in his keynote on the State of Drupal. Then there was the excellent panel on distribution packaging on Drupal.org, with participation from Derek and Chad from 3281d who did lot of work toward making fully packaged distributions possible, Kevin from Open Media Foundation, and Jeff. And of course there were lots of casual conversations around the topic. This excitement was for a good reason. Distributions have grown significantly in the six months since DrupalCon Paris, with 33 out of the 81 installation profiles on Drupal.org having been created in that time, Managing New and Open Atrium among them.
DrupalCon was a great opportunity to meet with the people involved with packaging distributions and identify concrete ways we can improve the infrastructure on Drupal.org and improve distributions. Right now, packaging distributions on Drupal.org works, and it is used for many installation profiles. However there are restrictions in place that hinder using Drupal.org as a host for packaged distributions. In order for distributions hosted on Drupal.org to continue to grow, there are three issues that need to be addressed immediately. Drupal.org needs to:
1. Allow external dependencies
Many distributions rely on jQuery UI or CK Editor or similar external libraries. These libraries can currently not be packaged into a distribution on Drupal.org.
2. Allow patches
Drush make allows you to apply patches to modules that are included in a distribution. This is a tremendous help when a distribution needs to be released before critical patches are committed upstream.
3. Allow custom themes and modules in installation profiles
Many distributions contain custom modules or a custom theme that is only useful to their specific use case. We should not encourage people to add custom code into an already crowded namespace. At DrupalCon we discussed modules in this context, but I think we should also allow for themes.
This is the short version of what I think we need to do to encourage more distributions to be housed on Drupal.org. I’ve broken out the issues in more detail on a community initiatives page called Install Profile Packaging. If you’re interested in improving distributions, please check it out and provide input over there. I’d like to move these issues along over the next couple weeks. My goal is to package the next Managing News release on Drupal.org :)