groups.drupal.org is a complex site to develop and maintain. Currently built in Drupal 6, the site is due for upgrading to Drupal 7. Doing this upgrade as a custom site build would require a large investment of community time and resources.
Since GDO was first developed, a growing number of Drupal distributions have been developed, many having install bases in the hundreds or thousands.
Switching to a groups-based Drupal distribution would have several key advantages:
- Make it easier for folks to help improve GDO. Right now, the path to replicating GDO for development purposes hasn’t always been clear, which means it's harder to help improve the site. If GDO ran off of a Drupal distribution, anyone could file a patch for GDO by filing one against the distribution.
- New development invested in the site benefits multiple sites rather than just GDO.
- By reducing the amount of custom code we run on GDO, we make it easier to maintain.
At the same time, switching to a distribution would raise some potential new issues.
- Ability to make changes. As a standalone site, GDO is free to make and apply any changes. Being based on a distribution would imply needing to get at least some types of changes applied via a distro issue queue.
- Availability in Drupal 7. Several Drupal distros are still in Drupal 6, with production ready Drupal 7 versions a ways off. Relying on a distro's upgrade schedule could mean substantial delays.
- Upgrade path. While a distro may roughly match GDO functionality, it may impose greater or lesser complexity in upgrade path depending on how closely its architecture matches that of GDO.
- Fit with specifics of GDO. Several common group-type functionalities - e.g., projects and tickets (issues) - don't fit in GDO due to the *.drupal.org division of labour.
- Interoperability. To ensure that community contribution to the distro via GDO development has the highest application, the ideal distro would meet a high level of interoperability, e.g., through adoption and expansion of the Kit features spec.
Selection criteria to judge candidate distros
Criteria to use in selecting between candidate distributions include:
- Distribution is group-focused and has (or can be expected to develop) functionality that closely aligns with GDO current and planned functionality.
- Distribution is flexible enough that it will not impose functionality that is not appropriate to GDO.
- Distribution is available in Drupal 7 or, failing that, has clear Drupal 7 upgrade plans with reasonably dependable timelines.
- GDO admins are familiar with the distro and/or are active in its development.
- Distribution has a significant install base.
- Distribution is developed on drupal.org infrastructure.
- Distribution development is community-based rather than being tightly tied to a single company. E.g., has community contributors and maintainers not tied to a given company. This is important even if current GDO admins have commit access to the distro, as this may change in future as volunteers or staff members move on.
- Distro is developed in an interoperable way, facilitating component development that can be applied beyond the distro.
What distributions should we consider as candidates?
There are three distributions on Comparison of social and community distributions.:
|Open Atrium||Drupal Commons||Voicebox|
|Groups based. Strong install base and development team. Includes some functionality less applicable to GDO (projects, issues).||Groups based. Strong install base and development team. Current g.d.o. team includes Commons lead. Strong match with GDO functional specs.||Community focused but not explicitly group-based. From bonobo: "As part of the team behind VoiceBox, I am very comfortable saying that the use case for which VoiceBox is designed does not match with the use case of g.d.o - there are some overlapping features, but VoiceBox does not attempt to meet the use case for g.d.o, and it is not going to develop in that direction."|
Based on this evaluation, Commons appears to be the strongest match, with Atrium being an additional candidate worth considering.
Once a decision is made, followup to address questions identified in this issue can include:
Original report by ezra-g
I propose that GDO run on the Drupal Commons distribution as we move it to Drupal 7.
The main benefits I see here are:
A) Makes it easier for folks to help improve GDO.
Right now, the path to replicating GDO for development purposes hasn’t always been clear, which means it's harder to help improve the site. If GDO ran Commons, anyone could file a patch for GDO by filing one against Commons.
B) Align community development efforts
There's lots of community enthusiasm towards improving GDO. Similarly, the push to update Commons for Drupal 7 has begun, and I'd love for those efforts to also help push forward GDO. Many of the key modules and features between GDO and Commons are the same, so aligning the projects more closely seems natural.
C) Streamline GDO maintenance
By reducing the amount of custom code we run on GDO, we make it easier to maintain.