On contributing to Drupal 8 [updated]


Recently Drupal 8's development reached two milestones that have created lots of discussion – contrib project maintainers are now being asked to start porting their modules, and two well known core contributors (Dave Reid, Nate "quicksketch" Haug) have asked to be at least partially removed from the list of core maintainers. As a long time contributor, I'd like to share my opinion on these.

First off, on porting modules to Drupal 8

The Drupal 8 codebase hit "code freeze" on July 1st and I celebrated with my family by having a baby. That said, the APIs are not really frozen and there are a lot of agreed-upon major API changes expected shortly, never mind ones that will likely be identified over the next few months. This means that the Drupal 8 API continues to be a moving target and will continue to be so for several more months, which makes porting a module a bit problematic, particularly for people who don't have a lot of spare time on it.

Secondly, on people "leaving" Drupal

Remember that, other than a select few, the majority of core contributors are not paid for their contributions to core, they do so on their own personal time, and this is time that could instead be spent hanging out with (non-Drupalist) friends & family, with new babies, etc. Being listed in the Drupal MAINTAINERS.txt file indicates that you are committing to putting a good amount of time into working on improvements & bug fixes until that release of Drupal reaches its support end-of-life, which could be three to five years after launch.

Lets be clear about this - neither Dave nor Nate are leaving Drupal. Dave has come to the realization that he didn't have time to put the effort into maintaining certain core components (Contact, Path), and doesn't currently have the necessary time to fully learn how rewritten components (Path) work with the new D8 architecture. Because of these, Dave has decided to limit himself to just maintaining the core Token module, along with the large volume of contrib modules he's involved with, most notably the Media module, rather than making promises he can't keep by saying he'll co-maintain Path or Contact.

Nate, on the other hand, feels like the components he put a great deal of effort into for Drupal 7, specifically the image processing system and the image field, are so completely divorced in D8 from what he had written for D7 that he felt it was no longer appropriate to remain as the maintainer of those components. Furthermore, Nate states that he no longer feels comfortable working with Drupal 8, so do not expect to see his (awesome) modules to be ported to D8 any time soon. That said, he is committed to supporting D7 and his D7 modules for some time and will re-evaluate D8 at some point in the future when it's stable & usable.

Don't panic!

In neither case should a Drupal user be overly concerned about either contributor's intentions. I see their moves as a nothing more than the community realigning itself after a) the vast amount of internal changes that have gone into D8, b) the fact that people have lives outside of Drupal. Yes, both Nate and Dave are amazing members of the community, and both really great people too, but lots of others have only started to contribute during the D8 development cycle, so it will survive. And I'm still looking forward to seeing both Dave and Nate at next year's Drupalcon (presuming I go), and also meeting some of the many new contributors.

Pick your battles

Also keep in mind that we now have six codebases to contribute to:

  1. Drupal 6 core
  2. Drupal 6 contrib
  3. Drupal 7 core
  4. Drupal 7 contrib
  5. Drupal 8 core
  6. Drupal 8 contrib

There's only so much time in the day, so you have to pick what you're comfortable with otherwise you're setting yourself up for burnout, and nobody wants you to do that. Remember that nobody's expecting you to kill yourself in the name of the community, any contribution is worthwhile, no matter how small. There's no shame in stepping back, in looking for a new co-maintainer or maintainer for your existing project, the only wrong decision is to not realizing that you need to step back.

My intentions

As for myself, I was never that much of a contributor to core, mainly only interacting with the core issue queue when I came across a specific bug. I've also not had time to get into D8 due to both my contrib work and family life (e.g. aforementioned new baby), and I don't expect this to change any time soon - I'm still trying to get Metatag to a solid v1.0 after all! I'm not going to look into D8 until its APIs are stable (i.e. beta1 if not RC1), Metatag is stable and I get to do some new releases for some of my other modules (CPN, etc), so it'll be Spring 2014 at the earliest before I start porting my modules.

BTW, I'm also looking for a new co-maintainer for one of my modules as I haven't been able to give it the amount of time it deserves, if you're interested just reply in that issue and I'll get you set up.

Update: Nate Haug put his money where his mouth is and created a fork of Drupal called Backdrop which backtracked to before Symfony2 components were added, what might be considered Drupal 7++.

How to reply

Care to add your own 2 cents? Let me know via Twitter or my contact page.