Over at Brainnovate, Scott Miller writes that a CMS is bad for innovation. Now his opinion is clearly biased and ignorant of how innovation actually occurs, but there are some points I would like to clear up…
“Just because I haven’t personally used it, I do know a thing or two about Drupal. It *is* a powerful piece of software.”
“However, at the end of the day it is still a CMS, not a framework […] in its own right.”
…and a miss! Actually Drupal is much more powerful than Scott knows. Because it’s both a CMS and a framework with an extensive API.
“Expecting to come up with a great new (rarely or never before seen) idea is unlikely if you are working within the constraints of a CMS, without doing some significant programming on top of it… and then you are basically stepping down to PHP or whatever your language of choice happens to be.”
First, who says you can’t use the lower-level programming language within the CMS? That’s just silly talk. But moving on… I personally do significant programming on top of the Drupal CMS all the time! That’s exactly what you are supposed to do when writing an innovative app that leverages the Drupal APIs. Like… duh.
Scott advocates the Ruby on Rails or Python with Django frameworks. (Perl on Pogosticks, anyone?) But why does he consider Drupal’s framework of APIs (and presumably Joomla’s API framework) more restrictive than the other PHP frameworks available, like Cake or Symphany or Zend? Is this based on previous negative experience with older generation closed-box CMS products?
In contrast, out of the box, Drupal comes with working, well-tested, and pluggable user management, OpenID, access control/permissions, URL path manipulation, form-building, db abstraction, file uploading, site nav/menu/info arch, theming, and content management systems. And it comes with an extensive set of hooks that allow developers to over-ride or extend all of its systems. Far from limiting me to “what’s in the box,” Drupal allows me to use its systems as a true, flexible framework from which to craft a larger work.
If I use a CMS-based framework, I don’t have to build pre-existing functionality from scratch and I can spend more time being innovative. There I said it, Scott! ;-)
Bottom line, the only limitation to innovation I see is Scott’s limited (mis)understanding of what a modern-day, open-source CMS framework entails. But I don’t think Scott is alone.
While I agree with Chx that we should ignore FUD and ignorant mis-characterizations about Drupal, because they are inevitable as something becomes more popular, a question remains…
If open-source CMS systems have evolved to be extensive platforms from which to build powerful web apps, why does a significant portion of the web development community not know that?