Recognising contributors and contributions to CiviCRM

We've been talking for a while now about how we can improve the ways that we recognise the non financial contributions people make to CiviCRM. This topic came up a fair amount when we designed the partner program - lots of people said things along the lines of "we need to make sure the many non financial contributions people make aren't marginalised by the partner program" and while we agreed it was super important, we wanted to put it on hold until we got the partner program up and running. Well, the partner program is pretty bedded in now so thanks for your patience everyone - we're now  ready to take some steps along this road.

The bottom line is that CiviCRM will thrive in direct proportion to the amount of contributions that people make, so we want to do all we can to encourage contributions.  We think that properly recognising contributions plays a key role in encouraging more of them for a number of reasons, including 1) recognition is a great motivator for a lot of contributors, and 2) seeing how people are contributing to the project is a great way to signpost people who have not started contributing (or who want to increase the amount of contributions they make).  Plus, of course, it is only fair and reasonable to recognise the hard work that people put into CiviCRM.

Before we start, a couple of things to bear in mind:

  • we already do a fair amount of recognising (our active contributors listing, credits with each release in the release blog post, informal thank you tweets and blog posts, etc.) so we aren't starting from zero.
  • we are not attempting to build a perfect system here - just make some significant but manageable iterative improvements on what we do already

Here are our some initial thoughts we had on how we can improve stuff. The conversation started out focused on our active contributors page but widened out a bit as we talked it through. Since we are at an early stage in the process, it would be great to get constructive criticism, ideas and resources from you guys to help us along the way. 


At the moment, we think that our active contributors page is a bit lacking in a few ways:

  • we don't say anything on that page about WHY we have listed someone. This is bad for a few reasons:
    • people don't know what they should do to get on the list, and how they can stay on the list
    • the lack of transparency means we could be accused of favouritism (and even if we aren't accused, may still be thinking it)
    • saying WHAT people have done (rather than just praising them as good contributors) may be a much better way of encouraging contributions
  • the review process for this page happens infrequently on a fairly ad-hoc / informal basis (approx. twice a year) which means it relies too much on imperfect memories: we forget about peoples contributions, make errors of judgement on the time-frame, and so on.


So we brainstormed ways in which we could improve things. And although the conversation moved away from specifically, we think that we'll be able to use the results of this to feed back into that page.

We came up with the following principles

  • details of all contributions should be public
  • we should do more frequent recording of contributions
  • we should record contributions against people, not organisations (thought their employers can 'inherit' these contributions)
  • contributions should be based on completed tasks, not planned tasks / future commitments
  • the system we introduce should not be onerous to update

With regard to the last point, we talked about different ways in which we could collect this information

  • it could be something that the core team does regularly
  • we could delegate it to a group of people trusted recorders
  • people could self report contributions
  • we could automatically collect data (via APIs, etc.)

We brainstormed a quick list of the kind of contributions that we want to recognise / encourage. This list is definitley not exhaustive, but just meant as a starting point to get people thinking.

  • Writing and improving end-user and technical documentation
  • Organizing meetups, conferences and sprints
  • Developing marketing materials
  • Presenting CiviCRM-related content at NPO and technical conferences and meetups
  • Supporting infra-structure
  • Developing training curriculum and materials
  • Bug hunting
  • Adding to the test suites
  • Submitting patches to fix bugs
  • Submitting patches for improved / new functionality
  • Developing / sharing extensions

We also talked about how to store this info.  We thought that making notes on the wiki would be v. simple way to start (since it would be automatically public, etc.).  But such unstructured recording does have it's down sides, and at the moment, we are thinking that 'activities in CiviCRM' is our preferred method, since it is eating our own dog food and it seems more extensible. We also realised that there is a fair amount of overlap with CiviVolunteer and we thought that installing CiviVolunteer and leveraging that to the maximum extent possible would be good practice.

Project plan - phase 1

As usual, we are thinking small steps and do thing iteratively.  Some initial things to get in place include:

  • simple data model (might be enough to just install CiviVolunteer)
  • a view of activities
  • a webform for easier data input

This approach means an incremental improvement on what we are doing at the moment since 1) we are recording more frequently 2) stuff will be made public automatically.  It is also a solid base for us to improve on as we go. We thought we could experiment with this model for while, and review it once we've used it for a bit.

In terms of who will record tasks, we imagine starting with this as a core team task, but think that exploring ways to open it out as we go would be sensible.

Other recognition schemes to think about

There are a few of other recognition sites / schemes that I'm aware of that we might want to look at / get inspiration from as we move along with this.


  • Will be interested to see how you automate it, we're looking at similar badging/gamification on profiles.
  • Public profiles is a relatively big addition to a site that requires some consideration alongside any recognition aspects.

I think the words "active contributor" needs to be defined a bit more.  For instance what about all of us who are active ambassadors that talk  weekly with people looking at evaluating CiviCRM and often extensive time and tend to encourage them to use Civi-specific consultants (yes, we promote you people whether you know it or not), IRC and the forums.  What about those who take time to help with things like the recent backlog of extension testing and bug submissions not just the ones in core.  I think that some form of criteria needs to be clearly defined for whom is considered an "active contributor".  I'm not trying to journal my contributions to Civi either, I get as much if not more than I give back, but I give back substantially from the time I have to give to outside projects.  I am not trying to even be included on any page listing but I think it is often overlooked at what some of us that don't spend all day, every day with Civi do for the community as well.  Using terms like active contributor without defining it belittles the work done by so many that goes unnoticed. I am not here for recognition, I am here to give back to a community that gave me something first and I believe that many people could be considered "active contributors" to Civi. And what about those that donate something besides money? For instance, I donated all of the badge ribbons for CiviCon last year and I'm sure local biz in the host's town also has given items.  Once again, I'm not looking to have my picture on the home page or my name in lights, lol, but I think that recognizing some contributors and not others is unfair to those of that selflessly give to the community without expecting recognition.  By clearly defining the level at which you must contribute to be considered "active contributor" will help people like me (who will regardless continue to give back to Civi) feel less slided and underappreciated.

What about transaltors who is not developers or no affiliated with any developer comapnies?

I'm the one of the such translator, I not for my recognition, I want to thanks others who helped me in Hungarian transaltion process.

I think the main goal was to ensure we recognize everyone who contributes in any way towards the project moving forward. We also want the recognition to be for very specific things, i.e. stuff tht they are doing / have done etc. 

NASACT and r4zoli both make excellent points and we do think having a more structured system will allow us to include both ambassadors and translators who do so much to move the project forward. The kind of contributions michael mentioned was an initial list and definitely not comprehensive. As we remember / are reminded about other ways, its a simple matter of adding to the list and recording it.

Bottom line, having a structured, open and transparent process will benefit everyone. It relies a lot less on what a few folks think of as the active contributors and will ensure we are more inclusive and account for most of the folks


Have edited the post to better convey that the list is a starting point