Metal Toad has been building applications and cloud environments for some of the most well-known global brands for over a decade. Learn more > >

Drupal vs. WordPress? Who Cares?! They Are Both Open Source.

Every week I hear about someone choosing WordPress over Drupal (or vice versus). While there are certainly differences between the two platforms, they are more alike than people typically care to admit:

  • Both are used as content management systems.
  • Both are written in PHP
  • Both are optimized for the LAMP stack.
  • Both are free open source.
  • Both are supported by massive and highly active communities
  • Both are significantly better than the traditional closed source alternatives that are still entrenched in the enterprise.

For the visually inclined the overlap of just the LAMP stack is shown here:

WordPress vs. Drupal Venn Diagram

The Alternative

Not only is Open Source free of licensing fees, but it is also better than closed source licensed software. A perfect example can be found by looking at the failed Healthcare exchange that Oregon contracted with Oracle to create. Even now in February when visiting the website in Chrome I am prompted to "use Safari" if I want to submit my application online:

Chrome error message on Cover Oregon

I'm sorry did you just prompt me to open a new browser, despite me using a perfectly capable modern browser? Oracle, 1999 called and they want their technology back.

Following the Money

Oregon paid Oracle $90MM dollars (and may owe another $69MM) for a website that failed to launch on time and doesn't work. There are open source powered solutions that support millions* of users (we've supported single nights of traffic of over 2 million page views) and yet billions of dollars is being paid out for technology that is failing. How much money?

* The total population in Oregon is 3.899 million.

In 2013 Oracle brought in $37B - that's just the company, not individuals and other businesses consulting on the technology. In the same year, SAP posted revenues of $22B. It is THESE dollars along with the others being spent in the closed source and license-based technology economy that can, should and will be put to better use when they are invested in open source.

Speak Well of One Another

The next time you are invited to share your opinion on WordPress or Drupal (or another open source platform) I encourage you to speak kindly. Whether a particular project is decided to be built on WordPress or Drupal it is a win for open source and the LAMP stack. In both of these cases the company or entity making this investment will see a huge return on their investment when compared to closed source, so these choices should be celebrated by both sides.

It is the hundreds of thousands (and even millions) of dollars needlessly thrown into licensing platforms build 10 to 20 years ago that should cause to shake our heads and sigh. Let's come together to help make sure dollars are invested where all of our customers will see the best return.

Comments

"Both are built on the LAMP stack".

Neither Drupal or Wordpress is reliant on Linux (Windows) or Apache (Nginx). Drupal, at least, also works with PostgreSQL, MariaDB and Mongo so it isn't reliant on MySQL either. Both do need PHP though.

Hi Oliver,

While it's technically true you don't need to run Drupal or WordPress on the LAMP stack, I think you'd agree that the vast majority of sites do. We've setup Drupal to work on a Windows IIS server, but the process was extremely painful, and I believe even in this situation the database was MySQL because of the need for most contributed modules.

LAMP stack or not, both systems are open source and have more in common then not. That said, I also amended the article to " both are written in PHP + optimized for the LAMP stack." I hope you find that more accurate. :-)

Joaquin

Windows painful? Oh dear, if ONLY painful it is great result. The better is to make suicide than try to run Drupal seriously on IIS/sqlsrv. Compatibility? Close to zero. Performance? Under zero... At lease memcache and mongo are helping a little.

But here in eastern europe M$ bribed all government to run everything on their software...

Yeah sure it is more painful on Windows, however I have a few sites running on windows (on both iis7 & apache - all with mysql) and they aren't that bad.

The downside to free open source is that it is difficult or impossible to make a living supporting it. Therefore it is not anyone's job (with few exceptions) to maintain their code (core or contrib). The maintainers do it as a gift to the community. This leads to burn-out and to bugs left unfixed (or worse, bug fixed un-committed) for years.

I'm not sure how to craft this, but some sort of system where the millions of Drupal sites pay a small fee to support key developers would result in better Drupal for everyone.

The massive incompatibilities between Drupal 7 and 8, coupled with the massive amount of O-O education that many PHP developers will need, will make the problem of relying on financially unsupported maintainers evident.

Example: Drupal gives no indication when you can't log in because you have cookies disabled. The issue is about a decade old, with multiple viable patches. It is no one's job to push a solution through. Somehow, we need to make this someone's job.

What FOSS project are you referring to that has unfixed bugs? Linux seems to be doing pretty well as are Drupal and WordPress.

It's worth reading the Cathedral and the Bazaar for a take on how and why open source projects lie fallow. Ultimately open source communities decide collectively what to support and what to abandon. I believe that this process is a lot more healthy than the closed source model where software that should be completely scrapped is continued to be sold to non-technical customers who trust salespeople who's primary motivation is selling licenses (which to be fair is how they feed their families). In open source it's the people on the ground - the developers - who decide whether a project should be reinvested in on the merits of the code itself.

I'm referring to unfixed bugs in Drupal, specifically this at-one-time-marked-critical 10.5 year old open bug:
https://drupal.org/node/2946

Or maybe this year-old gem that crashes apache without giving any error message, making it very hard to debug:
https://drupal.org/node/1917530
It has a trivial fix, and a patch for it.

As Dries says, Drupal is always a little bit broken. What it needs is someone whose job it is to fix / maintain / enhance / document / port key parts of it.

As an example, the webform module has 400,000 reported installations. That's 4 in 10 Drupal sites. The module is huge and maintained by essentially one person. Who is going to invest the hundreds -- maybe thousands -- of hours of work to port this to Drupal 8? For free.

People like to work on cutting edge core features. They don't like to document, close bugs, test bugs, and work issue queues. Yes, people do this, but they don't like it, and they don't do it as much as is needed.

I for one would happily pay a little to make Drupal more reliable, better tested, and better documented. Both core and contrib.

One idea: You pay to submit a support request. You get a credit if you successfully answer and close a support request. You pay to report a bug, but get an offsetting credit if you post a patch to fix the bug that gets committed. You get a credit if you test someone's patch. Any profit goes to the maintainers.

Or maybe you pay an iTunes-like price to download a module - $1 to $2. Some of that goes to the maintainer. Some to those who help with the issue queue. Popular modules get more money than obscure ones. If your site used 30 modules, isn't a 1-time fee of $30-$60 more than reasonable to use the tens or hundreds of thousands of hours of work of others? Want to upgrade to the next D7 release? Pay a buck.

Hi Dan,

If you are in the development space it is really worth reading the Cathedral and the Bazaar. It's actually available online for free and talks specifically about why only one person should be responsible for maintaining open source projects - although the contributions actually come from hundreds if not thousands of people. The author makes specific references to the seminal programming book the Mythical Man-Month, which described the phenomenon that you see in programming of not just diminishing returns when you put more programmers on a project, but more programmers past a certain point actually makes things worse.

In the article on Cover Oregon I referenced, it is clear that the folks at Oracle either are unfamiliar with or ignoring this principal of programming given the way they tried to solve the problem:

"After the site's high-profile failure to launch in October, Oracle threw a 165-person army of contractors at the problem."

165 people? What the hell did they expect would happen? Of course the project failed and continues to fail.

As I mentioned, both the above books are well-worth the read and the Cathedral and the Bazaar - written by someone who was initially a skeptic of open source - may impact your outlook on open source development.

I read the wiki on the Cathedral and the Bazaar. I don't see how this applies. I am not suggest that Drupal development not be open or be done in secret or that may eyeballs on the code aren't good.

I'm suggesting that it is not reasonable to expect a programmer to work for free on some of the big tasks, such as a D8 port of a big module. I'm also saying that people should be willing to pay to make Drupal better. And I'm saying that when it isn't anyone's job to make sure that patches get committed, they often don't. This causes people to stop submitting patches.

Let's take a look at the data on Drupal:

https://www.ohloh.net/p/drupal#

Here are some highlights:

  • 360 commits over the past 30 days & 4,595 commits over the past 12 months.
  • 6 contributors this past month, though there are spikes where as many as 36 people are committing code - and 149 people have contributed to the project.
  • There are over a million lines of code, with an estimated 284 years worth of effort since 2000 when the project was started.

This is not a project in crisis or a model that doesn't work.

People data of Ohloh is irrelevant. We don't credit commits with authorship but with a mention is the commits message, so it is by far more than 6 contributors and quite more than 149 in the past year. 6 is the number of core maintainers who can accept and push code.
See ericduran.github.io/drupalcores/ for more accurate data.

This is awesome! We love data.

It sounds like while my numbers may have been off (like by an order of magnitude) my point that the project is alive and well is being supported even more so by these number numbers.

As aside, it's nice to see Metal Toad on this tally, but I think we need to do a little work to make sure we're ranked better than 104th among contributing companies. :-)

Yes, the fun new initiatives have responsible leaders. The boring tasks of D7 maintenance and documentation don't attract much effort. Left to their own, developers develop what's fun. Hey, hell, I hate writing documentation (outside the scope of the code) too.

It is difficult to get Drupal 7 patches written (usually has to be Drupal 8 first, which may be completely different, then back port to 7), then good luck getting them committed. Perfectly good patches sit for months or years because its no one's job to commit them.

And what about important contrib? Many of these modules are maintained by volunteers that aren't sponsored by major Drupal vendors.

I like Drupal as much as the next guy. The system maybe better than closed proprietary code, but it sure can be improved. I'd be interested in hearing ideas for making it someone's job to enthusiastically tend to maintenance of current core (i.e. 7.x), current contrib, and future contrib (e.g. webform 8.x).

Just because the two are on a lamp stack, doesn't mean they overlap near as much as the diagram. Development in the two is vastly different. I'm not saying one is better than the other, except that Drupal is more secure and Wordpress has a much better upgrade path than Drupal. The cost of the Oregon site probably had little to do with licensing fees and more with bad decisions by the Oregon government to attempt to do something so complex with a vendor who threw out a ridiculously high number without reminding them of the low ROI. Let's say they did it in Drupal, which would be a dubious decision. How much would it cost every few years to migrate everything to the next non-compatible major version? My point being is that the benefits of open source are not necessarily the costs. It's more that you have access to a huge community of developers once you realize that a certain vendor can't do the job at the agreed price.

Hi Jason,

I don't think Cover Oregon (or any health exchange) would be a great fit for Drupal, however I do believe that an open source consultancy could have delivered a working site on time for a fraction of the cost. (I'd estimate hundreds of thousands for the actual technology, and around a million or so once you account for the compliance and regulations required).

Oracle's failure on the exchange is not coincidental. I've had to interact with their software running a business in the state for years and it's always been painful. I'm sure they have very smart people working there but I don't believe it's possible for a single company (no matter how big) to keep pace with open source projects. The amazing book the Cathedral and the Bazaar by Eric Raymond does a great job of reflecting on how and why open source is such a powerful model for development.

Joaquin

I tend to disagree - due to WordPress having backwards compatibility between major versions it suffers from an architecture built for blogging. People then shove other functionality into it creating what a friend refers to as "Frankenblogs". Technical debt is easily created - I always see WordPress people coding lots as opposed to Drupal where most of any code you write is 'glue-code' to join various functionality (core and contrib modules) in order to customise to your particular needs. Personally I'd rather use mostly tried-and-tested code from experts as to code from implementers.

Drupal on the other hand, is a web app platform - a kind of Linux for web apps. It's always been a platform and thus out-of-the-box seems more confusing, however that's up to the implementer to make it super-simple for their client to use. There are plenty of distributions of Drupal for specific uses - intranets, ERP, ELMS, etc. - none I would even contemplate trying to build with WordPress.

Sure, let's get people to use more Free/Libre Open Source Software, but let's not let SMEs miss out on the huge amount of enterprise knowledge and functionality which Drupal has been amassing over the last 13 years by giving clients blogging software and 'pages' just because it's Open Source and initially easy-ish to manage. Drupal 8 certainly helps make it easier with WYSIWYG, inline editing, etc.

It's easy to dismiss WordPress as a "blogging platform", but I wouldn't look at individual developer bad practices and define them as the platform ethos. I've seen plenty of really bad Drupal implementations (hacked core, SQL in the theme, etc.) but the problems there were with bad implementation.

I've posted before on why more people select WordPress than Drupal to build sites and I think in many cases choosing WordPress as a base to build an enterprise-level system may be "less good" than Drupal but there are amazing WordPress consultancies that use that platform to really deliver amazing things.

So in the broader scheme of things what you can do in WordPress or Drupal is lightyears ahead of what Oracle or SAP (or any closed-source platform) can deliver.

As a Drupal developer, I completely agree. I live in a city with a tech community that is filled with primarily Wordpress developers, and whenever we all get together to work on community open source projects, nobody scoffs at each other. We have a site that serves as a directory for local digital creative talent that is based on Wordpress, and another open data platform running on Drupal. We all help wherever we can because we love open source and either way helps us continue benefiting our community.

Despite some of the negative comments above, I agree, it's a great article. We all have our pick of poisons, but ultimately we should just pick what can get the job done while supporting open source.

Thanks for a great post Joaquin. It aligns with something I often find myself saying...

And that is this: Wordpress and Drupal are like athletes from the same team. Sometimes they compete in the same race and one will win. More often though they train together, make each other work harder, learn together, improve together.

The web is a big place, and the people who use it have a diverse set of needs, sometimes Wordpress is a better choice, sometimes Drupal is, but either choice is a win, because it's Free and Open Source Software.

First, I agree with the sentiment that WordPress is not the enemy. And neither is any other technology, proprietary or not. Every platform has a use case. Some just make more sense than others.

Second, the Drupal ecosystem is not in good health. Their are more than 25,000 modules+sandboxes. A user's worst nightmare. We sell Drupal because of the wondrous modules but we don't tell buyers that many of the modules are broken and aren't going to be fixed. Worse yet, the number of commits and issue queue comments have been flat since 2011. I can send you a graph if you're interested.

Why has this happened? Many reasons but ultimately because free module work isn't sustainable. Few can and should give away their time and talent. As result, anyone who has tried to build a site with Drupal 7 finds modules with critical bugs, not in full point release and unmonitored issue queues. While modules are free, they cost each and everyone one of us on every project to find, research, test and patch.

Modules are also more complex today. It's hard enough to maintain a module but with so many dependencies and interoperability issues, it's challenging to chase down issues, verify bugs, fixes and new features.

As a community, we need to rethink the Contrib Module space. Why? Because Drupal's adoption rate is declining*. Yes, it's growing because the CMS universe is expanding but our percentage of the marketplace is not. I firmly believe the collapse of the contrib space is a significant contributing factor.

"Drupal is used by 5.4% of all the websites whose content management system we know. This is 1.9% of all websites." ** The room for growth here is dramatic. What if we had 5% of all websites? That would mean 250% more Drupal business for everyone.

This isn't meant to be a negative or a scare tactic post, just a point of view that while Drupal may be humming along from an engineering view, those of us looking down the road 3-5 years out aren't that encouraged with today's forecast. If we're losing 12% market share per year (our decline over the last 12 months), the future can start to look bleak. We need to turn current trends around if Drupal is to be a viable in 2020.

Karl Scheirer and I started Top Shelf Modules to inject revenue into the contrib layer and provide modules with a Quality Badge like Underwriter's Laboratory. These two strategies make contrib sustainable and customers happy.

There's a homemade video here, it's not fancy but you'll get the idea: http://www.youtube.com/watch?v=8jK9P7rMlo4. It really is relevant to some of the comments here especially Dan Chadwick's and penyaskitos so only partial shameless plug. Would love to hear feedback and ideas, we're new and paddling hard to get off the ground. I love and adore the Drupal community and have been here since Drupal 4.7. I'm fully committed to the community and open source and trying to find new solutions to make it better.

Third and last, did y'all know that Joaquin is a really good dancer?

* http://trends.builtwith.com/cms/Drupal & http://w3techs.com/technologies/details/cm-drupal/all/all
**http://w3techs.com/technologies/details/cm-drupal/all/all

Hey Susan,

Thanks for the props! :-)

As far as Drupal goes, I can't argue with the slow down in adoption, but I don't think that a messy contrib library is a sign of bad health for a project. As we know Drupal is a do-ocracy, and it's also available to the public. It's natural that things will be released and then not followed through on or (more importantly) eclipsed by better solutions. It might be a good thing at some point to sunset some of the cruftier contrib modules, but that's also accomplished every time Drupal moves forward to a new version of core.

Is Drupal the future? I don't think so. But I do think Drupal - and it's open source cousins - is a much better choice for building on then a closed source system. If you think the Drupal project looks bad, you should spend some time investigating true legacy code in the enterprise. We're encountered examples where it was literally two full-time man-weeks to change the color of links within a web-based ERP. By comparison literally ever open source platform out there is light years ahead.

Joaquin

Like it or not, but Drupal is a product of human laziness and greed - to build a hassle - free and really powerful apps you need to use frameworks like Django or Rails, even if your ass itches of the learning curve. As any LAMP, Drupal is slow, Drupal is full of bugs, Drupal is "all or nothing" and Drupal is unintuitive collection of ideas that do not perfectly fit a philosophy. Drupal tries delude the lazy by giving a bunch with a very narrow space of tuning things or upgrading them.

Hi Dmitry,

You are welcome to your opinion, but I think it would be better received if it were backed up with some concrete issues.  Tossing out LAMP along with Drupal makes me wonder where you've spent the majority of your programming hours.  We are fans of Django too, though it's not a great fit for every project.

Joaquin

Django gives you really EASY API integration (DRF to name one, easy integration of AngularJS) way and many great contributed apps you activate on a hassle-free way without having to use huge and slow Drupal core, breaking drush, conflicting modules, being forced to apply patches to buggy modules, having to deal breaking javascript and miriads of hooks (you have signals in Django as well, but its much more elegant way). In Django, as opposed to Drupal, you're taking as much as you can, without being forced to take the jet to make it a boat. And yes, Django makes you work in the shell which takes more abstract thinking, remote and local memory, more effort to build powerful things, but the effort is worth the result. Philosophy of "easy way to hard to achieve goals" that Drupal uses, is wrong. The only problem with Django - you have to learn it, there's no escape of getting over abstract concepts, and as opposed to Drupal, Django discourages complexity and encourages simplicity and reuse (DRY).

And yes, Joaquin, there are situations when from the pure business perspective Drupal is the way to go - those are the cases when a client does not have sufficient funds, time is limited and skill set from the hired employees does not allow teaching everyone Python or Ruby.

Another issue with Django - you HAVE to work in Linux shell to make thins happen - Drupal allows you configuring much more at a lower price and out of the box compared to Django Admin, where you have to build everything but contributed code yourself - there's no escape of building models, but if you're a programmer it's not a problem. Not everyone has time and money, that's true.

Most of my time I spent coding Python and Node, but there were times when I was using Drupal, but as I was closely observing what and how people do - I came to the conclusion that Drupal's ethics is a viral neurosis rather than necessity, an unwillingness to code using commonly known design patterns, unwillingness to learn the internals and coding practices, the fear of abstract, making things complex for no reason and compromising quality in favor of speed. Many Drupal projects start as a huge hope and stop as a painful unsupported monster that needs to be migrated or will stay with some modules abandoned. There's no evolution of thought, no concept improvement, no smooth migration as opposed to Django.
http://weblance.com/blog/drupal-war-fueled-idiots-leaving-clients-dead/

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <cpp>, <java>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.

About the Author

Joaquin Lippincott, CEO

Joaquin is a 20+ year technology veteran helping to lead businesses in the move to the Cloud. He frequently speaks on panels about the future of tech ranging from IoT and Machine Learning to the latest innovation in the entertainment industry.  He has helped to modernize software for industry leaders like Sony, Daimler, Intel, the Golden Globes, Siemens Wind Power, ABC, NBC, DC Comics, Warner Brothers & the Linux Foundation.

As the CEO and Founder of Metal Toad, an AWS Advanced Consulting Partner, his primary job is to "get the right people in the room".  This one responsibility is cross-functional and includes both external business development functions as well as internal delegation and leadership development.

A UCLA alumni, he also serves in the community as a Board Member for the Los Angeles Area Chamber of Commerce, the Beverly Hills Chamber of Commerce, and Stand for Children Oregon - a public education political advocacy group. As an outspoken advocate for entry-level job creation in tech he helped found the non-profit, P4TH, an organization dedicated to increasing the number of entry-level jobs in the tech industry, and is in the process of organizing an Advisory Board for the Bixel Exchange, a Los Angeles non-profit that provides almost 200 tech internships every year.

 

Ready to get started?