What is Drupal?
In his keynote at DrupalCon Baltimore 2017, Dries talked for some time about how Drupal is now for Ambitious Digital Experiences. There has been a lot of talk over the last few years, especially since Drupal 8 was release, that Drupal is now an enterprise CMS. With this keynote it seems as though Dries is, in a way, acknowledging this. Ambitious Digital Experiences reads as something more complex than a blog, a brochure site, or sites for SMEs.
With this in mind, and recent discussions about the Future of Drupal, maybe it's time to put together a sort overview of where we are and what we have in Drupal.
Drupal 8 took nearly 5 years to develop and had over 4,000 people contribute code to it. There are now 11 core committers for Drupal 8, with a further 3 committers tasked with Drupal 7. Listed in MAINTAINERS.txt are over 60 subsystem maintainers who oversee the development of parts of Drupal known as "subsystems".
When downloading Drupal 8 the majority of the code sites within the core directory, and from there is split into a number of distinct parts. There are 22 Drupal components, which are independent libraries and don't depend on anything else within Drupal, there are all available via github. On top of are over 70 base subsystems, these may depend on components or other base subsystems, but don't depend on any modules. Finally there's over 70 modules, 5 themes, and 2 profiles, these may depend on any other parts of Drupal core. From these modules there are 12 that are (or were) experimental, experimental modules are here to add new functionality into core for testing purposes, but not yet fully supported.
The documentation for Drupal core is pretty awesome, and well worth a read for those looking for more information on the governance, "gate", or development workflow.