Distributions provide one of the biggest opportunities for both the Drupal project and its ecosystem. Although there has been support for distribution packaging on Drupal.org since December 2009, there were many restrictions on what could be packaged for technical and legal reasons. By solving the underlying legal, technical, security, and usability problems, these restrictions have been lifted and fully-featured distributions are now enabled on Drupal.org! This move enables thousands of active developers to pursue distribution development with a consistent set of tools for managing version control, releases, issue tracking, collaboration, and documentation.

Funding for the project was generously provided by major distribution developers:

Phase2 Technology
Acquia
NodeOne
Pantheon
Lullabot

New features for distribution packaging

External library support
Feed parsers, alternate versions of jQuery, WYSIWYG editors, etc. can be included with distributions automatically. A packaging whitelist tracks GPL-compatible libraries that can be added to distributions.
Packaging whitelist table, listing GPL-compatible libraries allowed for inclusion in distributions
Patch support
Patches can now be applied to core, contributed modules and themes, and even third-party libraries. Patches will appear on distribution release nodes, resolved to their parent issue.
Table on release nodes shows patches that have been applied to a given distribution
Support for development snapshots
Both development releases and Git clones (either a specific revision or a branch/tag) can now be used in distributions, rather than just official project releases.

Complete technical implementation details can be found at the Distribution Packaging community initiative page.

Changes for distribution maintainers

If you maintain a distribution on Drupal.org (or would like to) be sure to read the following updated documentation:

Credits

This initiative was spear-headed, designed, managed, and primarily implemented by Derek Wright (dww) of 3281d Consulting. Chad Phillips (hunmonk) and Michael Prashun (mikey_p) also helped with the design and implementation.

The work was made possible by the generous sponsorship of Phase2 Technology, Acquia, Node One, Pantheon, and Lullabot.

Additional thanks to:

  • Angela Byron (webchick) for spear-heading initial funding discussions, for performing extensive QA on changes, for authoring major chunks of the documentation, and for providing input throughout the process.
  • Jeff Walpole (jwalpole) for wrangling funding from multiple sources to make this happen.
  • Jonathan Hedstrom (jhedstrom) and Moshe Weitzman (moshe weitzman) for maintaining Drush make (which is now part of the core Drush project), the primary tool used by the Drupal.org distribution packaging system.
  • Jeff Geerling (geerlingguy), Adam Moore (redndahead), Angela Byron (webchick), Alberto Paderno (kiamlaluno), and Greg Knaddison (greggles) for maintaining the library whitelist.
  • Roy Scholten (yoroy) and Bojhan Somers (bojhan) of the usability team for help reviewing the UI changes.
  • Ezra Barnett Gildesgame (ezra-g) and Frank Febbraro (febbraro) for feedback on the changes, testing, and reviewing documentation.
  • Alex Barth (alex_b) for his initial help to identify the problems and flesh out the roadmap for solving them.

Comments

juan_g’s picture

Congratulations all! Very probably we are at the beginning of a new era for Drupal.

I've been following the development work, and I can say that dww, with the help of hunmonk, mikey_p, jhedstrom, and others, has done a truly impressive work.

xandeadx’s picture

Is it possible to place 3rd library in my contrib module?

bonobo’s picture

Thanks to all who made this happen.

We have been using this for https://drupal.org/project/julio and it's pretty amazing. The release page (which shows all modules, libraries, and patches used in the distro) is a great piece of work.

geerlingguy’s picture

Thanks to all who worked on this—it really is a game changer in terms of how Drupal can be packaged and delivered to people. Now, we need a few awesome install profiles that show off how awesome Drupal is in its flexibility and adaptability... I'm looking at you, Snowman!

__________________
Personal site: www.jeffgeerling.com

shamio’s picture

Its a very wisely movement. We should wait for more great distributions of Drupal in more detailed subjects that help members to easily have all their requirements for running a new website in one package that can be installed easily.

kika’s picture

I can not find information about translation packaging with the distro file (drush make --translations flag). Is it supported? Is there an issue about that?

janusman’s picture

We found out about this about a week back and implemented it in http://drupal.org/project/itunesuprofile =) Thanks so much to everyone who contributed!!

Shyamala’s picture

A School wants to push their distribution to Drupal. It's in Drupal 6. can we still submit it on d.o? Or is it only that Drupal 7 distributions will be accepted?