“Getting off the island” was the motto when Drupal 8 was being developed. And indeed many things “proudly found elsewhere” were brought to Drupal. (Too many for the folks who either have decided to stay on Drupal 7 or have switched to Backdrop.)
However, the traffic on the bridges connecting Drupal island to the rest of the PHP world has been mostly one way.
Drupal users have no doubt helped to improve and develop the off-island code now used in Drupal. But, to my knowledge at least, the official Drupal project is still very much a monolith.
There was a plan, though: Drupal Components do exist. Unfortunately the issue to expose Drupal components outside of Drupal is dangerously close to being 10 years old.
How can interest in Drupal Components exist if they are not properly exposed and practically no-one knows about them? Looking on Drupal.org, there are links to “Try Drupal” and “Download Drupal”, but no links to try or download Drupal Components. Drupal Components are not even mentioned on the main documentation page.
Why should we care about Drupal Components? Aren't they just a maintenance burden? I have long thought that Drupal Components should be considered as strategically important to the future of Drupal. I believe there are good reasons for this:
- Abstracting code into independent components improves the code quality and architecture of the whole project.
- Useful, well publicised independent components give more exposure to Drupal. It is easier to choose the full CMS if you are already using parts of it.
- Popular components should eventually bring contributions from developers who do not use the full CMS, expanding the developer base.
- To fully “get off the island” it would be nice to provide more than just the full monolith. It is critical to the future of Drupal to keep the PHP ecosystem vibrant.
In addition to exposing and publicising the current components, in my vision there is an active intention to refactor existing Drupal core code into Drupal Components. I think it would need a strategic initiative for all this to happen. What do you think, Dries? ;)