In this podcast, Kent Bye talks with Jeff Eaton and a couple of the top Drupal core contributors from Drupal 7, Daniel "sun" Kudwien and Nathaniel "catch" Catchpole. They discuss the maintainability of Drupal core, a retrospective of the ups and downs of the Drupal 7 development cycle, and alternate roadmaps for the future of Drupal core. Developer burnout is also becoming more of an issue, and they talk about the importance of recruiting more "code gardeners" to help review and evaluate core patches.
Although the online comments about these topics have been contentious at times, we feel that they need to be discussed, with the goal of improving Drupal for everyone. Listen in for a wide-ranging and engaging discussion about the Drupal project and the concerns some of the core contributors are wrestling with today.
At the beginning of DrupalCon London, one of the top Drupal core developers named Daniel Kudwien (aka ""sun") posted a blog called "The Drupal Crisis" about the woes of the Drupal 7 development cycle. He claimed that "Drupal core is not maintainable anymore. There's too much cruft. Too many half-baked features that no one actually maintains." and that "We need to be a solid framework, and also a basic but extensible CMS, like we've always been."
After lots of discussion on this post, sun wrote a follow-up blog post with a number of conclusions, including, "We need to discuss, propose, agree, and define what we are able and want to maintain in Drupal core," "which core features are actually product features," and "whether we can or want to move product features into a separate product project in the long-term."
The "Make core maintainable" issue quickly turned into a discussion of which modules to remove from Drupal 8 core, and the question of what should stay and what should go led some core developers like Crell, eaton and catch to call for a more defined set of heuristics that the Drupal core maintainers could use in determining what should be included within the Drupal core product.
This discussion eventually led Jeff Eaton to create a spin-off issue called "Establish heuristics for core feature evaluation" that tries to lay out a list of criteria for evaluating which features should stay and what modules should go.
Asking what modules belong in core and which ones should be removed can be answered differently depending on whether you see Drupal as a primarily as a generalized CMS product or whether you see it as a development framework for a specific site. It's actually both a framework and a CMS product, but this tension has brought the Drupal project to a crossroads when trying to make these types of decisions of what to include in the main project and what core developers are responsible for maintaining.
Eaton talked more about this tension between product and framework at DrupalCon London in his presentation called "Product, Framework, or Platform?" Instead of creating a false dichotomy between the Product vs. Framework, eaton is using the term of "Platform" in order to incorporate both the CMS product and anything else that can be created with the module system and development framework.
Catch also took a stab at expanding on the Drupal Framework vs. Product debate in another blog post called "Framework, Platform, Application, Features, Product, Workload" where he reiterates that Drupal is a hybrid of the two. He lays out a more nuanced and complicated 5-layered system for how he thinks of it, which is mentioned in this podcast a couple of times.
At the bottom of his post, catch points to a number of follow-up and related initiatives. Catch and sun created the "Unofficial Drupal 8 Framework initiative" that includes a lot of the low-level API clean-up.
In this podcast, catch and sun talk about the need to simplify and de-couple the system.module's responsibilities in order to do unit testing and make core debugging more manageable. Here's a list of issues tagged as part of this framework initiative.
Another related project is eaton's Snowman initiative in order to create a number of installation profiles that give users a more options for what flavor of Drupal product that they'd like to use. There's also a meta issue from eaton "[meta] More flexibility for core installation profiles."
A related topic throughout all these discussions has been burnout of core developers. Randy Fay held Core Conversation about Burnout at DrupalCon London that is well worth watching. Fay also looked into a lot of research about burnout, and wrote an excellent series of blog posts:
In his Drupal Crisis post, sun says that "there are many more Drupal contributors who kept silent about their personal feelings for too long. In the end, we have several critical communication problems about fundamental topics in our community." This has been contributing to the feeling of burnout.
Bringing up issues and having productive conversations are the first steps to finding solutions. We hope this discussion provides a valuable contribution to the conversation.
Brought to you by the Do It with Drupal Conference October 12-14th, 2011 in New York City.
We've accomplished some amazing things for some really great clients. We'd love to talk about how we can help your next project!Tell us about your project
We have an amazing team of friendly experts in a number of disciplines. We work hard, have lots of fun together, and take great care of our team.See our open positions