Active contributor framework step one: collect data

Published
2016-05-13 02:39
Written by

It's been on our agenda for a good while to improve the way that we recognize the contributions people make to CiviCRM. I'm pleased to report that we've made some decent progress on this front.  We now have a way to regularly 'poll' 'sources' for 'tasks' completed by 'contributors' to CiviCRM.

We're recording completed tasks at https://contributors.civicrm.org. This site will eventually turn into an API for consumption in different places like civicrm.org or your own professional/personal website.  While that side of things is built out, I've scaffolded a UI that helps you visualize what's happening.  You can see the most recent tasks that have been polled at  and a prototype 'hall of fame'.

By default the hall of fame is based on all tasks from 1 year ago until today. You can use the parameters since, until, type and subtype to get more specific, for example:

  • https://contribtors.civicrm.org/contributors/?since=1-1-2013&until=31-12-2013 - stuff that happened in 2013
  • https://contribtors.civicrm.org/contributors/?type=extensions - only show extensions
  • https://contribtors.civicrm.org/contributors/?type=nodes&subtype=blog%20post - only show blog posts

We're currently polling for new tasks every half hour so the hall of fame should be fairly up to date, but the list is by no means complete. We're currently polling for:

  • commits on any https://github.com/civicrm repository
  • nodes published on civicrm.org
  • comments made on any civicrm.org nodes
  • extensions
  • extension releases

There is a lot more that we'd like to see recorded - there's more stuff happening on github (comments and pull requests for example) and we are yet to look at anything on StackExchange or Jira.

It's fairly simple for anyone with php skills to create a poll that collects tasks.  You can run the active contributor framework locally (it's a symfony3 app). See the README  for more details and https://github.com/civicrm/civicrm-ac/tree/master/src/AppBundle/Utils/Poll for a list of existing polls (some are WIP). The github commits poll should be fairly easy to get your head around.

There is of course a lot more to build out, and you are welcome to join in building it out. Some highlights from the roadmap:

  • aggregate contributions from individuals into the organisations they work at
  • produce easy to digest at a glance summaries of contributions for organisations and individuals
  • create a UI on civicrm.org to display contributions on civicrm.org/contributor/[contactId] urls.
  • create a hall of fame for unknown contributors (we don't know all of our contributors and we'd like to ensure they get recognition for their work)
  • create a fair and effective ranking mechanism

If you'd like to get involved, ping me in the community channel on send me an email (michael@civicrm.org) and I'll get you plugged in.

Filed under

Comments

If you comment on a blog post you get 1 point!

i think attendance at a sprint or CiviCon should get points (probably quite a few for the former)

 

sprint attendance is a major commitment and requires a lot more points, than a +1 comment on a blog post. In general sprint attendance kinda is a good path towards getting folks to becoming bigger contributors

 

I'm not sure we should focus at this point on how we add together different types of contributions. I think it would be appropriate to have separate tracking for things like StackExchange (http://civicrm.stackexchange.com/users?tab=Reputation&filter=all), code commits (https://github.com/civicrm/civicrm-core/graphs/contributors), extensions authored and maintained (https://civicrm.org/extensions), and committee work on things like security, marketing, and so on.