In the world of Open Source Content Management Systems (CMS), SilverStripe and Drupal share similarities in what they can achieve for web projects. Both Content Management Systems provide powerful tools to build custom web projects and manage complex content/data flows between technologies. However, there are some key differences between the two that are important to consider when you are choosing a CMS for your organisation.
SilverStripe has a Model View Controller approach to the CMS, meaning Developers, Designers, and Content Authors are all treated separately, removing the risk of these user groups stepping on each other’s toes. SilverStripe provides modules to help your team get started quickly, promotes custom code, and encourages your team to go in the direction that will have the best outcome for your organisation. Simply put, your developers and designers have the freedom to create highly customisable sites and applications, which can then be confidently passed over to your content authors and CMS users. It is almost impossible for your admin users to introduce vulnerabilities into a SilverStripe site as development views and functions are not made visible to your content authors in the CMS.
Drupal provides a feature-rich environment for both developers and content authors to create and edit complex websites. Drupal sees their user base as “super users” who possess both technical and content authorship skills. With an abundance of themes and modules available out-of-the-box, Drupal pushes the implementation of projects forward quickly, but doesn’t cater well to making development flexible for your technical teams. With Drupal, features are cheap but details are expensive. Changing a small detail can sometimes take more time than implementing a fairly complicated feature. For your CMS users, the Drupal dashboard can be cluttered and confusing, as it blurs the lines between a developer and a content author.
Content Author experience
Often, you can measure your website’s success by how easy it is for your content teams to create, edit, and maintain content on your new site. SilverStripe and Drupal offer very different experiences to content authors, making this an area to consider closely for your teams. SilverStripe provides an out-of-the-box CMS interface that is simple to understand for non-developers. With easy to configure views, previews, and site tree layouts, your CMS can be made to mirror existing workflows in a way that makes sense to content teams. As a thoughtfully designed interface, your content authors can quickly identify where content exists on your site, in what state content is in, and what changes were last made. SilverStripe 4 puts your CMS user first, and brings a fresh and responsive look to the CMS, helping your content authors easily manage assets and track changes that your team members make on the site.
Drupal provides a more hands-on experience for your content authors, making many developer-related functionalities visible in your CMS. This may work for content teams with higher technical capabilities but, for the majority of teams, this introduces complexity and clutter into the CMS. Drupal is also developing inline / on page editing functionality, which is appealing for some content teams, but does not scale well when the CMS serves multiple channels in addition to the main website. This makes the learning curve for your content authors much higher when they are given a Drupal site over a SilverStripe site. Content teams using Drupal need more guidance when your site is ready for them, and explicitly need to be told what to use and what not to use in the CMS. Drupal’s user interface ambiguity leads to a poor user experience for your content authors and introduces the risk of things being broken or overlooked.
With the rise of headless CMS, and the increasing availability of richer front-end frameworks, the CMS is becoming less important for “site delivery” on the front end, and more important for “content delivery” via the CMS. This makes SilverStripe a future-proof and preferred choice for your content teams.
A CMS that facilitates a high level of flexibility and promotes custom code is essential for your organisation. For SilverStripe sites, having a framework beneath the CMS is a real strength, as custom functionality can easily be built into a site without breaking existing functionality. Your developers will love SilverStripe as it is a robust solution for complex data sets and business logic, giving your teams the ability to start their development somewhere between the framework and the CMS. Building a proof of concept or a bespoke solution is seamless in SIlverStripe, as the framework handles all of the repetitive boilerplate work, and then gets out of the developer’s way. For your organisation, this means a faster build time, and deeper customisations without having to compromise on your design and functionality requirements.
When customising Drupal sites however, it’s often a choice between breaking a lot of out-of-the-box functionality or doing things The Drupal Way, which can result in a finished product that looks like a standard Drupal website. From conversations with developers, it’s been found that teams struggle to easily customise a Drupal site as development often ends up in corners where things just don’t work. For clients, this can result in considerable project delays, going over budget, and a compromise on the design or seamless functionality of the site.
The intricacies of licensing have long-term ramifications for your website. All contributed files that are derivative works of Drupal, and are hosted on Drupal.org, are licensed under the GPL (GNU) licence. The GPL licence allows you to use, redistribute, and change Drupal’s software, but any changes you make must also be licensed under the GPL, meaning you must give everyone else who uses and consumes the software the same rights. Because of this, Drupal’s GPL licence prohibits using proprietary implementations of the software, significantly reducing the number of applications that can be built using a GPL licence.
In contrast to the GPL, which is designed to prevent the proprietary commercialisation of Open Source code, the BSD license, one of the most flexible and liberal licenses available, places minimal restrictions on future behavior. SilverStripe software is licensed under the open source BSD license. SilverStripe’s BSD allows your organisation to do whatever you want with it. For example, you may want to develop a unique and novel solution on top of SilverStripe, and are integrating SilverStripe deep into your product offerings. Under a more restrictive license (such as the GPL), you would be obligated to publish all your custom code if you want to distribute your product at a later date. This would mean giving away your competitive advantage, which you may not want to do, for obvious reasons.
When you choose SilverStripe, you can either enable BSD code to remain Open Source or become integrated into commercial solutions, as your organisation’s needs change. In other words, SilverStripe’s BSD license does not become a legal time-bomb at any point in the development process.
Drupal is bigger and more well-known than SilverStripe, but that doesn’t mean they are a better technology choice for every project. Relative to SilverStripe, Drupal is not as agile nor as reactive to market demands. Both CMSs have similar release timelines yet Drupal has considerably more resources to draw from. When it comes to a team’s learning curve and the time required to implement projects, Drupal consistently underperforms compared to SilverStripe. Their philosophy of tailoring to everyone's needs at once has resulted in a large and overly normalised codebase, that can be flexible but comes with a lot of bloat to do so. SilverStripe, on the other hand, is more nimble when it comes to its direction and ability to develop functionality that benefits its community and customers. Their adoption of agile practices is reflected in SilverStripe’s code and processes, helping technical teams to get complex projects across the line quicker.
Still considering who to choose?
See how SilverStripe stacks up against Drupal with our handy comparison grid outlining the differences.