why open-source software, and why Drupal?

introduction

As a client you may be considering an open-source solution for your project for a number of reasons. While saving on a license fee is a strong consideration, there are other key benefits, which are likely to be appealing.

  • One of these is being able to make use of many developers and agencies skilled in popular open-source CMSs.
  • Another is that it’s possible to build feature-rich sites that have less exposure to custom code.
  • Finally, most of the best open-source solutions have a clear development roadmap, which gives some reassurance as far as future-proofing goes.

In this post we look at some of the reasons why an open-source solution is compelling and then why, at miggle, we think Drupal represents the best of open source Content Management Systems. We then look a little at how the build process works so that you can think about how your use of the solution will impact how you plan, build and support your project.

why open source?

Free-to-use open source solutions match our ethos at miggle, because to us “free” is as much about freedom as it is about costs. It allows clients to be free of tie-ins and protected from a business continuity perspective.

Some advantages of open source are:

  • Wheels don't need to be re-invented.
  • Clients have limited exposure to bugs.
  • Good open-source solutions will quickly embrace the best of new technology as it happens.
  • Staffing and agency selection advantages – skills and competencies can be described, and suitable candidates judged, on specific experience.

why Drupal?

how miggle came to use Drupal

In the past, we created and launched a PHP/MySQL based open-source CMS at miggle, and had extensive experience of WordPress and MODX. As a result of fine-tuning our knowledge in this area and mapping it to client demands, we now only develop sites in Drupal. The requirements of clients’ websites have grown alongside the profile and size of the miggle business – you can see our extensive Drupal experience in the projects section of our website.

some background on Drupal

Drupal is a free-to-use open-source CMS, with a lean and efficient core, which powers over 2% of all websites. It has a very visible community of over 104,000 contributors who help maintain the project, of which miggle are an active part.

The technology is as much a framework as it is a content management system. It can be extended through an open and documented application programming interface (API), creating an environment where applications run only the code they need. Resulting modules (all open-source) can be distributed through the Drupal main site (contributed modules) or written by anyone (custom modules).

We like it because it suits the medium- to large-scale content-managed builds we work on, suits projects which run in both agile and waterfall methodologies, and provides a consistency of language which makes communication across functions and organisations easier to manage.

how we deliver the benefits of Drupal

Many prospective clients are looking for open-source or Drupal because they envisage as little bespoke development as possible. This is a sensible approach. Bespoke code creates a technical debt that builds up over time eradicating the benefits of having gone open-source in the first place.

managing development

To ensure you get the fullest benefits of using Drupal, we work to established coding standards, coupled with a commitment to look at using contributed modules first – and never hacking the code in existing modules. Where there is a requirement to write custom code or modules, we always look to where we can contribute that code back to Drupal, if we feel it has a wider relevance to the community. This way it becomes part of the wider platform. We believe this community engagement provides many positive benefits to clients as well, and in order to achieve buy-in to this process, we will always take the time to explain and maximize these benefits.

To deliver all of this, our processes and procedures need to be clear, yet flexible. We need to have a shared understanding of objectives and the risks and rewards associated with delivering on them. It’s also key that we share our learnings and skills with clients.

We generally run our projects with a process of Continuous Integration (CI), ensuring that what we build is recoverable and repeatable. Drupal supports this approach and both Drupal and CI work well with both agile and waterfall project management methodologies. This allows us to onboard other developers quickly (be they miggle, clients or other partners) and creates a framework in which we can fully test, iterate and innovate.

ensuring site security via routine deployments

It’s essential with open source solutions to make sure the site codebase is regularly deployed to keep up with patches and upgrades, which will heighten site security. This would generally be one of the components of a post-launch support contract.

If you want to take back control of your web sites and applications then get in touch with miggle to see how we can deliver operational freedom for you in Drupal.