Backdrop CMS enables people to build highly customized websites affordably, through collaboration and open source software.
Backdrop CMS is for the small to medium sized businesses, non-profits, educational institutions, and companies or organizations who are in need of a comprehensive website for a reasonable price.
Backdrop values the needs of the editor and architect over the needs of the developer.
It's most important that the product first be usable, and second, easy to build and extend. Developers should consider the editorial experience first, the architect experience second, and put the needs of other developers last. Intuitive user interfaces are more valuable than extensive flexibility. When options are presented in the user interface, they should be made as clear and concise as possible.
Backdrop values the needs of the contrib developer over the needs of the core developer.
Core developers should fight the urge to refactor, because small changes in core may result in large changes for contrib. Each major change will be weighed carefully against the principles of the project to determine if the improvements it offers are worth the cost of that change. If a decision is not immediately clear, the issue should be escalated to the Project Management Committee.
- Easier updates: Backwards compatibility is important. Backdrop will attempt to keep API change to a minimum in order for contributed code to be maintained easily, and for existing sites to be updated affordably. Every big change that can't be made backwards compatible will need to be carefully considered, and measured against Backdrop's other principles:
- Simplicity: Write code for the majority. Backdrop 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.
- Focus: Include features 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.
- Extensibility: Ensure 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.
- Security: Keep sites and people safe. Backdrop core should include features that will keep websites, the data within, and the people that use them safe. The majority of security-hardening features should be enabled by default to protect those who know the least, but should not prevent people from going about their daily work.
- Speed and performance: 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 common, proven, and learnable systems.
- Release on-time: 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, but the release will still be delivered on time.
- Freedom: Remain Free and Open Source. Open Source has the ability to change the world for the better. 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.