109: Meet Top Shelf Modules - 1/2 - Drupal contributed module quality

Part 1 of 2: I spoke with the Top Shelf Modules team – Susan Rust, Ryan Cross, Rik de Boer, and Karl Scheirer – on November 4, 2013. In part one, we go over the concept behind TSM, the quality and challenges in the Drupal contrib. module space, Drupal 8 and why it is time to upgrade your modules now (!). In part two, we go into more depth about TSM's mission and discuss the sustainability (or otherwise) of Drupal's volunteer-based development model and the various efforts and experiments underway to change, improve, or "fix" it.

Conversation video

Q: What is Top Shelf Modules?

A 1: Top Shelf Modules ("TSM") aims to raise the quality of Drupal contributed modules (aka "contrib." – the modules that add to and change Drupal's functionality of the Drupal core.) to the standards of quality and reliability matching the success of the platform and the number of people and organizations relying on it today.

Susan and the group's backstory from years of being Drupal service providers: "One of the things I noticed was how much time we spent trying to get module to work. When Drupal core is being built, there is a lot of process, there are checks and balances. We want to see some of those same mechanisms overlaid onto contrib. so that there are higher standards of interoperability, usability, and documentation." TSM has started with a set of 36 modules they want to curate, to bring to the highest possible standards and keep them there. "[In the Drupal world], we think it is normal to spend a good part of our project dollars doing regressive work rather than saying, 'all our modules, our professional tools, should work off-the-shelf pretty well and robustly.' We like to think of ourselves as going towards the Underwriters' Laboratories model for modules."

This is not an app store! Karl points out, "It's important for people to know that everything we do goes onto Drupal.org. We keep everything as open as possible. It's important to us that we stay 'Drupal compatible.' We use the same ideas and ethics that are in Drupal."

A 2: At the same time, TSM wants to financially reward the creators and maintainers of contrib. modules whose code makes it possible for so many people and organizations to earn money themselves using Drupal. As Susan says, "We would like to see writing Drupal modules be its own, viable Drupal profession."

"We're trying to get some revenue flowing into contrib. Contrib. maintainers find it very difficult to make a living doing contrib. and as our projects in Drupal are scaling, we can't rely on having an entire ecosystem built on catch-as-catch-can. We have the concept that we [all] have to be good stewards and recognize that if I am making a living using contrib. modules, I have to share that money downstream with the people who built them. It is a simple logical connection, but the funding just hasn't come from that," explains Susan. TSM has gotten off the ground through sponsorships from Drupal businesses and is hoping to expand its funding base to make modules curation a viable business proposition. "A lot of shops may not be tracking that line item [fixing and patching contrib. modules for every project], and I would challenge them to start doing that. Look how much of your time is spent chasing, hunting, researching, patching modules. What if that could get diminished by 80%? How much would you save? Even 20%!" "This isn't meaningful work" for your developers, "We're not in Drupal to fix potholes, we want to build skyscrapers."

Q: When should I upgrade my modules to D8?

(Given that TSM is all about contrib. modules, this question had to be asked, right?)

A: Now!

Why 1: Learning – It's a great chance to start learning all the exciting new stuff in Drupal 8 core.

Why 2: Help improve D8 core – It's still a great chance to help the core development team find bugs and ways to optimize and improve D8 core while there's still some flexibility there.

As of November 4, 2013, less than 4% of all Drupal 7 modules have been upgraded to Drupal 8. "A lot of people say it's not time yet, 'D8 core beta is not out yet, so why would I bother?'" explains Rik de Boer, "But my approach is that you should bother as soon as possible. There's a lot to learn in D8."

Rik suggests doing an initial upgrade asap to begin learning D8's internals and then "tweak it later" as systems are finalized. Rik contends this will be good for D8 overall, both core and contrib. ecosystems. He says the more Drupal 8 module versions are released, the more momentum the release will have. "It'll send the message that D8 is really happening."

"Don't forget that without contrib., D8 core is not a website. D8 core may be the heart but D8 contrib. is the lifeblood we need to create real, practical websites." In case it wasn't clear, Rik strongly disagrees with those who say to wait until D8 core gets to beta. "There's already a lot to like and a lot that we can use in D8. We just need to build on that collectively."

Susan adds that for people who are concerned about going from being experts in Drupal 7 to newbies in Drupal 8, "There's no better way to get over that than to embrace it, try and fail, and try again and succeed. The more we encourage the community to pick up the tools and try it, the greater that adoption rate ... and then there'll be the clamor: 'Why isn't this out yet? Get it out now!' And that will be good for Drupal as a whole."

Coming in part 2

In part two, we go into more depth about the history and potential future of Drupal development. We talk about TSM's mission and do some comparisons between the various efforts and experiments underway to change, improve, or "fix" Drupal development sustainability, including GitTip, Drupalfund.us, and more.