Understanding who the target audiences for a product are can go a long way in understanding when and where you should use a product. It sets up questions like, what features do these target audiences need? And, how well does the implementation in a product meet that need? Or, are these the target audiences I need to satisfy?
On the flip side, when developing a product it is helpful to understand target audiences. You can look to see what features a target audience needs and evaluate how well multiple options meet that need for that audience.
I've recently started to ask these questions about Drupal. As a popular CMS that is used to power a significant number of sites this is a topic I expected someone would have dove into already. And, while I've found a number of opinions on the topic I did not find much of an overview. So, after a little digging here is what I found.
Before we dive into the target audiences I would like to note that this is an attempt to document where Drupal is at today and moving towards. This is not an attempt to cover the past and I'm trying not to give my opinion but instead document what's happening.
This is the largest target for Drupal and the one I think I've read the least about being targeted. When we're creating Drupal and using Drupal to build sites we have to keep this group in mind. There's no reason to publish content if you aren't trying to get people to read it, right?
There an easy place to see this in Drupal as a target. Look at how there is a Drupal 8 initiative for mobile. This recognizes the migration of content consumers to different devices. While there are definitely parts of this that play well for other audiences it very nicely targets this audience.
Content Authors and Editors
Drupal is a CMS and someone has to write and manage content for readers. I think this audience has been highlighted through efforts like WYSIWYG in core among numerous other things. Note, if you want to help with WYSIWYG in core there is an issue for it.
I'm calling Admins the people administer the site. They handle module and core updates. They are the ones who may create the user accounts, manage mail settings, etc.
Drupal has long targeted this group. In Drupal 7 the built in update manager is one example. How Drupal has a pattern of settings being stored and changed through the UI making it easy for admins is another.
When I started using Drupal this target didn't appear on the radar. This target has now become one of the most significant and power that Drupal targets. Through the development of modules like CCK (now fields in core), Views, and several others Drupal has put the power to build features, data models, content displays, and more in the hands of people with ideas without requiring them to learn to program. This is a very powerful idea and one Dries has said openly Drupal is targeting.
Developers is an easy group to describe, right? In all seriousness developers is the most controversial group where the Drupal community has the strongest opinions in my experience. Since developers is really a mix of sub-groups I wanted to try and document those.
Front End Developers and Themers
Drupal is targeting front end developers in an interesting way. There are really two groups of these being targeted right now. The more well known of these is typically called themers. Themers are a group of people who can map a design to the Drupal theme (templating) system. They know CSS, how to create templates in the Drupal way, how to override default Drupal markup, etc.
Then there are front end developers from the web at large. In my past with Drupal I've not really noticed these front end developers being targeted. With some of the contrib work in Drupal 7 and some of the efforts going into Drupal 8 I see this group starting to rise up. Some of the decisions being made in the development of Drupal 8 is with this group in mind.
I will personally be interested to see how these slightly different groups who do the same types of things work out as target audiences through some of the changes Drupal is making right now.
Drupal 8 has definitely moved into the realm of professional programmers. It can be seen in how Drupal has added more complex programming concepts. This should not be a surprise since lots of core work comes from consulting companies, companies that have services built on Drupal, and so on. Lots of professional programmers are working on Drupal. Because of this the target audience of programmers is moving to people who can work with these more complex concepts.
Now, I'm not going to go into what a professional programmer has in their expectations other than to note Drupal is being driven by programmers who do it professionally.
Also note, I do consider there to be a difference between software engineering and programming which is not lost here. But, the difference between software engineering and programming is best left for another post.
The popularity of Drupal has lead it to being used on more complex deployments and the rise of DevOps has put it on a lot of radars. Drupal has started to show it is targeting this group through things like the new core release schedule and conference tracks for DevOps.
A Group Drupal Is No Longer Targeting
When I first started using Drupal it was something a weekend warrior programmer could jump in and work with. I know a number of core developers who jumped in this way and eventually became professional programmers because of this. But, over time the ways Drupal is being used have changed, the people contributing to core have changed, the use cases Drupal is being applied to solve have changed, and the people who have been around driving things have themselves changed.
Drupal no longer targets the weekend warrior programmer. In a subtle nuance, much of what those programmers used to do (and what I did when I started using Drupal) can be accomplished through site building.
This doesn't mean weekend warriors are no longer a target. It doesn't mean that weekend warrior programmers are still not around. It just appears that they are no longer a target audience in practice.