Content Management on the Web has changed. Today.
Today marks the release of Drupal 8, and the birthday of its founder, Dries Buytaert. This release is more than just a new digit, it's an entirely new platform with something for everyone to love, but it's particularly big for web site owners.
What's the big deal? The biggest, most powerful, one of the most successful open source projects in the world has two major, fundamental changes that change everything you thought you knew about it.
Well, not everything. Lots of the things that people love about Drupal are getting some nice improvements:
All of that is great, and we could go on for hours, days about how much of an improvement this is. And that is the stuff you will notice today, next week, next month. But that's not the big change, that's not the killer feature of this upgrade for site owners.
The killer feature is what happens in 6 months, in 1 year, in 5 years. And that is, the great big upgrade cost you don't have, when it's time to upgrade to 8.1.0, or 8.2.0, or even 9.0.0.
Ask any Drupal site owner where their biggest pain is. You'll run into two big complaints: How hard it is to find decent Drupal developer talent, and how painful it is to migrate to the next version. Those both change with Drupal 8.
The current version of Drupal 7 is 7.41. The new version of Drupal 8 is 8.0.0. The next version of Drupal 7 will be 7.42. The next version of Drupal 8 will be 8.0.1. Notice anything different? It's called "Semantic versioning," and yes, it's just one more number between the dots (or added to the end). But the change behind that simple little version number is enormous.
Drupal is changing its entire release process to have "minor" version releases every 6 months. That means 6 months from now will be 8.1.0, and in a year, 8.2.0. These are calendar-based releases that contain new functionality, AND maintain backwards compatibility with the previous minor version. Upgrades from 8.0.4 to 8.1.0 should be completely transparent, nothing breaking as a result -- but new stuff available.
Drupal has never maintained backwards compatibility like this before -- this is a fundamental change in the project, and it represents the maturity the platform has reached.
There will only be a Drupal 9 when there's enough changes that are not backwards compatible that it's time for a new major release. But this "minor release" plan provides plenty of notice of functionality being deprecated to allow people to transition away from those things that are going away, long before 9 arrives.
That means an update to Drupal 9, will mostly be a matter of making sure you've either moved away from stuff being changed in Drupal 8, or have added an alternative. And then update, potentially like any other minor release.
No more completely rebuilding your site in the new version! For the first time ever, major version updates in Drupal should be relatively painless, as long as you keep your site relatively current and pay attention to changes as they develop.
Drupal has always come with a steep learning curve, particularly for developers. This is because it has developed out of procedural code, with a "hook" system and naming conventions that make a lot of things happen "automagically". It takes a couple years to get your head around the many Drupalisms, code patterns, hooks, conventions that are not seen or used in most other projects. You need to be very proficient in coding, using a debugger, and having an open mind to be a good Drupal developer... until now.
"Object Oriented" is a term that came in vogue in development circles... in the 1960s. It became the dominant way of programming in the 1990s, particularly with the rise of Java in popularity, and it's at the heart of .NET as well as many open source practices. And while Drupal uses a lot of object-oriented concepts in its information architecture, it has never been fully object-oriented in its code... until Drupal 8.
Why should a site owner care about this? Two huge benefits -- the same two I'm talking about here:
I think a lot of people in the Drupal community don't fully realize how huge a change this is (and it is interesting to see some backlash to the changes from those who may fear some of this change).
In other words, when Drupal 9 eventually arrives, it won't be such a big deal -- it should be possible to run exactly the same contributed modules for Drupal 8 and Drupal 9, with no changes whatsoever -- and even if something important does need to change, it can be changed by inserting a "shim" class that translates the API changes as appropriate -- it will almost certainly be possible to run Drupal 9 modules in Drupal 8, and vice versa. And you won't have to find a Drupal-specific developer to do this for you, either.
Drupal has long been a compelling platform in terms of functionality, the speed that new functionality becomes available, and the power built into the system. Drupal 8 is not just another release -- it is the maturing of this platform into something that is completely up-to-date and capable of staying that way for at least the next decade, if not more.
If you are looking for a new content management system, a new project management system, a new platform for managing all kinds of communications between groups of people, you can't pick a better base for doing so than Drupal 8. Give us a call, and let's discuss what you want to build!
As you might imagine, we're starting our first Drupal 6 - Drupal 8 upgrade projects now, and should have much more hands-on experience with this process shortly.
The official "End-of-life" date for Drupal 6, when no further security updates will get released, is February 24, 2016. For all those running Drupal 6, this is the target date to have migrations completed.
Of course, if you're on Drupal 6, your site won't suddenly stop working at that point -- it will continue running as is without updates indefinitely. It's just with nobody paying attention to the code, you're incurring a gradual, increasing risk of something going wrong that will be hard/expensive to recover from.
So if you're one of our customers still on Drupal 6, expect to hear from us in a couple weeks about the upgrade process. If you're not one of our customers but are on Drupal 6, we'd be happy to get you to Drupal 8. And if you're on Drupal 7, hang tight -- there are plenty of great reasons to upgrade to Drupal 8, but there is no urgency, and this process will be easier/more complete in 6 months or so.
And finally, as we go roaring into the holiday season, I just wanted to extend thanks to our clients and community for your support of our business, have a great Thanksgiving!
- John and the Freelock team