fromJune 2014
Feature:

Backdrop CMS

Setting The Record Straight
1

Image of a tuning fork
Backdrop CMS is a fork of Drupal; it’s a Content Management System for the non-profits and small-to-medium sized businesses of the world. As Drupal moves itself closer to the Enterprise market, Backdrop CMS emerges to meet the needs of the little guys.

The goal of the project is to improve and simplify the code and architecture of Drupal 7 while minimizing the cost to the community. Backdrop was forked from an early version of Drupal 8, just before things started to change drastically: before the adoption of Symfony, before the conversion to PSR-0, and before widespread rewrites of many subsystems.
When Backdrop CMS is released, it will contain many of the same major new features as Drupal 8: configuration management, Views module in core, and rich text editing, to name a few. Each may have a few features the other does not, but the main difference between the two products is the underlying code.

We like to think of Backdrop CMS as the next logical step in Drupal's evolution. If you've worked with Drupal 7 code, the code in Backdrop will look very familiar to you. Modules and themes are written the same way as they were in Drupal 7, with a few minor improvements. You'll spot the differences caused by CMI and the new layout system, but you'll be able to find your way around the files easily. Drupal 8, on the other hand, is quite different.

When Drupal 7 was first released, adoption was slow. It was so slow that the overall number of Drupal installs actually declined for a while. A lot of contributors complained about the scope of changes, and Drupal 7 versions of modules and themes were painfully slow to appear. Yes, there are some complaints after every major release. Change is hard. But big changes are significantly harder.

Drupal installations over time

Backdrop CMS will prevent this cycle of boom and bust by keeping API change to a minimum and adding new features often. Keeping the APIs similar between major versions allows contributed code to be updated quickly and easily. Releasing new features in minor versions every quarter gives people incentive to update their sites, and developers more incentive to contribute to core.

With fewer API changes between major versions, a commitment can be made to improving the upgrade process. Providing a stable upgrade path will assure that everyone can keep their sites up to date without needing to rebuild and migrate. Spoiler alert: You can expect to see an upgrade path from Drupal 7 to Backdrop CMS.

Keeping change to a minimum also allows us to fix bugs in the current version of the software first, and merge those improvements into future versions later. This approach is not possible for Drupal because the different development branches vary so greatly. The Backdrop present-before-future approach benefits people who may be suffering from the bugs, since they will get solutions faster.

With a limited amount of change for any version, you may be wondering how we decide which features should be added now and which later? Or, more important, how are decisions reached at all?

Decision making

When a potentially controversial change is proposed for Backdrop CMS, that issue will be escalated to a Project Management Committee (PMC) for discussion. The PMC for Backdrop will be comprised of committers and developers, but also non-developers and other kinds of stakeholders in the community.

The PMC will evaluate the suggestion against the project's philosophy: Backdrop values end users over coders, and contrib developers over core developers. The product must first be usable, and second, easy to extend.
Once a decision is reached by the PMC, it will be passed back down to the committers in the issue queue, who can act on it accordingly. This PMC model is intended to ensure that Backdrop stays true to its goals, as well as to prevent a bikeshed in the issue queue, and developer burnout within the community.

Principles

Above all else, Backdrop will be guided by one principal: Keep change to a minimum.

Backdrop will attempt to keep change to a minimum in order for contributed code to be maintained easily, and for existing sites to be updated affordably. Every big change will need to be carefully considered and measured against Backdrop's other principles:

  1. Design for the majority. Backdrop core should only include features and tools that benefit the majority of sites that are running it. When making decisions on how to move forward with future versions of Backdrop, we will include opinions of those who are not so vocal online. This means including opinions from individuals who attend trainings, meet-ups, and camps as well as real-world engagements with consumers of Backdrop CMS.
  2. Architect for the majority. Backdrop CMS will aim to be easy to learn and build upon, even for those with a minimal amount of technical knowledge. Direct implementations will be chosen over abstraction, and how things work should be immediately clear and easily documentable. While the more vocal parts of our community may be more experienced developers, we always need to keep in mind the developers who are newer to the project.
  3. Assure Backdrop can be extended. Backdrop aims to provide a powerful core that can be readily extended through custom or publicly available contributed modules. These additional modules can provide desired features that are not implemented in core due to their complexity, or use cases that are too specific.
  4. Meet Low System Requirements. Backdrop must be able to run on affordable hosting with very basic requirements. Achieving this goal will mean not chasing popular trends in technology, but instead adopting proven, common, and learnable systems.
  5. Plan and schedule releases. Each release will contain a planned set of features, and will be released on time. If a feature is not ready in time for a specific release, the feature will get postponed, and the release will still be delivered on time.
  6. Remain Free and Open Source. Backdrop has a history steeped in open source. We believe that open source has the ability to change the world for the better. We are dedicated to continuing this ideal, and all code included with Backdrop is under an open source license that allows anyone to use it free of charge, regardless of their beliefs or intentions. All code included with Backdrop has always been, and always will be, free and open source.

Backdrop CMS is for the Drupal Community

How do you define the Drupal community? Is it the 0.03% of Drupal users who work on core? Is it the 3% of Drupal users you see in the issue queues or meet at DrupalCon, Drupal Camps, or Drupal Meet-Ups? Or does “the community” include the other 97% of Drupal users, too?

Division of Drupal Users

For the sake of this article, let's refer to that other 97% as the Drupal ecosystem, and to the vocal 3% as the Drupal community.

The Drupal community is awesome; a lively bunch of brilliant individuals with amazing skills, varying backgrounds, and insightful points of view. We love all of you, respect your intellect, appreciate your passion, and revel at everything we have been able to accomplish together.

There are a lot of people in the Drupal community who contribute countless hours of personal time because Drupal is something they love and believe in. People don't contribute in the same way when they aren't passionate about what they are working on.

If you love Drupal 7, it's very likely that you'll also love Backdrop; it's just more of the same. There's no guarantee that you won't love Drupal 8, but there's also no guarantee that you will. Much of the Drupal community – and the vast majority of the Drupal ecosystem – has yet to make a judgement.

The Drupal community has collectively created 8,426 modules (not including sandbox projects) for Drupal 7 alone. That number is staggering. Though there is a strong push to help get contributed modules (and themes) ported to Drupal 8, most of them will not make it.

The main reason is that Drupal 8 is different. It doesn't matter whether it's better or worse, easier or harder, or more or less object-oriented. The biggest stumbling block in the porting of modules is simply change.

Code Style

The Drupal community is very busy. There is a glut of work and a shortage of talent, and it's hard to convince everyone to take time out of their days to invest in learning something new.

Backdrop is very similar to Drupal 7. Porting a Drupal 7 module to Backdrop should require only a small time-commitment from contributors. There's not much new to learn.

Backdrop CMS is Also for the Drupal Ecosystem

Drupal and the community around it would not have grown to the size it is today without a healthy ecosystem of organizations that run Drupal sites, companies and individuals that build them, and all the services they both provide. Think for a minute about that ecosystem – the silent majority – the 97% of people who use Drupal but don't participate in the community.

We are event organizers who invite the Drupal-curious; Drupal trainers who instruct newcomers; consultants who advise on large Drupal projects; and contractors often speaking with new clients about moving to Drupal. Through our experiences, we have had the opportunity to talk to hundreds (perhaps thousands) of people in this silent majority.
We often hear the same concerns: newcomers think Drupal is too hard; companies trying to hire can't find enough talent; site owners are concerned about the increasing cost of developers and hosting; and Drupal upgrades are more expensive than the initial site was to build.

Backdrop aims to decrease code complexity, making the system more approachable and easier to learn. A system that's easier to learn will create new developers faster. As the number of people who can develop code increases, developers will become less expensive and easier to find.

Backdrop will perform better than Drupal 7. This focus on performance and a commitment to keeping system requirements low will increase the number of suitable hosting options available, and bring hosting costs down.
Each major version of Backdrop will limit the change in core APIs, decreasing both the time it takes to port modules as well as the cost associated with upgrading sites.

Backdrop CMS Beyond the Drupal Ecosystem

Backdrop also needs to reach beyond the existing Drupal audience if it is to be successful. Backdrop has learned a lot from the Drupal code, process, and principles, but there are many things to be learned from other software projects as well. It's time to appeal to a broader audience and create a product that can also attract owners of WordPress sites and users of other content management systems.

Use the Right Tool for the Job

You don't have to take a side. There are plenty of organizations who use multiple software frameworks for their different web properties. There are plenty of development shops who work with Drupal, WordPress, Joomla!, and other web technologies as well. Backdrop CMS is just another option.

Backdrop will be a great fit for most sites that are currently using Drupal 7 and are looking to update or modernize. A lot of those sites may choose to migrate to Drupal 8 instead. It is important that both options exist, so that everyone can make the right choice for their budget, for their project, and for their team.

  • Wordpress: Great for individuals and small sites that need blog-like functionality. You can host it yourself or have it hosted for you.
  • Backdrop: Perfect for small to medium sized business sites and non-profits. It can run on shared or VPS hosting.
  • Drupal 8: An Enterprise-class solution. If you need a multi-server or special-purpose hosting environment, Drupal 8 is for you.

Ahead of the Curve

Backdrop hasn't gotten a lot of attention yet, primarily because we are way ahead of the curve. Most people in the Drupal community have not used Drupal 8 yet either, and very little of the Drupal ecosystem has looked at either. Most people are expecting that Drupal 8 will be the only logical step forward, and won't bother investigating alternatives until they are ready to move away from Drupal 7.

At some point people will start to evaluate their options. At that time, we're hoping they'll take a look at Backdrop CMS alongside Drupal 8, as well as any other system that might meet the needs of their project.

Backdrop CMS will have compelling features that set it apart from Drupal and improved interfaces that make it attractive to existing WordPress users. Hopefully, it will also have a growing community and ecosystem of its own.

For more information visit http://backdropcms.org

Image: ©iStockphoto.com/smileus

Comments

I heard that Drupal 7 modules might not be compatible with Backdrop out of the box. If that is true, Backdrop's adoption will definitely suffer. Any ideas about this? Thanks for this great article.