An analysis of Drupal major version adoption
TL;DR We need to ship D8. ;)
I was sent this question today from a co-worker:
"We always talk anecdotally about how Drupal adoption slows before a new release and then picks back up. Do we have any data to support that for Drupal 7 or Drupal 6? I’d love to know the impact of Drupal 8 as well – but not sure that’s possible. Any thoughts?"
This is a great question, but since email is where information goes to die ;), I figured I would copy my response into a blog post as well.
Show me the data!
Since D8 has been in development so long, we don't have enough data showing on https://www.drupal.org/project/usage/drupal anymore since it prunes it after 3 years. :(
Here's a graph I made from trawling through historical data on https://archive.org/web/ though (source):
This only goes back to June 2008 which is after D6 came out, so it's not ideal, but we can still glean some useful data out of it.
Drupal 6
Here is a screenshot of the data from just prior to Drupal 7's release in January 2011:
- In December 2008 there were 77K installs of D6 (compared to 0 in January since it wasn't out yet :)) (77K% increase). This is when D7 was in active development.
- At the end of 2009 there were 203K installs of D6 (163% increase). This was when D7 was in feature freeze.
- At the end of 2010 there were 323K installs of D6 (59% increase). This was when D7 was just about to ship.
- At the end of 2011 there were 292K installs of D6 (9% decrease). This is when D7 had been out for about a year and several key contributed modules were ported.
- D6 usage has been declining ever since, and is currently at about 135K installs.
Drupal 7
Here is the data from 2011 to today:
- At the end of 2010 there were 6.5K installs of D7. This is when D7 was just about to be released.
- At the end of 2011 there were 230K installs of D7 (3438% increase). This is when D7 had been out for about a year and several key contributed modules were ported, and D8 was just beginning development (was mostly D7 bug fixes at this point). Of note, D7 usage eclipsed D6 usage just a few months later (Feb 2012).
- At the end of 2012 there were 522K D7 installs (127% increase). This is when D8 was nearly done with feature development.
- At the end of 2013 there were 728K D7 installs (39% increase). This is after D8 was in code freeze.
- At the end of 2014 there were 869K (19% increase). This is when D8 was in beta.
- As of last week (mid-2015) there were 984K installs (13% increase). D8 is currently still in beta, with ~25 critical issues remaining before release candidates.
Patterns
There are a few patterns we can discern from this data:
- There is an enormous uptick in Drupal usage every new major release (though it's delayed until it reaches a "stable" state, i.e. after enough contributed modules are ported).
- After that initial year or two of exponential growth, it slows down a lot.
- The closer the next version is to being released, the slower the growth is of the current version. Generally, this is because people will postpone projects and/or use non-Drupal solutions to avoid incurring a major version upgrade.
- Usage of the older stable version starts to decline after the newer major version reaches the "stable" state.
Why Drupal 8 will make this more betterer
There are a few enormous shifts coming with D8 that should change these patterns significantly:
- Drupal 8 is much more fully-featured out of the box than any of its predecessors, so for many sites there is no need to wait on any contributed modules to begin building. Therefore we reach "stable" state (for sites that can do what they need to with just core) at Day 0, not 6-12 months later.
- A number of key contributed modules that delayed porting of other key contributed modules in D6/D7 (Views, Entity Reference, Date, etc.) were moved into core in D8. So they're available right now—even before release—to build on. And indeed we're seeing other big ecosystem modules (Commerce, Rules, etc.) porting now, while D8 is still in development.
- D8 will end the 3-4 year "big bang" release cycle. Instead, we'll be doing "small bang" releases every 6 months with non-backwards compatibility breaking feature/API improvements. That means we should hopefully stave off adoption decline much longer, and possibly even sustain the "hyper adoption" rate for much longer.
- We will still eventually have a D9 "big bang" release (3-4 years from now) with backwards compatibility breaks, but only after it's amassed enough awesome functionality that couldn't be otherwise backported to D8. This will provide us with another "epochal" marketing event that D8 is giving us today (well, soon) in order to drive adoption even further.
Sorry, that was probably Way Too Much Information™ but hey, the more you know. ;)