Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Apr 19 2010
Apr 19

I've updated and expanded the slides which I presented at DrupalCon 2010 San Francisco.

I'm now including some preliminary stats for Django (a python based framework), and at the request of @easement (Michael Billings) ground out stats on global variable use in Drupal releases from 4.6 through 7x.

Update: Antoine Beaupré (anarcat) kindly pointed out to me that my LoC slide for Drupal releases was pointing at the wrong numbers (off by one error in indexing!). This is now updated. I'm also posting the spreadsheet itself.

Another update:Mikey_p just pointed me to some metrics he has been working on which look at rate of features being added to Drupal 7: check out http://skitch.com/mikeyp/n9ke2/skitched-20100417-101751

AttachmentSize 251.63 KB 169.07 KB
Apr 08 2010
Apr 08


The image at left is a slide from a deck I'm putting together for possible lightning talk at DrupalCon SF. So far there are 11 slides showing the historical complexity of Drupal in terms of some simple metrics, and comparisons with the current release of Joomla!. The point of this is to try to understand the complexity of Drupal, both historically and in comparison with other frameworks, in terms of software metrics.

Comments, questions, pointers, and insights/opinions are very welcome.

BTW - The Joomla metrics (and the Drupal 7x) metrics are probably not quite right, yet - this is a work in progress. I'm working on metrics for Wordpress and a few other platforms also.

UpdateI presented this at DCSF - thanks to everyone who commented and discussed this with me. The attached file is slides as presented Sat Apr 17, 2010.

AttachmentSize 207.79 KB
Oct 24 2006
Oct 24

The blog post Drupal vs. Joomla - Fight! pointed me to a discussion on the drupal-devel mailing list about the ohloh.net website which tries to gather some statistics/metrics about the code of Free Software projects. Their slogan:

Explore Open Source

Mapping the open source world by collecting
objective information on open source projects.

Anyway, their stats about Drupal and about Joomla! are flawed (for example) because they seem to include the whole contrib CVS tree of Drupal (not just the core Drupal), which is huuuge. But there's no need to use any fancy website anyway, there are Free Software tools out there which can produce some metrics, too.

The following data is generated using David A. Wheeler's SLOCCount (for the respective tarballs of the current stable releases):

Drupal 4.7.4

Total Physical Source Lines of Code (SLOC)                = 8,012
Development Effort Estimate, Person-Years (Person-Months) = 1.78 (21.34)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 0.67 (8.00)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 2.67
Total Estimated Cost to Develop                           = $ 240,198
 (average salary = $56,286/year, overhead = 2.40).

Joomla 1.0.11

Total Physical Source Lines of Code (SLOC)                = 65,880
Development Effort Estimate, Person-Years (Person-Months) = 16.25 (194.94)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 1.54 (18.54)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 10.51
Total Estimated Cost to Develop                           = $ 2,194,486
 (average salary = $56,286/year, overhead = 2.40).

Not that I think these numbers mean anything ;-) Lines of Code is a very, very unreliable indicator for code quality (or anything else, for that matter)...

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web