I spent Friday and Saturday at DrupalCamp Montreal, which was a great event — we had over 60 participants and all the sessions were small, informal presentations in which everyone attending had a chance to share their thoughts and ask questions. There were several sponsors but particular thanks is due to Koumbit who did most of the organizing (and contributed the most cash); this event wouldn't have happened without them.
As I said at the conference, I always tell people that the best thing about Drupal is the Drupal community, and DrupalCamp showed me once again that it's the vast numbers of users, developers, themers, testers, and other contributers is what has made Drupal the amazing platform it is. It was great to meet so many of these people in person, and share ideas with them, such as all the times I mentioned a problem I'd been having and was told that there was a module which solved exactly that issue, or the times when I got to tell someone else about a module I've used which would fix a problem for them.
For me, one of the most interesting talks was a co-presentation by Angie Byron (webchick) and Damien Tournoud (DamZ) about Drupal 7. Besides hearing about many great new features, and the new focus on usability and unit & functionality testing, it was a chance for developers who mostly work on new features in core to talk to those of us who stick to stable releases and churn out actual websites for clients. There's been some talk lately in the Drupal community about the growing disparity between core and contrib, meaning that these two groups are using such different codebases that it's sometimes difficult for either group to usefully work with the other. This boiled down to each not understanding the answer to two questions: core developers want to know why we "end user developers" aren't testing and reviewing work in Drupal 7, and those of us using Drupal 5 want to know why people are spending time on Drupal 7 when Drupal 6 isn't done (in the sense that so many contributed modules aren't available in a stable release).
So why are people working on Drupal 7? Angie explained that Drupal has become great due to regular code thaws in which coders who want to completely replace the menu API or add some crazy new feature are able to work on anything they want. Not all of this will ever get committed, but this creativity allows for very rapid growth, and more importantly, keeps these coders interested in the Drupal project. During this phase, anything which will make Drupal better is accepted, even if it breaks existing APIs or makes upgrading difficult. There are many coders who would abandon Drupal for some other platform if this wasn't the case, and I've gotten to know enough geeks that I understand this response. We'd never get such rapid growth without this attitude.
And why aren't people like me helping? Well, here at Openflows we haven't made more than token contributions to D7, because we're focused on client work. We already pad our contracts with enough extra time to write public documentation, patch all problems we find, pay some module developers for consultation or extra features, attend conferences, organize and sponsor Drupal camps (notably DrupalCamp NYC), backport security patches to unsupported branches (currently D4.7), and maintain some contributed modules. Adding to that a substantial number of hours working on code which we won't be able to use for production sites for perhaps a year would be impossible, especially because we focus on non-profit organizations with limited budgets, who pay us less than the usual commercial rates. We understand that working on the development branch of Drupal will eventually pay dividends, but the distance between D7 and what we use today is so great that we can't afford to put in the time now, which we regret but don't see any way around.
So where to go from here? One suggestion has recently been accepted: Drupal 7 developers now provide core developer release tags such as DRUPAL-7-0-UNSTABLE-1 so that module developers can easily work from the same version of core and start porting their code earlier and in a more organized fashion. For our part, we at Openflows will certainly keep contributing to the community however we're able to, because we believe that's how free software works. I'm not sure how the Drupal community will manage this issue while keeping both groups happy, but I'm sure we'll find a way, in part because (as I learnt at DrupalCamp) Angie and Dries are co-maintainers of the D7 branch, and if anyone can handle this issue it's them — they're both amazingly nice people for whom I have an enormous amount of respect. Best of luck with D7!
