Analyzing Drupal core commits

Sometime ago I posted about making a codeswarm video for drupal.

Since that time I was trying to improve it, and now I want to publish the new code(python prove me that it's rock solid faster :-p) and I also made some scripts to create lists of two interesting factors: activity by commits and by modified files. And, by the way, I generated tag clouds based on that info!

Just to remember, I am parsing commit messages in the history(based on the drupalfr git clone) and using the standard way to give attribution to get it right as much as I can. I know I need still to improve it, but I think it's ready to be public :-)

So, the main repository for this scripts is going to be at github with the name drupal-contribution-analyzer.

It would be really nice to discuss about drupal contributions tracking (kind of the phrase I can name this :-p) on a BoF at DrupalCon Copenhagen.

Here you can see the results I have gotten for Drupal 7 development and for the whole history of the development of drupal.

Since, the main maintainers have a lot of activity(maintainers just rocks) I present two results per tag cloud type.

Drupal 7 development history

Tag cloud

Activity by changed files

Normal:


SVG - PDF

Without maintainers:


SVG - PDF

Activity by commits

Normal:


SVG - PDF

Without maintainers:


SVG - PDF

Codeswarm video

Whole Drupal development history

Tag cloud

Activity by changed files

Normal:


SVG - PDF

Without maintainers:


SVG - PDF

Activity by commits

Normal:


SVG - PDF

Without maintainers:


SVG - PDF

Codeswarm video

Comentarios

I'm confused, the following people in your "without maintainers" images are in fact core maintainers:
webchick
steven
drumm
killes

You are completely right. Thanks for the clarification.

What I actually had done for both types(file-changed-based and commit-based activity) was:

  • In "without maintainers" for whole history images, I only did not include Dries.
  • In "without maintainers" for drupal 7 history images, I did not include Dries nor Angie.

In both cases, the reason to make another tag cloud is to make more people visible, since the removed ones are too big in comparison :-p

So, sorry for the confusion.

I suppose I will going to have new version of all this data in some time, when I have done some modifications to the scripts.

Interestingly, not sure whether this was or is intended, the names of (some) people, whose work is tightly connected, appear closer to each other.

D7 without maintainers:
bojhan + yoroy
yched + bjaspan
scor + effulgentsia
crell + berdir
aspilicious + casey
catch + moshe
chx + dww
...ok, it gets fuzzy at some point :P

(Trying to prepare something else on this data in the meantime, not sure whether I'm skilled enough though...)

DON'T EVEN GET ME STARTED ON MATCHING COLORS!
(respecting color schemes)

What's that you're using? Some magic piece of cake? Did you patch some weed into this phython code?

--
PS: Got stuck in my trails; don't think I'm smart enough to handle SVG via jQuery. :-| Yes, using the plugin.

Sorry, I really do not know what is the algorithm that is used in the tags :-p

I was using wordle to generate the image tag clouds(based on the statistics I generate based on commits) and can not see the code for making the tag clouds.

I actually searched a little about how to generate tag clouds and that alternative seems to be the better I could find. I also see other services for that, and also started thinking on tagadelic module, but I was not really convinced.

If someone have suggestions of better software to generate high-quality tag clouds, please contact me.

The tagclouds actually look kinda awesome. A bit like art even.

I don't know of any other code/algorithm that generates equally crispy ones.