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++.

Kids today *can't* use computers [updated]


This excellent article, written by a teacher in the UK, breaks down the myth that today's kids are geniuses with computers and anything technology-related.

From my own perspective, I consider it to be a distinction between using something and hacking something. I know how to "use" a car, i.e. I can drive it. I cannot, however, "hack" it very much - I can't change the oil, I broke the lightbulb last time I tried to replace one, and the whole engine system is mind-boggling - I just don't have the time or energy to learn how to hack it. When I was growing up I was fortunate enough that there was a computer in the house from the time I was 9, and, after finally getting bored with just games & discovering a desire to know more about it, when I was fifteen I set upon discovering how to hack them - how to manage the operating system, the parts within the computer, upgrade things, customize the software (binary editors FTW!), etc; eventually I started to learn how to build web applications and that turned into my career. This level of interest has always been something only a very small portion of the public have had any inclination towards – most just want to turn on an internet-connected gadget, read crap on Facebook, maybe read email if they're really advanced, watch some cat videos, then turn it off again. Kind of like me and my car – I just want to drive it, it's not important enough to me to learn (much) more.

The difference is, I don't see this in itself being a huge problem. Note everyone needs to know how to strip down and rebuild a computer from the bare parts, just like not everyone needs to know how to take a car apart and rebuild it.

What does not to change is the conventional wisdom that the current generation are geniuses with technology, when really they're just hitting rocks against something until it makes beeping noises. Like me looking at the engine of our car.

Today's generation just has more shiny toys than the previous one, and it's now more acceptable to have them. When I was growing up you could be bullied for having a computer; today you'd be bullied for not having one, or not having the correct one.

As for the educational aspects, I agree 100% with what the author says, that "computer literacy" was quickly turned into "knows how to load Internet Explorer, load Microsoft Word and maybe print something"; for this I blame management at every level of business and government for accepting the marketing campaigns by Microsoft that this was all people needed to know. Heck, even at the computer science level in college the standards are abysmal. Ten years ago when I was a teacher's aid on a computer hardware 101 course in college, I should have flunked the final test for at least 1/3rd of the class because they didn't know a damned thing ("Can you tell me which part is the hard drive?"), and I distinctly remember one girl saying "I don't remember this stuff, but it isn't really important anyway."

So, no, not everyone needs to know how to build a computer, or how to write software, but don't for one minute believe that the current generation are in any way more technically capable than the previous one just because they have more toys.

Update: Someone who I respect immensely wrote a blog post a few years ago about his experiences working for AOL online tech support and a time when he reached a point of understanding that not everyone gets technology, this stuff is hard.

Subscribe to rant