Earlier this week, I wrote a piece on why I'm no longer willing to tolerate Drupal. It got a lot of traffic (for my blog), and a lot of comments.
Most of those comments were "classic apologetics" as one person put it, and upon reading them, I realized that I may not have done the best job of making my point (which boils down to: Drupal takes more effort to maintain than I'm willing to spend). If you missed it, I replied to most of the complaints.
Of all of the comments, though, one really stood out, and rang truer than anything else I've read on this topic:
“I think the problem isn't so much that Drupal didn't work with PHP 5.3 - it's that the Drupal upgrade process is so bad.
In fact there isn't much of an upgrade path for Drupal at all unless you stick only to core (and who does that?)
Drupal has too much "tribal knowledge" of it's own—too much is decided on IRC where it isn't available to more casual users.
More importantly Drupal has rejected great chunks of the tribal knowledge of programmers: OOP helps move projects towards self documentation - while design patterns speed understanding of a new system. In fact Drupal rejects so much that it has even implemented it's own bug tracking and project management tools built on Drupal—that have handcuffed Drupal to CVS for far too long.
Drupal is great for people who don't like programming, who can live with the user interface and don't care what the data model looks like.
It is possible to download Drupal and quickly build a rough prototype with little prior knowledge—or if you really invest in learning the Drupal way you can do pretty much whatever you want with it.
But if you're a programmer at heart and want to use/develop transferable skills maybe Drupal isn't the best tool.
...
There is some awareness of these problems within the Drupal community:
- http://dc2009.drupalcon.org/session/why-i-hate-drupal
- http://www.slideshare.net/walkah/why-i-hate-drupal
”
— Sean Burlington (reposted with permission)
Sean (the other Sean) did a much better job at conveying the point than I did. I think he really hit the nail on the head when he called it "Tribal Knowledge."
More of his thoughts on Drupal.
I helped build two of the biggest Drupal sites on the planet, and have yet to pick it back up again. I can develop with Drupal, but why would I want to? Its neither quick, nor fun, and as you said above it takes far too much effort to maintain a Drupal site than I'm willing to spend.
Drupal is for people who want to tinker. For programmers who want to build something quickly and cleanly there are better tools.
Some of my best friends use drupal,
- Eric Marden
When I was at DrupalConDC, I noticed the tribal thing too... one of the craziest sessions I was in was where a group of people were getting together to build a VPS management module. So they wanted to be able to manage all their VPS's through Drupal. Of course, the regular interface would still have to be functional, so all they were doing was opening another avenue of attack. Disturbing is the polite description.
To date, I haven't seen this in the WordPress community yet, but it may be there.
* I've been using Drupal since Nov 2004 and have launched sites on it since Dec 2004... 30+ to date. I wouldn't call myelf a noob on that one. ;)
Sometimes when your favorite tool is a hammer, everything starts to look like a nail.
It grinds me the wrong way when people take an app like Drupal or Wordpress and tweak it to do more than it should ever be able to do for some specialty task. I get the desire to integrate special features, but is WordPress really designed to be an eCommerce app? No. But that doesn't stop people from trying. Likewise, is Drupal suited to be a good VPS management app? Unlikely. Why not spend the time (since you're going to anyway) and code something built specifically for the task and open source it (or even sell it, for heaven's sake). It would be so much better for the community to have apps doing what they are designed to do rather than trying to fit a bunch of squares into oddly-shaped holes.
Drupal is similar to Wordpress, if you are a user, it's great, but if you are a developer, it's a complete nightmare.
I installed IdeaTorrent (built on top of Drupal) and everyone was happy using it, until someone asked me if it was possible to add LDAP authentication and some other stuff. That day, I discovered the horrors of Drupal. After spending 2 days trying to figure out the whats and hows, we decided to build a much simpler version of IdeaTorrent on top of the Zend Framework, with LDAP and all the stuff they needed. Lesson learned, and I quote you: "Drupal takes more effort to maintain than I'm willing to spend".
Expect the same from Laconica aka StatusNet (it was built with error_reporting turned off!), Wordpress, vBulletin, phpBB, Trac (hell) and all those Web apps. BTW, I replaced Trac with Redmine (RoR) after 2 years of hell and I'm in heaven now.
Accept these applications as they are, and don't try to change them.
Hi Sean,
I tried to use Drupal a few times but I alway found it very ugly on the inside.
The extensions are probably the ugliest part. The idea as great.
There was a lot of buzz in 2009 about using Wordpress as a CMS.
Can wordpress be used as a CMS?
BN