2.3 What about Drupal 8?

This book covers the steps necessary to build a site using Drupal 7. This choice may seem odd, since Drupal 8 is available. The Drupal philosophy is to provide backward compatibility for data (to make it possible to migrate your site to a new version), but not for code, meaning that every module has to be rewritten between versions to reflect significant changes to the underlying architecture of Drupal. Because of this, there has historically been a lag time of about a year between when a new major version of Drupal is released and when there’s sufficient module support for the new version to truly be usable for new projects.

The architectural changes in Drupal 8 are at a much larger scale than changes between previous versions. Drupal has historically had its own, atypical requirements for how certain programming tasks are implemented. In an effort to attract professional PHP programmers, it was decided that Drupal 8 would adopt conventions and frameworks that are widely used in the broader PHP development community. These conventions are very different from the “Drupal way” of doing things, and some Drupal developers feel like these changes make Drupal less accessible, particularly for small organizations and projects. A group of these developers have started a Drupal 7 “fork” (a new content management system split off from Drupal, but based on the Drupal 7 core and module code at the point of the split) called Backdrop.

As an analogy, imagine a small, vibrant community of philosophers in 17th century Barcelona, where participants only write treatises in Catalan. The use of Catalan within this community is treated as such a given that participants may never have learned Latin, even though Latin is the language of scholarship elsewhere in Europe. In order to increase the influence of this school of philosophy and contribute to conversations happening elsewhere in Europe, a number of influential figures within this group decide that all treatises must henceforth be written in Latin. Other members of the community are disgruntled at the fact that their treatises in progress must be rewritten in Latin. They feel that learning Latin would take too much time and would distract them from their actual work. They see Latin’s case system is as too difficult to learn fluently, and the philosophers are concerned they won’t be able to express themselves with the same nimbleness as they could before. The philosophers with the greatest concerns break away from the original community and continue to develop the same philosophical ideas they worked with before, while maintaining the use of Catalan (perhaps with the adoption of a few more Latinisms as a gesture towards the larger community).

It remains to be seen how many people will adopt Backdrop, and whether the concerns that fueled the origins of the project will in fact be realized once Drupal 8 has been released for some time, and module development does (or does not) flourish for the new version. The fact remains that there are many scholarly sites built on Drupal 7 and Drupal 6, and they all will face migration decisions: to Drupal 8, to Backdrop, or to something else. Drupal 7 will be supported until Drupal 9 is released. This will likely be a few years off; Drupal 8 took more than four years from the time development started until it was released. By building a site in Drupal 7, you can take advantage of the benefits Drupal provides now, while leaving your options open for future migration, depending on how things evolve within the community.