Hello world from 3281d Consulting

Greetings Drupal Planet!

The Project module is one of the oldest pieces of code in all of Drupal. It is the software that powers all the collaborative development that happens on drupal.org: issue queues, releases, download browsing pages, CVS integration, and more. In just over a week, it will celebrate its 7th birthday of living in the contributions CVS repository:


revision 1.1
date: 2002-02-13 06:41:15 -0800; author: kjartan; state: Exp;
- moving project.module to the contrib repository.

Although it got off to an auspicious start, kjartan drifted away from the Drupal community, and the Project module fell into a sad state of disrepair. Since it was in the critical path for upgrading drupal.org to newer versions of core, it had to be kept alive, but often without much concern for the usefulness of the module to other sites or the quality of its code.

Just over three years ago, Derek Wright joined the Drupal community, and was both impressed by the collaborative development process, and horrified at some of the CVS practices at the time. There was no access control within the contributions repository at all (once you had a CVS account, you could commit changes anywhere), there were no official releases of any contributed code (everyone was expected to deploy code directly from CVS or to download .tar.gz files that were regenerated each day), and the only branches available were the ones used by core (if you wanted to add new features, you either had to wait until the next version of core was out, or to introduce instabilities into the current "stable" versions of each module). With over a decade of experience as a Computer Science researcher and release manager for a large distributed computing project, he stepped in and started improving the Project module and helping the Drupal community learn the joys of releasing its own code. The Drupal release system was one of the fruits of this labor.

Derek was also trying to make the Project suite useful to other sites, so he could use it for his own development communities, and to encourage other sites to use it so as to expand the pool of users and developers who could contribute back testing and improvements. plugins.jquery.com runs Drupal and the Project module, one of the more visible uses of this code outside of drupal.org itself. Slowly but surely, other people have started adopting Project for issue tracking and other uses and today there are about 380 sites reporting back to drupal.org that they use the module.

During the summer of 2007, Chad Phillips officially came on board as a co-maintainer of the entire Project* suite. After a brief run-in with the Project code while helping port it to the 4.7.x Drupal core API, Chad was already familiar with the internals. As a long-term contributor to the Drupal community, he knew what a vital role the Project family of modules plays for Drupal itself. He's been an invaluable addition to the Project team, and has contributed some major improvements, most recently in the area of automated testing of patches submitted to Drupal core's issue queue.

Today, Derek and Chad are proud to announce the formation of 3281d Consulting, specializing in building Drupal-based solutions for project management, issue tracking, release management, revision control integration and more. While drupal.org is a great example of the power and flexibility that Drupal provides to enable a huge community with thousands of contributors spread around the globe to collaborate and develop software, we believe that is only the beginning of what's possible. With the launch of the Drupal 6 versions of the Project* suite for the soon-to-be deployed 6.x version of drupal.org, the power and flexibility of the system is expanding exponentially as everything is now based on Views.

The goal of 3281d is to integrate the needs of Project* users (including the Drupal community, individual users, and companies) into the existing Project module framework in a clean, extensible architecture -- enabling users to build a seamlessly integrated site that can meet a wide variety of project management scenarios, instead of relying on separate tools for support forums, wikis, issue tracking, blogs, etc. We're strong believers in the Open Source movement, and along with contributing all of our code back to the Drupal community, we're also planning to provide documentation and share what we learn. We've started a list of projects we'd like to work on and would love to hear from you if you're interested in sponsoring any of these improvements.

We're also planning to write up some case studies about where the Project module is being used. Obviously, there will be a big section on drupal.org itself, but if you're one of those 380 sites running the code, please let us know.

Thanks,
-Derek and Chad